我正在使用Ubuntu 16服务器。
我试图使用iptables将端口从特定的网络适配器和端口转发到lo / 127.0.0.1上的特定端口。这似乎是正确的工具。
举个例子,让我们想象一下我想让适配器ens192将端口8443上的传入流量转发到127.0.0.1:443。我不希望ens192的443达到127.0.0.1:443 ......它应该显得关闭。
为了方便起见,我在全新安装时进行了以下调用(如sudo su):
# sysctl -w net.ipv4.ip_forward=1 # permits port-forwarding
# sysctl -w net.ipv4.conf.ens192.route_localnet=1 # permits routing adapter 2 localhost
# iptables -P INPUT DROP
# iptables -t nat -A PREROUTING -i ens192 -p tcp --dport 8443 -j DNAT \
--to-destination 127.0.0.1:443
# iptables -t nat -A POSTROUTING -o ens192 -j MASQUERADE
但是,这不起作用...浏览到[ip]:8443没有产生预期的结果...浏览器超时。
我已验证服务器在所需端口上正常运行。
我假设浏览器的TCP请求在服务器内发生变化,看起来好像它与127.0.0.1:443联系。然后,当响应时,IP地址转换回ens192的地址/端口,而不是它离开。或不?
“似乎正确的工具”和“正确的工具”在这里有所不同。我怀疑iptables不是很好的不同端口。如果有的话。所以更好的工具是apache2的配置文件。
—
Joseph Van Riper