2个nic 2网关

我有个问题。

我有一个Ubuntu服务器(GW0)。 它有2个接口。


eth0:10.20.26.10 – 连接到路由

eth1:192.168.1.20 – 连接到交换机


eth0:10.20.26.0/24,gw:10.20.26.1

eth1:192.168.1.0/24,gw:192.168.1.254(192.168.1.254服务器放置在我的networking里有互联网接入)


我想用这个服务器(GW0)作为我的192.168.1.0/24networking的网关,通过10.20.26.1路由器访问10.20.xx子网,从192.168.1.254访问Internet。

我做了什么。

  1. echo 1> / proc / sys / net / ipv4 / ip_forward
  2. 路由添加默认gw 192.168.1.254

如果我喜欢这个互联网从我的networking工作正常,但不能访问10.20.xx

更新1:如果我使用默认gw 10.20.26.1。

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -i eth0 -j ACCEPT 

我可以访问10.20.xx,但不能上网。

比我尝试使用iproute。

 echo 1 corp >> /etc/iproute2/rt_tables ip route add default via 10.20.26.1 dev eth0 table corp ip rule add from 10.20.0.0/16 table corp 

如何使这项工作达到10.20.xx和互联网。 事先感谢。

你需要一个特定的路线来覆盖/ 16

基于策略的路由是不必要的

ip route add default via 192.168.1.254

ip route add 10.20.0.0/16 via 10.20.26.1