NAT 下虚拟机为什么能上网:路由表 + SNAT 证明

目标:理解 NAT 模式下,虚拟机如何通过宿主机连接到外部网络。

1. NAT 下虚拟机网络配置

在 VMware Fusion 中,虚拟机的网络接口配置为 NAT(Network Address Translation)。此时,虚拟机并不直接访问外部网络,而是通过宿主机共享网络连接。

2. 路由表查看

在虚拟机内,我们首先查看虚拟机的路由表,确保网络请求通过正确的网关进行转发。虚拟机路由表可以通过以下命令查看:

bash 复制代码
ip route

输出示例:

bash 复制代码
default via 192.168.1.1 dev eth0

此时,我们看到默认路由 default via 192.168.1.1,意味着虚拟机将网络请求发送到 192.168.1.1,这正是宿主机的 IP 地址。

3. NAT 转换与 SNAT(源地址转换)

通过宿主机的 SNAT(Source Network Address Translation)功能,虚拟机的私有 IP 地址(例如 192.168.1.100)会被转换为宿主机的公共 IP 地址,进而向外界发送请求。

  • 宿主机配置:宿主机启用了 SNAT,所有来自虚拟机的网络流量被重写成宿主机的 IP 地址,外部网络只能看到宿主机的 IP 地址。

4. 查看宿主机的 iptables 配置

bash 复制代码
sudo iptables -t nat -L -n -v

输出示例:

bash 复制代码
Chain POSTROUTING (policy ACCEPT 123 packets, 4567 bytes)
    SNAT   all  --  192.168.1.0/24       anywhere             to:192.168.1.1

这说明宿主机通过 SNAT 将虚拟机的 IP 地址转换为宿主机的 IP 地址,从而使虚拟机可以访问外部网络。


相关推荐
一名优秀的码农1 小时前
vulhub系列-69-Keyring(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
Chengbei112 小时前
2026护网HVV面试看这篇就够了!真题+技巧+培训福利一站式get
网络·安全·web安全·网络安全·面试·职场和发展·安全架构
深邃-3 小时前
【Web安全】-基础环境安装:Miniconda,Python环境安装,PHP环境安装(2)
python·计算机网络·安全·web安全·网络安全·系统安全·php
极客小云3 小时前
【AiCodeAudit 2.0 发布:基于调用图与局部子图的 AI 代码安全审计平台】
人工智能·网络安全·语言模型·大模型·github·安全性测试·代码复审
TechWayfarer12 小时前
知乎/微博的IP属地显示为什么偶尔错误?用IP归属地查询平台自检工具3步验证
网络·python·网络协议·tcp/ip·网络安全
2401_8734794014 小时前
应急响应:勒索软件攻击源IP分析,如何通过IP地址查询定位辅助溯源?
网络·tcp/ip·安全·网络安全·ip
сокол20 小时前
【网安-等保评测-基础记录】网络安全等级保护2.0 详解(定级、备案、测评、整改一站式指南)
网络·笔记·网络安全·云计算
pencek20 小时前
HakcMyVM-Liceo
网络安全
探索宇宙真理.21 小时前
Nginx UI MCP接口绕过认证漏洞 | CVE-2026-33032复现&研究
运维·经验分享·网络安全·nginx-ui
Chengbei111 天前
某211高校从一个文档到十八万条sfz泄露和命令执行
人工智能·安全·web安全·网络安全·系统安全·状态模式·安全架构