CentOS,双路由,NAT

linux服务器eth0设置默认路由(网关)。 而连接到eth2的客户端应该能够通过NAT访问互联网(eth1)。

接口:

eth0:LAN(默认路由)/ IP:10.0.0.5,网关:10.0.0.1

eth1:WAN / IP:10.1.0.10,网关:10.1.0.1

eth2:LAN(通过WAN的NAT)/ IP:192.168.0.1

图片:

在这里输入图像说明

我怎么做?

解决这个问题需要2(相关)的东西 –

  1. 2个路由表
  2. 基于策略的路由将stream量引导出相应的接口。

你并没有build议你使用什么发行版,所以很难提供你的发行版的“标准”方式的具体信息,但是你当然可以使用/etc/rc.local这样的脚本来保存它,或者使用下面的信息作为出发点。

步骤1:设置2个路由表。

  1. 用一个类似于“echo 200 customtable >> / etc / iproute2 / rt_tables”的命令创build一个具有唯一ID的自定义表

  2. 为该表添加规则 – 不幸的是,你不能使用“route”命令,你需要使用“ip route”命令,一个典型的规则是“通过XXXX dev ethX table customtable的ip route add default”当然,需要填写这个表格的所有相关路线。

  3. 添加规则来路由通过该表的stream量。 这可以通过在iptables中标记数据包来实现一些非常灵活的解决scheme,或者像“从10.0.0.0/8查找自定义表中添加IP规则”。

快速谷歌发现这个链接 ,这可能是一个很好的指导,你正在试图做什么。

当然,你仍然可以使用NAT和iptables来重新传输stream量。

据我了解,你只需要configuration你的/ etc / sysconfig / network-scripts / ifcfg-eth *它们各自的IP地址。 将网关地址添加到/ etc / sysconfig / network-scripts / ifcfg-eth1。 把你的盒子变成一个路由器(使用/etc/sysctl.conf设置/ proc / sys / net / ipv4 / conf / eth1 / forwarding和/ proc / sys / net / ipv4 / conf / eth2 / forwarding到1)添加你的iptables nat规则(replace为适当的值):iptables -t nat -s $服务器-IP-NETWORK -o eth2 -j MASQUERADE

你应该做…如果我了解你的networking模式B(这是有点…不寻常的我不得不说)