IP 转发不适用于 Vagrant + Ansible 场景

IP 转发不适用于 Vagrant + Ansible 场景

这是场景

它是用 Vagrant 创建并用 Ansible 配置的,但我要问的具体问题是为什么 IP 转发在应该工作时却不起作用。

在路由器虚拟机上,我们可以检查 IP 转发是否已启用,因为...

vagrant@router:~$ cat /proc/sys/net/ipv4/ip_forward
1

这里有与客户端连接的路由器接口的信息

4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:54:00:aa:ef:db brd ff:ff:ff:ff:ff:ff
    altname enp0s7
    altname ens7
    inet 10.0.0.1/24 brd 10.0.0.255 scope global eth2
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:feaa:efdb/64 scope link 
       valid_lft forever preferred_lft forever

理论上来说,转发应该正在工作。

现在,让我们去客户端看看它的路由

vagrant@cliente:~$ ip r
default via 10.0.0.1 dev eth1 
10.0.0.0/24 dev eth1 proto kernel scope link src 10.0.0.2 
192.168.121.0/24 dev eth0 proto kernel scope link src 192.168.121.233 

默认路由是由我的剧本修改的,因此它指向路由器接口作为主网关。

这里有有关客户端接口的信息,即连接到路由器的接口

3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:54:00:89:9f:be brd ff:ff:ff:ff:ff:ff
    altname enp0s6
    altname ens6
    inet 10.0.0.2/24 brd 10.0.0.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe89:9fbe/64 scope link 
       valid_lft forever preferred_lft forever

对路由器的 Ping 操作正常

vagrant@cliente:~$ ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.271 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.311 ms
^C
--- 10.0.0.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1032ms
rtt min/avg/max/mdev = 0.271/0.291/0.311/0.020 ms

如果我尝试 ping 到互联网,它会在路由器上停止

vagrant@cliente:~$ ping 1.1.1.1
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
From 10.0.0.1 icmp_seq=1 Destination Port Unreachable
From 10.0.0.1 icmp_seq=2 Destination Port Unreachable
From 10.0.0.1 icmp_seq=3 Destination Port Unreachable
^C
--- 1.1.1.1 ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2038ms

您可以通过这种方式更好地检查

vagrant@cliente:~$ traceroute 1.1.1.1
traceroute to 1.1.1.1 (1.1.1.1), 30 hops max, 60 byte packets
 1  10.0.0.1 (10.0.0.1)  0.345 ms  0.268 ms  0.238 ms
 2  10.0.0.1 (10.0.0.1)  0.207 ms  0.180 ms  0.156 ms

它显然停止在路由器上,并且转发被激活。

所以在这一点上,我迷失了,我不知道发生了什么。一切都应该正常工作,应该如此。

相关内容