我想使用iptables将所有传入的stream量从某个端口转发到另一个端口。 问题是预先路由不适用于来自本地主机的stream量。 本主题提出了一个解决scheme
iptables -t nat -I PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8080 iptables -t nat -I OUTPUT -p tcp -d 127.0.0.1 --dport 443 -j REDIRECT --to-ports 8080
该解决scheme适用于大多数情况。 但是,当我连接到http:// myserver:443 ,其中myserverparsing为本地计算机上承载的IP地址,但不是127.0.0.1,它似乎绕过了这两个规则。
有没有一种方法来捕捉从本地机器完成eth0 ip地址的请求?
而不是在OUTPUT规则上执行-d 127.0.0.1 ,你可以做-o lo 。 这将匹配任何通过回送接口的stream量,而不pipe目的地是什么。
另外,即使发送到“ http:// myserver:443 ”,stream量仍然是本地stream量,即使它不parsing为“127.0.0.1”,它仍然会通过回送接口。