设置centos7静态IP以及解决CentOS7使用静态IP地址不能上网问题
一、设置静态IP地址
1、执行终端命令
vim /etc/sysconfig/network-scripts/ifcfg-ens33
2、修改红色部分,没有的就添加
TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="static" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="ens33" UUID="2cbd61e6-61e4-4535-a5db-fbdf82a8dca2" DEVICE="ens33" ONBOOT="yes" IPADDR=192.168.237.132 NETMASK=255.255.255.0 GATEWAY=192.168.237.2 DNS1=8.8.8.8
一张图说明一下上面配置的部分信息
3、重启网络服务命令
systemctl restart network.service
4、重启网络服务之后尝试ping一下内网和外网
ping www.baidu.com
能ping通百度的话说明网络没有问题,静态ip设置成功。
如果网络有问题就做接下来的操作(亲测有效)
二、使用静态IP地址不能上网问题
1、 查看受网络管理器托管的设备
nmcli dev status
发现 ens33 也就是我们编辑的网卡是受托管的.
2、在ifcfg-ens33文件最后添加NM_CONTROLLED = no;取消托管
vim /etc/sysconfig/network-scripts/ifcfg-ens33
在最后添加NM_CONTROLLED = no
3、设置VM虚拟网络
点击编辑,然后点击虚拟网络编辑器
选择VMnet8,把DHCP的√去掉
然后点击上图中的NAT设置
网关ip设置为ifcfg-ens33 文件设置的网关即可,然后点击确定
4、设置路由
至此,CentOS7可以Ping通网关,但Ping不过外面的主机.也就相当于二层路由器.这是因为CentOS7没有默认路由的原因
(1)检查路由
route -n
(2)添加DNS(为空就添加)
vim /etc/resolv.conf
(3)添加永久静态路由
vi /etc/sysconfig/network-scripts/route-ens33
内容按格式填就行
比如我之前填的网关为192.168.237.2
那么内容如下(红色部分不用修改,根据你的网关改其余部分)
192.168.237.0/24 via 192.168.237.2 0.0.0.0/0 via 192.168.237.2
懂网络的人都知道:虚拟机网关192.168.237.2是电脑虚拟出来的,能ping通网关(192.168.237.2)就相当于能与真实电脑通讯,理论上真实电脑能上网,虚拟机就能上网。
那为什么虚拟机不能上网呢?应为虚拟机只是电脑,他接收到网络数据包不知道该发给谁,这时咱门添加路由,指定发给网关(192.168.237.2),也就是发给外面的真实电脑,真实电脑会通过自己的外网解析,把外网数据返回来。很简单吧
5、进行测试
测试成功
主要参考https://blog.csdn.net/woailyoo0000/article/details/79506999