NAT/伪装。以前在工作,现在不在

NAT/伪装。以前在工作,现在不在

因此,在至少两个月的时间里,我有一个 IP 表配置,该配置在计算集群上运行,通过头节点为技术上离线的计算节点提供互联网访问。我们最近不得不重新启动头节点,我几乎完全确定它清除了使其工作的任何设置。我能够获取 /sysconfig/iptables 的备份,并且想知道为什么使用此文件的 iptables-restore 不起作用...以下是该备份的内容...

# Generated by iptables-save v1.4.21 on Wed May  9 09:36:22 2018
*filter
:INPUT ACCEPT [1:36]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [1294:196435]
-A INPUT -p tcp -m tcp --sport 1024:65535 --dport 372 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p udp -m udp --sport 1024:65535 --dport 372 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i lo -j ACCEPT
-A INPUT -i enp7s0f1 -j ACCEPT
-A INPUT -i enp7s0f0 -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT
-A INPUT -i enp7s0f0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 10.103.182.0/24 -i enp7s0f0 -p tcp -m tcp --dport 443 -m state --state NEW -j ACCEPT
-A INPUT -s 10.103.182.0/24 -i enp7s0f0 -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
-A INPUT -i enp7s0f0 -p tcp -m tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p udp -m udp --dport 8649 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -m tcp --dport 40000 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i enp7s0f0 -p tcp -m tcp --dport 0:1023 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i enp7s0f0 -p udp -m udp --dport 0:1023 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i enp7s0f0 -o enp7s0f1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i enp7s0f1 -j ACCEPT
COMMIT
# Completed on Wed May  9 09:36:22 2018
# Generated by iptables-save v1.4.21 on Wed May  9 09:36:22 2018
*nat
:PREROUTING ACCEPT [19:1852]
:INPUT ACCEPT [11:1496]
:OUTPUT ACCEPT [18:1302]
:POSTROUTING ACCEPT [16:1110]
-A POSTROUTING -o enp7s0f0 -j MASQUERADE
COMMIT
# Completed on Wed May  9 09:36:22 2018

非常感谢任何形式的帮助。

注意:enp7s0f0 是外部公共接口,enp7s0f1 是内部私有接口。

答案1

你的iptables配置看起来很正常,但是你检查过IPv4转发的主交换机吗?

尝试这个命令:

# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

如果显示net.ipv4_ip_forward = 0相反,则表示尚未启用 IPv4 转发。这很容易修复:

# echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf
# sysctl -p

这将以持久的方式启用 IPv4 转发。 (以前,IPv4 转发可能已通过类似的方式启用echo 1 > /proc/sys/net/ipv4/ip_forward,但在重新启动后不会持续存在。)

相关内容