我有一台Linux VM(Kali)连接到仅限主机的交换机
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.40 netmask 255.255.255.0 broadcast 192.168.0.255
接口已启动,interfaces文件如下所示
auto eth0
iface eth0 inet static
address 192.168.0.40
netmask 255.255.255
gateway 192.168.0.254
dns-nameservers 8.8.8.8
交换机连接到Ubuntu Server虚拟机,该虚拟机已启用到192.168.0.0/24网络,并通过桥接交换机连接到运行Ubuntu 16.04的实际主机
NAT规则在POSTROUTING链上,它就像这样
Chain POSTROUTING (policy ACCEPT 20 packets, 1440 bytes)
pkts bytes target prot opt in out source destination
0 0 MASQUERADE all -- * ens33 192.168.0.0/24 0.0.0.0/0
并且服务器计算机上的interfaces文件看起来像这样
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto ens33
iface ens33 inet static
address 172.16.23.100
netmask 255.255.0.0
gateway 172.16.0.254
dns-nameservers 8.8.8.8
#iface ens33 inet dhcp
#Gateway for LAN1 - 192.168.0.0/24
auto ens38
iface ens38 inet static
address 192.168.0.254
netmask 255.255.255.0
主机上的路由表如下所示
default via 172.16.0.254 dev enp3s0
169.254.0.0/16 dev enp3s0 scope link metric 1000
172.16.0.0/16 dev enp3s0 proto kernel scope link src 172.16.0.6
现在我试图从Kali机器(从192.168.0.40到172.16.0.6)ping主机,但ping没有通过,我只在主机上执行了tcpdump与192.168.0.40接口作为主机,但它不会接收任何流量。 NAT规则由于某种原因没有被使用。
我可以使用Kali ping默认网关和服务器/路由器虚拟机,但主机的ping不会通过。我做错了什么?
我认为应该发生的是,数据包通过Kali的默认网关进入服务器,一旦它在服务器机器中被转换为ens33的地址,就从那里开始将转到主机,主机将其发送回ens33,因为这应该是当前的源IP,但显然没有发生
答案 0 :(得分:0)
我不注意事情,我把NAT规则作为eth33而不是ens33,修复它现在有效