我的服务器上有一个单独的命名空间,我想创建一个 NAT,以便在此命名空间中启用 Internet 连接。我特别想这样做,以便某些入站端口指向主服务器,而其他某些端口指向命名空间。命名空间和主服务器都应该具有出站连接。为了实现这一点,我创建了一个虚拟以太网,一端在主服务器中,另一端在命名空间中(根据数据包计数器判断,这部分似乎有效)。
在 sysctl.conf 中启用 IP 转发后,我想出了在它们之间转发流量的方法(这不起作用):
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source <IP of main server>
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1:25000 -m conntrack --ctstate NEW -j DNAT --to-destination <IP of veth inside namespace>
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 1:65534 -m conntrack --ctstate NEW -j DNAT --to-destination <IP of veth inside namespace>
有人可以让我知道我在使用 IPtables 时做错了什么吗?