在 LAN / WAN 接口之间路由流量

在 LAN / WAN 接口之间路由流量

我们使用带有 dhcpd 服务(pxe 系统)的内部小型服务器。该服务器有两个网卡:- LAN(PXE)- WAN(剩余公司 LAN/网络的上行链路)

WAN NIC 由 DHCP 服务器自动配置。

我需要在这些网卡之间路由流量。

LAN 端的客户端应该有互联网连接(WAN 端的互联网连接,但 WAN 上可能没有 DHCP 流量)。

我该如何实现它?

答案1

我自己找到了解决方案。

eth0 = 广域网 eth1 = 局域网

在内核中启用ip转发:

echo 1 > /proc/sys/net/ipv4/ip_forward

添加 nat 的 iptables 规则:

iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT

并重新启动您的网络:-)

答案2

你必须小心这个 NAT 规则;离开eth0接口的任何数据包的源 IP 地址和端口都会更改为eth0接口的 IP 地址(随机端口),即使连接源是你的服务器。这可能会影响您服务器上发送流量eth0且不希望其端口发生变化的服务。

例如,如果您正在运行绑定到eth0服务器接口的 IPSec VPN 服务,则其出站数据包中的源端口将会发生变化,从而导致连接失败。

我建议您将该 NAT 规则更改为以下内容:

 iptables --table nat --append POSTROUTING --source $lan_network --out-interface eth0 -j MASQUERADE

这将确保只有您的 LAN 网络的 Internet 连接才会被 WAN 接口伪装。

希望这可以帮助 :)

相关内容