具有 2 个 NIC 的 Ubuntu - 如何根据端口转发和阻止流量

具有 2 个 NIC 的 Ubuntu - 如何根据端口转发和阻止流量

我的 Ubuntu 有 2 个网卡:

这个在 Ubuntu 上被设置为默认 gw:

eth1, ip 192.168.10.11, gateway 192.168.10.1 

这是在路由器上设置的,而不是在 Ubuntu 中设置的:

eth2, ip 192.168.20.11, gateway 192.168.20.1 

我想做的是将所有端口 119 tcp 流量路由到 eth2(192.168.20.11)以及到 eth1 的所有其他互联网流量

我知道我需要使用 iptables 但是我还不能提出可行的解决方案。

任何帮助都非常感谢。

谢谢

答案1

您无法路由 tcp 流量,路由与网络层协议或 IP 相关。您可以根据 tcp 端口转发或重定向 IP 数据包,即端口转发。对于您的情况,您可以使用iptables。一种可能性是使用类似这样的规则

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -i eth1 -A PREROUTING -p tcp --dport 119 -j DNAT --to-destination 192.168.20.11:119
iptables -A FORWARD -p tcp -d 192.168.20.119 --dport 119 -j ACCEPT

相关内容