iptables:如何将所有8443传入和传出redirect到443

所以我知道你需要先允许连接(对吧?)

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT 

那么你需要设置redirect(对吧?)

 iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443 

那么也允许从8443的传出回应到443(对吧?)

 iptables -t nat -I OUTPUT -p tcp --dport 443 -j REDIRECT --to-ports 8443 

我的scheme:我有一个应用程序服务器本地使用8443,但我希望所有的stream量使用标准端口连接。 我遇到了使用我的安全http端口的服务问题

 ie. https://mywebsite.com **NOT** https://mywebsite.com/8443 

问题:我不确定我的规则是否正确

mangle – 用dport 443标记所有传入数据包(第二个iptables链)

 -A PREROUTING -i eth0 -p tcp -m tcp --dport 443 -j MARK --set-xmark 0x64/0xffffffff 

nat – 更改市场数据包的目的端口(第三个iptables链)

 -A PREROUTING -i eth0 -p tcp -m tcp --dport 443 -m mark --mark 0x64 -j DNAT --to-destination :8443 

filter – 接受新的端口标记的数据包(第五iptables链)

 -A INPUT -i eth0 -p tcp -m conntrack --ctstate NEW -m tcp --dport 8443 -m mark --mark 0x64 -j ACCEPT 

在旧系统上使用-m state --state而不是-m conntrack --ctstate

 -A INPUT -i eth0 -p tcp -m state --state NEW -m tcp --dport 8443 -m mark --mark 0x64 -j ACCEPT 

这是最有效的方式,这是RH实用程序如何默认为本地redirect执行此操作。

在这里输入图像说明

我们正在为在tomcat上运行的应用程序做类似的事情。 不知道OUTPUT语句。 我们不使用这个…另外…你的NAT PREROUTING语句有一个错字?

 -bash-4.1$ sudo iptables-save # Generated by iptables-save v1.4.7 on Thu Sep 19 12:31:52 2013 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [623016:133354762] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 8044 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT # Completed on Thu Sep 19 12:31:52 2013 # Generated by iptables-save v1.4.7 on Thu Sep 19 12:31:52 2013 *nat :PREROUTING ACCEPT [116:5915] :INPUT ACCEPT [2533:132017] :OUTPUT ACCEPT [87137:6439722] :POSTROUTING ACCEPT [87137:6439722] -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080 COMMIT # Completed on Thu Sep 19 12:31:52 2013