有段时间没有用虚拟机了,这几天翻出了以前的虚拟机,写几个demo,但遇到了一个让人难受的问题。使用xshell远程连接虚拟机,命令还没敲几个,不到一分钟就自动断开了,只能重新再次连接。啥事都干不成,有点小奔溃。作为技术人,会被这事难倒?排查原因是ip占用,所以就摸索一般,配置固定ip来解决该问题。

完成效果

按固定ip配置后,可以解决以下问题:

  • 配置固定ip后,切换网络或者断网,物理机ip变更后,虚拟机ip也不会变更
  • 虚拟机ip自定义,比如一个好记的ip地址

配置方式:虚拟机NAT模式+固定ip

我们实际来看下配置过程,跟上节奏,一起来配置吧。

虚拟机设置

设置虚拟机的网络连接方式,如下所示:
Centos7网络配置——设置固定ip-LMLPHP

配置为NAT模式后,我们再来配置虚拟机的网络配置,操作如下:

  • 编辑>虚拟网络编辑器
    Centos7网络配置——设置固定ip-LMLPHP

  • 更改设置
    Centos7网络配置——设置固定ip-LMLPHP

  • 选择VMnet8 > 取消勾选使用本地DHCP > 设置子网IP

Centos7网络配置——设置固定ip-LMLPHP

  • NAT设置,配置网关IP

Centos7网络配置——设置固定ip-LMLPHP

网络适配器设置

虚拟机中的操作,按如上步骤配置好后,我们来配置网络适配器的参数,如下所示:
Centos7网络配置——设置固定ip-LMLPHP

  • 注意:该页面的IP地址,不能跟虚拟机固定IP配置相同!!!只要保持在同一网段即可

虚拟机网络配置文件修改

完成上述步骤后,就该配置虚拟机的网络文件了。

配置网络参数

我们进入到目录cd /etc/sysconfig/network-scripts/,查看文件如下所示:
Centos7网络配置——设置固定ip-LMLPHP

这里的网络文件名,你的不一定跟我一样,不必纠结。

使用vim编辑器配置参数,命令 vim ifcfg-ens33 ,详细参数如下所示:

TYPE=Ethernet
NAME=ens33
UUID=0578db66-7e70-42bf-a1d4-6b04e2ba7059
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=static
HWADDR=00:0c:29:f2:a1:54 #MAC地址
NM_CONTROLLED=yes
IPADDR=192.168.88.88    #设置的固定IP
NETMASK=255.255.255.0  #子网掩码
GETEWAY=192.168.88.188  #网关,这是在虚拟机网络编辑时,配置的IP
DNS1=114.114.114.114   #DNS地址

重启网络服务

保存数据后,重启网络,使用命令service network restart,显示OK,说明重启成功。

网络调试

查看IP地址

先使用命令ifconfig或者ip addr查看ip是不是我们设置后的地址,确保配置生效。

调试

使用ping命令,看与外网或者物理机是否可以正常通讯
Centos7网络配置——设置固定ip-LMLPHP

确保可以连通情况下,也可以再用物理机检测下,确保可以远程连接
Centos7网络配置——设置固定ip-LMLPHP

远程连接

完成上述所有步骤后,说明配置ok了,网络也正常,我们再来试下远程连接。

关闭防火墙

使用命令systemctl stop firewalld关闭,关闭后,可以查看下防火墙状态,使用命令systemctl status firewalld,关闭后是disavtive(dead)

终端连接

尝试一次就成功了,如下所示,想想都开心。

Centos7网络配置——设置固定ip-LMLPHP

问题总结

在配置固定IP时,也遇到了2个小问题,稍微总结下,爬坑记。

network is unreachable

重启网络服务,报错network is unreachable

解决办法:使用命令ip addr查看网络信息,将mac地址更新到网络配置文件中,再次重启即可。

mac地址查看如下所示:
Centos7网络配置——设置固定ip-LMLPHP

网络配置文件,配置如下:
Centos7网络配置——设置固定ip-LMLPHP

ping unknown host

使用ping命令时,提示unknown host,排查结果是,没有默认路由。

解决办法:

  • ip route

使用命令ip route查看路由表信息,如下所示:
Centos7网络配置——设置固定ip-LMLPHP

  • route -n

查看路由详情,如下所示,是已经有了192.168.88.188的网关,是因为我已经加了,如果你也报同样的错,应该是没有这一条的。
Centos7网络配置——设置固定ip-LMLPHP

  • 添加默认路由

使用命令route add default gw 192.168.88.188,回车即可。再次使用route -n命令查看路由信息,就有了如上所示图中的信息了。

  • 测试

使用命令tracepath www.baidu.comping www.baidu.com,就能够看到正常的响应信息了

03-05 11:00