Linux 虚拟机可以';t ping主机';通过NAT将两个交换机和一个路由器分开
我有一个Linux虚拟机(Kali),它连接到一个只支持主机的交换机Linux 虚拟机可以';t ping主机';通过NAT将两个交换机和一个路由器分开,linux,networking,nat,Linux,Networking,Nat,我有一个Linux虚拟机(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 该交换机连接到一个Ubuntu服务器虚拟机,该虚拟机在192.168.0.0/24网络上启用了伪装NAT,并通过桥接交换机连接到运行Ubuntu 16.04的
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.40 netmask 255.255.255.0 broadcast 192.168.0.255
该交换机连接到一个Ubuntu服务器虚拟机,该虚拟机在192.168.0.0/24网络上启用了伪装NAT,并通过桥接交换机连接到运行Ubuntu 16.04的实际主机
NAT规则位于后路由链上,如下所示
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
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
# 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
服务器机器上的接口文件如下所示
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
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
# 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
主机上的路由表如下所示
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
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
# 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机器ping主机(从192.168.0.40到172.16.0.6),但是ping没有通过,我在主机上的唯一接口上使用192.168.0.40作为主机进行了tcpdump,但它没有接收任何流量。出于某种原因,NAT规则没有被使用
我可以用Kali ping默认网关和服务器/路由器VM,但是主机的ping没有通过。我做错了什么
我认为应该发生的是,数据包通过Kali的默认网关进入服务器,一旦它进入服务器机器,它就会被转换为ens33的地址,然后从那里它会进入主机,主机会将它发送回ens33,因为这应该是当前的源ip,但很明显,这并没有发生我不善于注意事物,我把NAT规则改为eth33而不是ens33,修复了它,现在它就可以工作了你的问题应该转移到超级用户(或者服务器故障,这取决于)上,因为它不是一个与编程/编程语言相关的问题,我该怎么做?只需删除它并将其发布到那里?既然8分钟前你说它现在可以工作了,为什么要将其发布到那里?@RyanB。我的意思是现在没有理由了,只是general@RonMaupin…不像你自己,编程和网络配置没有区别