背景信息:我已经root了一部android手机并安装了droidwall来访问iptables。内核版本是2.6.35.7-perf。
目标:通过比较使用和不使用代理的流量来测试代理(在端口 8080 上)的效率。
我可以根据 here 中的规则进行测试,而无需通过代理。
方法:我在单个 IP 地址上创建了一个测试网站。我正在使用一个应用程序来监视手机发送和接收的数据包/字节数。
问题:由于未知的背景流量,正在发送和接收不需要的数据包。
解决方案:使用 iptables 只允许连接到一个网站,这样我就可以正确监控流量。
我该如何解决这个问题?
最佳答案
尝试以下操作:
iptables -t nat -A PREROUTING -p tcp -s 1.2.3.4 -j REDIRECT --to-port 8080
iptables -A INPUT -p tcp -s 1.2.3.4 --dport 8080 -j ACCEPT
第一条规则应将所有流量从 1.2.3.4 重定向到端口 8080,而第二条规则则表示接受此类数据包。
现在您应该在 DROP 上设置 INPUT 的默认策略,以便丢弃所有其他数据包:
iptables -P INPUT DROP
小心点。这是一个非常严格的规则。
关于linux - Iptables:重定向到端口 8080 并仅接受一个 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11419470/