Iptables:如何将所有 8443 传入和传出重定向到 443

Iptables:如何将所有 8443 传入和传出重定向到 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

然后您需要设置重定向(对吗?)

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

我的情况:我本地有一个使用 8443 的应用程序服务器,但我希望所有流量都使用标准端口进行连接。我在使用我的安全 http 端口的服务时遇到了问题

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

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

答案1

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

过滤器-接受具有新 dport 的标记数据包(第五个 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 实用程序默认进行本地重定向的方式。

在此处输入图片描述

答案2

我们正在为在 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

相关内容