我有个问题。
我有一台 ubuntu 服务器(GW0)。它有 2 个接口。
eth0:10.20.26.10-连接到路由器
eth1:192.168.1.20-连接到交换机
eth0:10.20.26.0/24,网关:10.20.26.1
eth1:192.168.1.0/24,gw:192.168.1.254(192.168.1.254 服务器位于我的网络中,可以访问互联网)
我想使用此服务器(GW0)作为我的 192.168.1.0/24 网络的网关,以通过 10.20.26.1 路由器访问 10.20.xx 子网,并从 192.168.1.254 访问互联网。
我做了什么。
- echo 1 > /proc/sys/net/ipv4/ip_forward
- 路由添加默认网关 192.168.1.254
如果我喜欢这样,我的网络互联网运行正常,但无法访问 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 和互联网。提前致谢。
答案1
您需要一条特定路线来覆盖 /16
基于策略的路由是不必要的。
ip route add default via 192.168.1.254
ip route add 10.20.0.0/16 via 10.20.26.1