Ubuntu 16.04机器作为路由器

Ubuntu 16.04机器作为路由器

我必须将我的 ubuntu PC 作为路由器,因为我不允许将任何路由器连接到大学网络。

我有一台带有两个网卡的 PC(ubuntu 16.04)。 eth0 连接到大学网络(公共),eth1 连接到 WLAN 路由器。

eth0 : 131.173.115.18
eth1 : 192.168.1.62
Router WAN: 192.168.1.65

我希望所有流量都通过 eth0 到达互联网。我已启用IP转发

net.ipv4.ip_forward=1

以及 eth0 上的 NAT 服务

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

我不知道为什么我有这么多路线。并且无法从 eth0 或反向 ping eth1。我缺少什么?

epc@nano:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         131.173.119.254 0.0.0.0         UG    0      0        0 eth0
0.0.0.0         131.173.119.254 0.0.0.0         UG    100    0        0 eth0
0.0.0.0         131.173.115.18  0.0.0.0         UG    101    0        0 eth1
131.173.112.0   0.0.0.0         255.255.248.0   U     100    0        0 eth0
131.173.115.18  0.0.0.0         255.255.255.255 UH    100    0        0 eth1
131.173.245.1   131.173.119.254 255.255.255.255 UGH   100    0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 eth1

答案1

默认情况下Linux不允许你这样做,你需要更改rp过滤器 echo 2 > /proc/sys/net/ipv4/conf/all/rp_filter

https://www.slashroot.in/linux-kernel-rpfilter-settings-reverse-path-filtering

相关内容