Som*_*DOS 7 linux firewall internet
有时我将应用程序上传到没有外部互联网访问权限的服务器。
我想在我的机器中创建相同的环境来测试应用程序中的一些功能并避免错误(比如从外部源读取 rss)。
我想只是拔掉我的以太网电缆来模拟,但这似乎过时了,我不知道与服务器的限制相比,我是否会在这样做时引发相同的异常(特别是在 Python 中)。
那么,如何在我的开发机器中模拟“无外部访问”?“停用”我的以太网接口并稍后重新激活(使用“无障碍”命令)是否与没有外部访问的服务器具有相同的行为?
我正在使用 Ubuntu 10.04。谢谢!
mat*_*tdm 10
删除默认路由应该这样做。您可以使用 显示路由表/sbin/route,并使用以下命令删除默认值:
sudo /sbin/route del default
Run Code Online (Sandbox Code Playgroud)
这将使您的系统连接到本地网络,但不知道将目的地发送到哪里的数据包发送到哪里。这可能非常准确地模拟了“无外部访问”的情况。
您可以将它放回去route add(记住您的网关应该是什么),或者只是重新启动网络。我刚刚在带有 NetworkManager 的系统上尝试过,并且默认设置工作正常,我可以通过单击面板图标并重新选择本地网络来恢复它。NM 可能会在其他事件上自行执行此操作,因此请注意这一点。
另一种方法是使用iptables规则来阻止出站流量。但我认为路由方法可能更好。
你写了
那么,如何在我的开发机器中模拟“无外部访问”?
如何“停用”我的以太网接口并在稍后轻松重新激活?
这是两个问题还是一个问题?我不确定你的意思simulate "no external access"。但是,要停用以太网接口,您可以简单地执行
#ifdown eth0
#ifup eth0
Run Code Online (Sandbox Code Playgroud)
或任何您的互联网设备。这将分别打开和关闭您的以太网接口。