虚拟机网络设置(二):NAT(网络地址转换模式)

本文详细介绍了如何通过NAT模式配置虚拟机联网。包括调整虚拟网络编辑器设置子网IP、网关IP和DHCP配置,以及如何在虚拟机内进行网络参数配置,并解决配置过程中可能遇到的问题。

虚拟机网络设置(二):NAT(网络地址转换模式)

2. 网络地址转换模式

2.1 简介

NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。VMware Network Adapter VMnet8虚拟网卡主要是为了实现主机与虚拟机之间的通信。它的网络结构如下图:
在这里插入图片描述

2.2 连接上网

2.2.1 调整虚拟网络编辑器

  1. 设置子网IP
    在这里插入图片描述
    子网IP可以随意设置,只要后续设置与此保持一致即可
  2. 点击NAT设置,设置如图:
    在这里插入图片描述
    调整网关IP与设置的子网IP保持一致,点击确定后返回
  3. 再点击DHCP设置,设置如图:
    在这里插入图片描述
    这里设置的是你的虚拟机能设置的ip范围,子网地址注意和之前设置的保持一致

2.2.2 调整虚拟机网络设置

在这里插入图片描述

2.2.3 调整虚拟机系统网络参数

  1. 查看网卡对应文件
[root@app1 ~]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
  1. 编辑对应文件
vi /etc/sysconfig/network-scripts/ifcfg-eno16777736

编辑后如图:
在这里插入图片描述

DNS1对应NAT设置的网关IP(不对应也好像没关系,测试了写成192.168.198.1也可以)
IPPADDR需要在DHCP配置的范围内,注意如果BOOTPROTO为dhcp,ip则是动态分配,这里配置将无效
PREFIX为子网掩码,即子网掩码为255.255.255.0,此选项也可以设置为NETMASK=255.255.255.0
GATEWAY对应NAT设置的网关IP

  1. 重启网络测试
/etc/init.d/network restart
ping www.baidu.com

出现下图表示成功,如图:
在这里插入图片描述
再通过xshell等工具连接虚拟机测试,连接成功
主机与虚拟机之间双向通讯均无问题,代表配置成功

  1. 我遇到的问题
    1)/etc/resolv.conf文件配置错误
    在这里插入图片描述
    该文件中“nameserver”表示解析域名时使用该地址指定的主机为域名服务器,如果这个未配置正确,直接ping ip是没问题,但是ping域名是无法ping通的

ps.此文件nameserver前不能有空格

未完待续…
见下篇 Bridged(桥接模式)/NAT(网络地址转换模式)/Host-Only(仅主机模式)实现上网详解(三)

### 原理 NAT网络地址转换Network Address Translation)。虚拟化软件(如VMware、VirtualBox)在主机上创建一个虚拟网络虚拟机连接到该网络的虚拟交换机。在NAT模式中,主机网卡与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟网关VMnet8上,主机的虚拟网卡也与虚拟网关VMnet8相连。虚拟机实际上通过VMware创建的虚拟交换机(VMnet8)与主机进行通信,而非直接连接物理网卡。 虚拟机通过DHCP获取私有IP地址(如192.168.x.x),这些地址仅在虚拟网络内有效。虚拟化软件内置NAT设备,负责虚拟机与外部网络之间的通信。当虚拟机访问外部网络时,NAT设备将虚拟机的私有IP和端口转换为主机的公有IP和端口,将转换后的数据包发送到外部网络,并将响应数据包转换回虚拟机的私有IP和端口。通信流程如下: 1. 虚拟机发送请求:虚拟机向外部服务器发送数据包,源IP为私有IP,目标IP为外部服务器IP。 2. NAT转换:NAT设备将源IP和端口转换为主机的公有IP和端口。 3. 数据包转发:转换后的数据包通过主机的网络接口发送到外部网络。 4. 接收响应:外部服务器将响应数据包发送到主机的公有IP和端口。 5. NAT反向转换:NAT设备将响应数据包的目标IP和端口转换回虚拟机的私有IP和端口。 6. 虚拟机接收响应:虚拟机接收并处理响应数据包 [^1][^2][^3]。 ### 配置方法 引用中未提及配置方法,但一般来说,以VMware为例,配置步骤大致如下: 1. 打开虚拟机软件,选择需要配置的虚拟机,编辑其网络连接设置,选择NAT模式。 2. 确保主机上的虚拟网关VMnet8正常工作,可在虚拟机软件的虚拟网络编辑器中进行查看和配置。 3. 虚拟机开启后,会通过DHCP自动获取私有IP地址。 ### 使用场景 1. 个人开发测试:适合需要访问互联网但无需外部直接访问虚拟机的场景。开发者可以在虚拟机中搭建开发环境,利用NAT模式通过主机网络访问互联网,进行代码测试等工作。 2. 教育培训:适合教学和实验环境,简化网络配置。学生可以在虚拟机中进行各种实验,无需关注复杂的网络配置,通过NAT模式方便地访问互联网。 3. 受限网络环境:有些校园网客户,或者在有些限制上网的公司里,想上网时必须申请、拨号、输入用户名密码,如果使用了NAT模式虚拟机就可以不用总是去申请或者拨号 [^3][^4]。 ### 代码示例 由于配置过程主要是在图形界面操作,代码方面较少。以下是一个简单的Python脚本示例,用于检查虚拟机是否能通过主机网络访问外部网络(假设虚拟机运行在Linux系统上): ```python import subprocess try: result = subprocess.run(['ping', '-c', '3', 'www.google.com'], capture_output=True, text=True) if result.returncode == 0: print("虚拟机可以访问外部网络") else: print("虚拟机无法访问外部网络") except Exception as e: print(f"发生错误: {e}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值