设置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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)