在搜索了整整 9 个小时后,我觉得在这里问这个问题可能会有所帮助。我正在尝试将 Ubuntu 机器用作路由器,以便我可以引入延迟等来测试 SD-WAN。但流量未被转发。没有
net.ipv4.ip_forward = 1
评论。
sudo sysctl -p
已执行。ip 路由:
default via 192.168.224.2 dev ens9 proto dhcp metric 106
169.254.0.0/16 dev ens3 scope link metric 1000
192.168.1.0/30 dev ens3 proto kernel scope link src 192.168.1.2 metric 100
192.168.1.4/30 dev ens5 proto kernel scope link src 192.168.1.6 metric 102
192.168.1.8/30 dev ens7 proto kernel scope link src 192.168.1.10 metric 104
192.168.2.0/30 dev ens4 proto kernel scope link src 192.168.2.2 metric 101
192.168.2.4/30 dev ens6 proto kernel scope link src 192.168.2.6 metric 103
192.168.2.8/30 dev ens8 proto kernel scope link src 192.168.2.10 metric 105
192.168.224.0/24 dev ens9 proto kernel scope link src 192.168.224.138 metric 106
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
以下命令用于 iptables:
user@user-PC:~$ sudo iptables -A FORWARD --in-interface ens3 -j ACCEPT
user@user-PC:~$ sudo iptables -A FORWARD --in-interface ens5 -j ACCEPT
user@user-PC:~$ sudo iptables -A FORWARD --in-interface ens7 -j ACCEPT
user@user-PC:~$ sudo iptables -A FORWARD --in-interface ens4 -j ACCEPT
user@user-PC:~$ sudo iptables -A FORWARD --in-interface ens6 -j ACCEPT
user@user-PC:~$ sudo iptables -A FORWARD --in-interface ens8 -j ACCEPT
user@user-PC:~$ sudo iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
user@user-PC:~$ sudo iptables -t nat -A POSTROUTING -o ens5 -j MASQUERADE
user@user-PC:~$ sudo iptables -t nat -A POSTROUTING -o ens7 -j MASQUERADE
user@user-PC:~$ sudo iptables -t nat -A POSTROUTING -o ens4 -j MASQUERADE
user@user-PC:~$ sudo iptables -t nat -A POSTROUTING -o ens6 -j MASQUERADE
user@user-PC:~$ sudo iptables -t nat -A POSTROUTING -o ens8 -j MASQUERADE
当测试路由时,它看起来没问题:
user@user-PC:~$ ip route get 192.168.1.5 from 192.168.1.1 iif ens3
192.168.1.5 from 192.168.1.1 dev ens5
cache iif ens3
user@user-PC:~$ ip route get 192.168.1.1 from 192.168.1.5 iif ens5
192.168.1.1 from 192.168.1.5 dev ens3
cache iif ens5
任何想法都会对我有很大帮助!提前谢谢
答案1
我搞明白了。这不是 Linux 的问题,而是防火墙的问题,没有正确的路由。谢谢您的帮助!