【Linux】设置centos7静态IP以及解决CentOS7使用静态IP地址不能上网问题

编程知识 更新时间:2023-04-20 07:51:47

背景:

win10安装虚拟机CentOS7,为了用MobaXterm访问静态IP不用每次系统分配IP,登录时还要换IP就设置了静态的IP

问题描述

前几天还用的好好的,百度也可以ping通,但是今天突然ping百度失败了,提示网络不可达。折腾了好久都不行,命令用了好几次都不行。

systemctl restart network

原因分析:

  1. 首先想到了网卡的静态IP配置文件被改,遂打开文件排查
vim  /etc/sysconfig/network-scripts/ifcfg-ens33

文件内容如下:

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=1e30765a-f8f4-42a3-b8a7-bfaa0dbbc57f
DEVICE=ens33
ONBOOT=yes
#ip地址
IPADDR=192.168.88.188
#网关
GATWAY=192.168.88.2
#DNS
DNS1=192.168.88.2
#子网掩码
NETMASK=255.255.255.0
NM_CONTROLLED=no

确实没有异常

重启服务再ping 百度,依旧不行

systemctl restart network

2.然后查看了虚拟机网络设置

都是正常的,特意还取消勾选了这里

重启服务再ping 百度,依旧不行

systemctl restart network

这时想到了其他设置,请继续往下看,一般情况的机器按上面的设置都不会有问题。


解决方案:

  1. 查看受网络管理器托管的设备
nmcli dev status


以太网ens33未托管说明依旧正常。
如果你的机器这里已连接可以如下修改,在ifcfg-ens33文件最后添加NM_CONTROLLED = no;取消托管:

vim  /etc/sysconfig/network-scripts/ifcfg-ens33

NM_CONTROLLED=no

至此,CentOS7可以Ping通网关,但Ping不过外面的主机.也就相当于二层路由器.这是因为CentOS7没有默认路由的原因
2. 检查路由

route -n
  1. 查看DNS
vim /etc/resolv.conf
 # Generated by NetworkManager
nameserver 192.168.88.2

如果你的设备没有,请按格式添加!

  1. 添加永久静态路由
vim  /etc/sysconfig/network-scripts/route-ens33

打开路由文件,如果没有会新建文件

192.168.88.0/24 via 192.168.88.2
0.0.0.0/0 via 192.168.88.2

按我上述的填写,添加永久静态路由
虚拟机网关192.168.237.2是电脑虚拟出来的,能ping通网关(192.168.237.2)就相当于能与真实电脑通讯,理论上真实电脑能上网,虚拟机就能上网。
那为什么虚拟机不能上网呢?因为虚拟机只是电脑,他接收到网络数据包不知道该发给谁,这时咱门添加路由,指定发给网关(192.168.88.2),也就是发给外面的真实电脑,真实电脑会通过自己的外网解析,把外网数据返回来。

  1. 测试网络

更多推荐

【Linux】设置centos7静态IP以及解决CentOS7使用静态IP地址不能上网问题

本文发布于:2023-04-15 20:47:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/2586602d8aad1d547e7a72fbaee0aef7.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:静态   地址   Linux   IP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 78939文章数
  • 14阅读数
  • 0评论数