文章目录
- 前言
- 1 VMware配置
- 1.1 打开vmvare虚拟网络编辑器
- 1.2 取消使用本地DHCP
- 1.3 NAT设置
- 2 虚拟机的配置
- 2.1 存在ens33
- 2.2.1 修改ifcfg-ens33文件
- 2.2.1.1 为什么设置BOOTPROTO=static?
- 2.2.1.2 如何选择使用static还是dhcp?
- 2.2.2 关闭防火墙
- 2.2 不存在ens33
- 2.1 设置IP地址、子网掩码和网关
- 2.2 设置DNS
- 2.3 设置主机名
- 2.4 重启虚拟机
- 2.5 网卡服务开机自启动
- 2.5.1 rc.local
- 2.5.2 授予权限
- 3 连接测试
- 总结
前言
NAT 模式
NAT 模式就是让虚拟机借助 NAT (网络地址转换)功能,通过宿主机来访问外部网络。
本文在保证虚拟机的网络可以查到ip的情况下,让宿主机通过远程连接工具连接到虚拟机。
1 VMware配置
该配置的目的是:检查Linux虚拟机的网络连接模式,确保它是NAT模式。
1.1 打开vmvare虚拟网络编辑器
在VMware界面,点击编辑==>虚拟网络编辑器
1.2 取消使用本地DHCP
选择VMnet8(NAT模式),取消勾选使用本地DHCP服务,若使用DHCP服务的话,会动态分配IP。
注:如果此处未选择DHCP服务,那么在ems33中建议配置BOOTPROTO=static。如果配置BOOTPROTO=dhcp则会产生ens33无法获取ip的现象,该现象在开机时,可以获取ip地址,但是过一段时间会无法连接。
1.3 NAT设置
1.2设置完成后,点击NAT模式(与虚拟机共享主机的IP地址)==>NAT设置。
解释如下:
192.168.79.0 //所表示的网段IP
255.255.255.0 //所表示的是子网掩码
192.168.79.2 //为网关地址,我们在设置虚拟机的IP时,不能使用0、2这几个地址。
2 虚拟机的配置
打开虚拟机,准备配置设置虚拟机IP、网关、DNS和主机名。
首先需要确认本机是否存在ens33文件,如果存在连接就比较简单:
2.1 存在ens33
2.2.1 修改ifcfg-ens33文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
一般需要修改以下三个选项:
BOOTPROTO=static
NETMASK=255.255.255.0
ONBOOT=yes
2.2.1.1 为什么设置BOOTPROTO=static?
因为在虚拟机1.2的配置中,取消了dhcp服务器,已经无法动态分配地址。如果配置BOOTPROTO=dhcp则会产生ens33无法获取ip的现象,该现象在开机时,可以获取ip地址,但是过一段时间会无法连接。2.2.1.2 如何选择使用static还是dhcp?
static:虚拟机较少,可以选择自己去分配。
dhcp:需要处理大量虚拟机,或者不想自己去分配ip。
2.2.2 关闭防火墙
systemctl disable firewalld
reboot
然后用远程工具就可以直接连接了!
2.2 不存在ens33
需要手动配置就比较麻烦一些,过程如下所示:
2.1 设置IP地址、子网掩码和网关
vim /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33
BOOTPROTO=static
IPADDR=192.168.79.129
GETWAY=192.168.79.2
NETMASK=255.255.255.0
ONBOOT=yes
解释如下:
DEVICE=ens33 //网络设备的名称
BOOTPROTO=static //网络分配方式为静态
IPADDR=192.168.79.129 //设置的IP地址
NETMASK=255.255.255.0 //子网掩码
GATEWAY=192.168.79.2 //网关
ONBOOT=yes //指系统启动时是否激活网卡
注:除了修改配置外,还需要禁用NetworkManager,可以参考这篇文章:Linux Centos7安装后,无法查询到IP地址,无ens0,只有lo和ens33的解决方案
2.2 设置DNS
vim /etc/resolv.conf
namerserver配置为网关地址
2.3 设置主机名
vim /etc/sysconfig/network
在该文件中写入以下配置:
NETWORKING=yes
HOSTNAME=KBDCT-TEST
主机名为:[root@后面的名称]
vim /etc/hostname
如果该文件无信息,则填入主机名即可;
如果有信息,则确认主机名是否正确。
2.4 重启虚拟机
service network restart //重启网卡
reboot //重启虚拟机
此时有可能出现一个问题,使用查询网卡状态
systemctl status network
发现网卡状态是dead。
此时输入:
systemctl start network
systemctl status network
证明网卡服务是正常的,只是没有启动,所以需要配置网卡服务的开机自启动。
2.5 网卡服务开机自启动
2.5.1 rc.local
设置开机自启动方式有很多,此处选择修改rc.local的方式。
vi /ect/rc.local
在文件中输入以下信息:
systemctl start network
2.5.2 授予权限
加入上述启动命令后,使用chmod提升文件权限,并重启虚拟机。
sudo chmod +x /etc/rc.local
reboot
3 连接测试
此时可以直接使用外部的远程连接工具连接虚拟机,此处以finalshell为例:
总结
关键点在于:
(1)VMware的配置;
(2)虚拟机的网卡配置,包含存在和不存在ens33两种情况的解决方案。