在安装完CentOS7后,当我每次启动CentOS并使用SecureCRT链接时,都发现CentOS的IP总是在变,这就很苦恼了,总不能每次链接的时候都先查一下虚拟机的IP吧,所以打算把它设置成固定IP。这样使用SecureCRT连接时只需要连接一次以后就不需要反复更新连接的IP了。
IP地址的设置一般是指设置某个网卡端口的IP,所以想设置IP,首先需要弄清楚是要为哪个网卡端口设置IP,CentOS7与一般的Linux系统一样,可以通过ifconfig命令查询当前的网络设置。
由上图可知我的系统目前是使用网卡ens32访问Internet的,我们要设置的就是ens32的IP地址。
弄清楚要设置IP的对象后,需要到/etc/sysconfig/network-scripts/下修改配置文件ifcfg-ens32。
使用vim打开并做如下修改,需要登录root用户
首选dns下设置114.114.114.114(国内用户首选),
或者设置8.8.8.8(谷歌dns,国外用户首选)。
$ nmcli dev status --查看受网络管理器托管的设备
发现 ens32 也就是我们编辑的网卡是受托管的.
$ vi ifcfg-ens32
在最后添加NM_CONTROLLED = no ,取消托管.
修改后保存并重启network服务即可
$ service network restart
打开我们的虚拟机设置,我的是VMware® Workstation 15 Pro
这里给出NAT模式下对应的的解决方法:
一、在vm虚拟机中 按照 编辑->虚拟网络编辑器 (不用关闭当前虚拟机,就在当前虚拟机的Workstation进行设置就好)
这时我们无法进行任何设置,因为我们没有开启管理员权限,如下图进行开启。
至此,CentOS7可以Ping通网关,但Ping不过外面的主机.也就相当于二层路由器.这是因为CentOS7没有默认路由的原因。
$ route -n --检查路由
$ vim /etc/resolv.conf --添加DNS(我自己这台机器打开的时候已经被自动设置好了)
$ vim /etc/sysconfig/network-scripts/route-ens32 --添加永久静态路由
懂网络的人都知道:虚拟机网关192.168.80.2是电脑虚拟出来的,能ping通网关(192.168.80.2)就相当于能与真实电脑通讯,理论上真实电脑能上网,虚拟机就能上网。
那为什么虚拟机不能上网呢?
因为虚拟机只是电脑,他接收到网络数据包不知道该发给谁,这时咱门添加路由,指定发给网关(192.168.80.2),也就是发给外面的真实电脑,真实电脑会通过自己的外网解析,把外网数据返回来。
如果Linux的版本不是Centos7而是CentOS6.5,则修改静态路由方式如下
/etc/sysconfig/static-routes 当系统没有此文件时,可以新建此文件。向文件中添加静态路由记录,例如:
any net 192.168.247.0 netmask 255.255.255.0 gw 192.168.247.2 #内网路由
any net 0.0.0.0 netmask 0.0.0.0 gw 192.168.247.2 #默认路由
$ service network restart --重启网卡,使之生效
回到windows主机
1).打开控制面板,点击“系统和安全”选项。然后打开“Windows防火墙”。
2).点击进入“高级设置”,选择“入站规则”。
3).在入门规则中找到“文件和打印机共享(回显请求-ICMPv4-In)”选项,看是有两项,都是未启用。分别在两项上右键,选择“启用规则”。
在虚拟机系统中ping本机的ip修改完成后,再回到虚拟机系统中,在终端中输入命令:
$ ping 192.168.80.1 --可以看到已经可以正常ping通了。
至此大功告成!!! 撒花 ★,°:.☆( ̄▽ ̄)/$:.°★ 。
CentOS7设置固定IP
5步解决CentOS7使用静态IP地址不能上网问题
linux不能ping通主机,主机能ping通linux