三种连接模式
虚拟机主要有3种网络连接方式:NAT(共享),Host-Only,Bridge(桥接)。
Bridge(桥接) :虚拟机与宿主机具有不同的 IP 地址,与宿主机保持在同一网段。
- **宿主机局域网内其他主机可以与虚拟机互相访问
Host-Only :虚拟机与宿主机具有不同的 IP 地址,与宿主机位于不同网段。从网络技术上相当于为宿主主机增添了一个虚拟网卡,让宿主主机变成一台双网卡主机。
- 这种方式只能进行虚拟机和宿主机之间的网络通信,网络内其他机器不能访问虚拟机,虚拟机也不能访问其他机器。
NAT:加设了一个虚拟的 NAT 服务器,使得虚拟局域网内的虚拟机在对外访问时, 完全“冒用”宿主主机的 IP 地址。
- 这种方式可以实现本机系统与虚拟系统的双向访问,但网络内其他机器不能访问虚拟系统,虚拟系统可以通过本机系统用 NAT 协议访问网络内其他机器。
DHCP
开启虚拟机即使配置了网络模式可能也会出现 ifconfig
没有 IP 的情况(只有127.0.0.1),这可能是由于虚拟机没有通过 DHCP 分配到 IP 地址,需要先执行:
sudo dhclient -v
dhclient
:(DHCP 客户端)是 Linux 和 Unix 系统中用于动态获取 IP 地址的工具
虚拟机做靶机的一些例子
在虚拟机上开靶机做内网渗透的时候,需要先用 nmap 扫到这个靶机的 IP 再做后续渗透,第一次扫的时候一直扫不到,搞清楚网段和连接模式之后才成功。
使用 NAT(共享)连接的虚拟机的网段可以从本机 ifconfig - bridge10x 查看,一般是开启虚拟机之后会新增一个 bridge,这个新增的 bridge 的 IP 地址就指明了虚拟机的c段。
同时,虚拟机可以通过这个 bridge 代表的桥接接口与主机通信,比如,我需要从靶机上反弹 shell 的时候就应该选择这个 bridge 的 inet 地址(IP 地址)连接到主机。
NAT模式,主机和虚拟机支持双向通信:
- 虚拟机 - 主机:bridge10x
- 主机 - 虚拟机:虚拟机的IPv4地址
为什么主机ping不通虚拟机,但是主机可以nc连接
GPT:虚拟网络的 NAT 机制通常只转发 TCP/UDP 数据包,不会处理 ICMP 数据包。因此,主机 Ping 虚拟机时,虚拟机的回应无法通过 NAT 引擎到达主机。
← Previous post使用 VSCode 做嵌入式开发 on macOS
Next post →llm日记