Linux虚拟机采用NAT方式时如何能在虚拟机中访问互联网

一、问题:

1、如果设定为NAT方式后,默认采用DHCP动态获取IP地址,系统默认会生成/etc/sysconfig/network-configs/ifcfg-ens33,此文件内容如下:
  1. DEFROUTE="yes"
  2. IPV4_FAILURE_FATAL="no"
  3. IPV6INIT="yes"
  4. IPV6_AUTOCONF="yes"
  5. IPV6_DEFROUTE="yes"
  6. IPV6_FAILURE_FATAL="no"
  7. NAME="ens33"
  8. UUID="ece1577e-e492-4d3c-84a2-ddccb3019424"
  9. ONBOOT="yes"
  10. IEEE_8021X_EAP_METHODS="MD5"
  11. IEEE_8021X_IDENTITY="renjia@gameyunwei"
  12. IEEE_8021X_PASSWORD_FLAGS="user"
  13. HWADDR="00:0c:29:44:47:5c"
  14. PEERDNS="yes"
  15. PEERROUTES="yes"
  16. IPV6_PEERDNS="yes"
  17. IPV6_PEERROUTES="yes"
  18. BOOTPROTO="dhcp"
2、将dhcp改为静态IP地址
3、无法访问互联网
  1. [root@slave1 network-scripts]# ping www.sohu.com
  2. ping: unknown host www.sohu.com

二、解决:

1、配置虚拟机的NAT环境,Edit菜单->Virtual Network Editor:

Subnet IP设置为192.168.130.0

Subnet mask设置为255.255.255.0

在NAT Settings中设置:

设置Gateway IP为192.168.130.2

在DHCP Settings中设置:

配置IP池的范围:192.168.130.50~192.168.130.254

2、配置主机的VMware Network adapter VMnet8

注意:

默认网关必须是192.168.130.0,即和虚拟机的Subnet 保持一致

DNS不用设置

3、配置虚拟机Fedora/etc/sysconfig/network-configs/ifcfg-ens33,删减部分配置,增加DNS配置:

  1. TYPE="Ethernet"
  2. DEFROUTE="yes"
  3. IPV4_FAILURE_FATAL="no"
  4. NAME="ens33"
  5. UUID="707084bc-d3aa-483f-878b-c93e6abf4a07"
  6. ONBOOT="yes"
  7. #HWADDR="00:0C:29:8B:9A:F2"
  8. HWADDR="00:0c:29:94:8e:a2"
  9. BOOTPROTO="static"
  10. NM_CONTROLLED="yes"
  11. IPADDR="192.168.130.101"
  12. NETMASK="255.255.255.0"
  13. GATEWAY="192.168.130.2"
  14. DNS1="192.168.1.1"
注意:
DNS1必须和主机的DNS相同
去掉上述配置之外的其他配置(其他的配置可能会影响手工的配置项),否则仍然会无法访问互联网
 

4、测试能否访问互联网