Ubuntu 不在接口之间转发流量

Ubuntu 不在接口之间转发流量

在搜索了整整 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 的问题,而是防火墙的问题,没有正确的路由。谢谢您的帮助!

相关内容