所以我知道你需要先允许连接(对吧?)
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