问这虚拟机NAT,是如何上网的?是如何转换的呢?比如我的路由器192.168.1.1 物理机的ip是192.168.1.100(路由器dhcp获得),物理机的虚拟网卡VMnet8地址是192.168.152.1,虚拟机网关192.168.152.2,子网192.168.152.0,虚拟机里装的系统的ip是192.168.152.3 网
关192.168.152.2,谁能给我讲解一下,这NAT方式上网是怎么一个过程?是如何能跟本机ping通的?明明虚拟机跟宿主机不在一个网段怎么虚拟机就可以上网呢?
虚拟机访问一个ip地址 比如192.168.152.3:10000=》1.1.1.1:80
数据包发给网关192.168.152.2,物理机查看路由表,并做NAT,记录NAT转换表项
比如:协议:
HTTP 内部本地地址192.168.152.3:10000
内部全局地址192.168.1.100:11111
外部本地地址1.1.1.1:80
外部全局地址1.1.1.1:80
路由器收到后再做NAT 并记录 NAT表项
协议HTTP 内部本地地址192.168.1.100:11111
内部全局地址 路由器wan口IP+端口号 外部本地地址1.1.1.1:80
外部全局地址:1.1.1.1:80 1.1.1.1收到包后根据路由器的IP地址进行回复,
路由器收到后查看NAT表项,发现1.1.1.1:80=>前面写的路由器wan口IP:端口号 对应的内部本地地址为192.168.1.100:11111,
然后把包发给你的物理机,物理机收到后同样查看NAT表项,发现1.1.1.1:80=》192.168.1.100:11111 对应的内部本地地址为192.168.152.3:10000 最后报文达到虚拟机