NAT模式

NAT模式(网咯地址转换):NAT 模式下,VMware 会创建一个虚拟的 NAT 网络,虚拟机连接到这个虚拟网络中。该虚拟网络有自己独立的子网,虚拟机在这个子网内分配 IP 地址。

当虚拟机访问外部网络时,VMware 的 NAT 服务会将虚拟机的内部 IP 地址转换为物理主机的 IP 地址,使得虚拟机可以借助物理主机的网络连接访问外部网络。外部网络的数据包返回时,NAT 服务再将物理主机的 IP 地址转换回虚拟机的内部 IP 地址,将数据包准确地转发给相应的虚拟机。

NAT模式下无需额外设置

查看物理机ip(输入ipconfig):

以太网适配器 VMware Network Adapter VMnet8:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::a957:fb7f:af8c:961%10
   IPv4 地址 . . . . . . . . . . . . : 192.168.159.1
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . :

物理机上的 VMware Network Adapter VMnet8:是 VMware 为 NAT 模式创建的虚拟网络接口。

IP 地址 192.168.159.1 是物理机在此虚拟网络的 管理接口
用于物理机与虚拟机之间的通信。

此时的网关是 192.168.159.2(默认由 VMware 自动配置):
虚拟机通过此网关(192.168.159.2)将流量转发到物理机,再通过物理机的真实网络接口(如 Wi-Fi 或以太网)访问外网。

查看kali虚拟机网络情况:

└─# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.159.128  netmask 255.255.255.0  broadcast 192.168.159.255
        inet6 fe80::1daa:bd5a:3ed5:965b  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:4e:2d:4f  txqueuelen 1000  (Ethernet)
        RX packets 17  bytes 11390 (11.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 40  bytes 11293 (11.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 8  bytes 480 (480.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 480 (480.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

IP地址为192.168.159.128,与VMnet8处于同一网段
测试连通性:

ping 10.12.3.6 #物理机网卡ip

结果连通,说明nat正常工作
虚拟机发送请求,经过192.168.159.2网关抵达物理机ip,并收到返回消息

测试 ping www.baidu.com 连通外网正常

桥接模式

VMware 桥接模式是 VMware 虚拟机软件提供的一种网络连接模式,它允许虚拟机像一台独立的物理计算机一样直接连接到外部网络。

在桥接模式下,VMware 虚拟网卡会在物理主机和虚拟机之间创建一座 “桥”,虚拟机的网络接口通过这个 “桥” 与物理主机的网络接口(如以太网网卡、无线网卡)相连。虚拟机可以直接访问外部网络,就好像它是连接在同一物理网络中的另一台计算机。

复制物理网络

在这里插入图片描述
vmware设置桥接模式时,有一个复制物理网络状态的子选项

  1. 启用“复制物理网络连接状态”:
    虚拟机网络会随物理机网络状态实时变化。
    物理机断网 → 虚拟机立即断网;物理机恢复网络 → 虚拟机自动重连。
  2. 禁用此选项:
    虚拟机网络独立,物理机断网时虚拟机仍可保持原有连接(需物理网络本身支持,如交换机未断电)。

查看此时虚拟机ip:

└─# ifconfig          
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.12.0.211  netmask 255.255.240.0  broadcast 10.12.15.255
        inet6 fe80::20c:29ff:fe4e:2d4f  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:4e:2d:4f  txqueuelen 1000  (Ethernet)
        RX packets 247  bytes 27765 (27.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 228  bytes 29453 (28.7 KiB)
        TX errors 0  dropped 2 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 8  bytes 480 (480.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 480 (480.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

kali虚拟机获得的IP地址与物理机位于同一网段(物理机:10.12.3.6)
测试连通性:
物理机:

ping 10.12.0.211

正在 Ping 10.12.0.211 具有 32 字节的数据:
来自 10.12.0.211 的回复: 字节=32 时间<1ms TTL=64
来自 10.12.0.211 的回复: 字节=32 时间<1ms TTL=64

10.12.0.211 的 Ping 统计信息:
    数据包: 已发送 = 2,已接收 = 2,丢失 = 0 (0% 丢失),
    
往返行程的估计时间(以毫秒为单位):
    最短 = 0ms,最长 = 0ms,平均 = 0ms

但是虚拟机视角:
ping外网(www.baidu.com)》》不通
ping物理机ip(10.12.3.6)》》通(需要注意关闭物理机防火墙)
ping网关( 10.12.15.245)》》不通

原因是校园网限制(在家里正常网络环境下是全联通的)

关于是否开启复制物理网络状态的测试:

  1. 勾选复制的情况:
    断开物理机网络连接后:
无线局域网适配器 WLAN 2:
   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . :

此时虚拟机ifconfig:

└─# ifconfig
eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 00:0c:29:4e:2d:4f  txqueuelen 1000  (Ethernet)
        RX packets 62603  bytes 91341380 (87.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5411  bytes 386294 (377.2 KiB)
        TX errors 0  dropped 8 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 32  bytes 2424 (2.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 32  bytes 2424 (2.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

失去连接

  1. 如果不勾选:
    则物理机断网后,ifconfig查看网络状态未发生变化

kali linux 静态ip配置

通过对/etc/network/interfaces修改,实现静态IP地址配置

─# vim /etc/network/interfaces

在interfaces文件后追加如下内容:

auto eth0
iface eth0 inet static  #静态
    address 10.12.3.20     #设置静态IP地址
    netmask 255.255.240.0     #子网掩码(与物理机一致)
    gateway 10.12.15.254    #网关(与物理机一致)

修改后执行

systemctl restart networking 

ifconfig查看ip是否变化,如果出现重启networking无效的现象,可尝试执行reboot重启虚拟机

之后再查看ip:

└─# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.12.3.20  netmask 255.255.240.0  broadcast 10.12.15.255
        inet6 fe80::20c:29ff:fe4e:2d4f  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:4e:2d:4f  txqueuelen 1000  (Ethernet)
        RX packets 3  bytes 184 (184.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 38  bytes 4142 (4.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

静态ip设置成功
物理机cmd:

ping 10.12.3.20

正在 Ping 10.12.3.20 具有 32 字节的数据:
来自 10.12.3.20 的回复: 字节=32 时间<1ms TTL=64
来自 10.12.3.20 的回复: 字节=32 时间<1ms TTL=64

10.12.3.20 的 Ping 统计信息:
    数据包: 已发送 = 2,已接收 = 2,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 0ms,最长 = 0ms,平均 = 0ms

网路联通

最后

由于本人笔记本经常使用的是wifi连接,而且接入的是限制颇多的校园网,桥接模式问题较多,如无必要,还是采用默认的nat模式比较方便。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐