linux: net: net.ipv4.ip_forward не работает - PullRequest
0 голосов
/ 10 мая 2019
A eth0 <-> B eth2
B eth0 <-> C eth0

компьютер A: eth0 192.168.1.2

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     192.168.1.2     255.255.255.0   UG    0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
224.0.0.0       *               240.0.0.0       U     0      0        0 eth0

компьютер B: eth0 192.168.0.1 eth2 192.168.1.1

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth2
224.0.0.0       *               240.0.0.0       U     0      0        0 eth0

net.ipv4.ip_forward = 1

компьютер C: eth0 192.168.0.3

На компьютере A: ping 192.168.0.3, но нет ответа от компьютера C

На компьютере B: tcpdump показывает, что пакет ping с компьютера A достигает только eth2, но не пересылается на eth0

Я также пытался добавить iptables на компьютер B, но, похоже, ничего не изменилось

~ # iptables -L -v -n
Chain INPUT (policy ACCEPT 59 packets, 8978 bytes)
 pkts bytes target     prot opt in     out     source               destination 

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination 
    0     0 ACCEPT     all  --  eth2   eth0    0.0.0.0/0            0.0.0.0/0   
    0     0 ACCEPT     all  --  eth0   eth2    0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  eth0   eth2    0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  eth2   eth0    0.0.0.0/0            0.0.0.0/0   

Chain OUTPUT (policy ACCEPT 50 packets, 23460 bytes)
 pkts bytes target     prot opt in     out     source               destination
...