【CentOS 】DHCP 更改为静态 IP 地址并且遇到无法联网

引言

在 CentOS 7 中,如果你将网络配置从 DHCP 更改为静态 IP 地址并且遇到无法联网的问题,以下是一些步骤和建议来帮助你解决这个问题:

解决方式

标题1. 编辑网络配置文件

CentOS 7 使用 NetworkManager 管理网络,但底层配置文件仍然位于 /etc/sysconfig/network-scripts/ 目录下。对于特定的网络接口,比如 eth0,配置文件可能是 ifcfg-eth0

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

标题2. 确保配置文件包含以下内容

  • BOOTPROTO=static 表示使用静态IP配置。
  • IPADDR 设置为你想要的静态IP地址。
  • NETMASK 设置为子网掩码。
  • GATEWAY 设置为默认网关的IP地址。
  • DNS1DNS2 设置为首选和备用DNS服务器的IP地址。

例如:

DEVICE="ens33"
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.2
DNS1=8.8.8.8
DNS2=8.8.4.4

在这里插入图片描述
参考我的
在这里插入图片描述

特别注意

网关注意最后一位不要是1

IPADDR=192.168.148.133
GATEWAY=192.168.148.2

标题3. 重启网络服务

在 CentOS 7 中,你可以使用以下命令来重启网络服务:

sudo systemctl restart network

或者,如果你更改的是无线网络配置,使用:

sudo systemctl restart network-manager

标题4. 检查配置是否生效

使用 ip addr 命令来检查网络接口的IP地址是否已经更新。

标题5. 测试网络连接

使用 ping 命令来测试你的网络连接:

ping -c 4 8.8.8.8

标题6. 检查路由表

使用 routeip route 命令来检查路由表,确保你的默认网关已经设置正确。

标题7. 检查防火墙设置

CentOS 7 默认使用 firewalld 作为防火墙,确保防火墙规则没有阻止你的网络流量:

sudo firewall-cmd --list-all

标题8. 检查 SELinux 状态

CentOS 7 使用 SELinux 进行安全增强,如果 SELinux 设置为强制模式,可能需要调整策略来允许网络服务:

getenforce

如果 SELinux 是 Enforcing 模式,你可能需要调整策略或暂时设置为宽容模式来调试问题:

sudo setenforce 0

标题9. 检查系统日志

查看 /var/log/messages 或使用 dmesg 来获取可能的错误信息。

标题10. 重新启用 NetworkManager

如果你做了更改但仍然遇到问题,尝试重新启动 NetworkManager:

```sh
sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager
```

标题11. 使用 nmcli 工具

NetworkManager 提供了一个命令行工具 `nmcli`,你可以使用它来管理网络连接:

```sh
sudo nmcli d
sudo nmcli con up id <connection-name>
```

通过以上步骤,你应该能够诊断并解决在将 CentOS 7 网络配置从 DHCP 更改为静态 IP 后遇到的无法联网问题。如果问题依旧,请仔细检查你的网络配置,并确保所有设置都正确无误。

### 解决虚拟机 CentOS 配置静态 IP无法上网的方法 对于在虚拟机环境中配置了静态 IPCentOS 系统仍然无法访问互联网的情况,可能的原因涉及网络接口设置不当、路由表错误或是防火墙阻止流量等问题。 #### 检查并修改网卡配置文件 通常情况下,在 `/etc/sysconfig/network-scripts/` 路径下存在名为 `ifcfg-ethX` 或者 `ifcfg-enp0s3`(取决于具体的网卡名称)的文件用于定义网络参数。确保该文件中的内容如下所示: ```bash TYPE="Ethernet" BOOTPROTO="static" # 使用静态IP地址分配方式 DEFROUTE="yes" PEERDNS="yes" PEERROUTES="yes" IPV4_FAILURE_FATAL="no" NAME="eno16777968" # 这里应替换为实际设备名 UUID="..." # 自动生成的唯一标识符保持不变即可 DEVICE="eno16777968" # 设备名称同样需匹配实际情况 ONBOOT="yes" # 开机自动启动此连接 IPADDR="192.168.x.y" # 设置期望获得的具体IPv4地址 NETMASK="255.255.255.0"# 子网掩码 GATEWAY="192.168.x.z" # 默认网关地址 DNS1="8.8.8.8" # 可选:指定首选DNS服务器 ``` 上述配置中需要特别注意的是 GATEWAY 和 DNS 地址应当指向宿主机所在局域网内的路由器或 DHCP 提供的服务[^1]。 #### 添加默认路由规则 如果已经正确设置了网卡属性却依旧不能正常联网,则可能是缺少必要的路由条目。可以尝试通过命令行手动添加一条通往外部世界的路径: ```bash ip route add default via 192.168.x.z dev eno16777968 ``` 其中 "dev eno16777968" 应当被替换成当前使用的物理网口代号;而 "via 192.168.x.z" 则代表通向外网的第一个跳转节点即网关的位置。 #### 关闭 SELinux 并调整防火墙策略 有时安全增强型 Linux (SELinux) 或 iptables 规则也会阻碍正常的通信行为。临时关闭这些防护措施有助于排查问题根源: ```bash setenforce 0 # 将 SELinux 模式切换至宽容模式 systemctl stop firewalld.service # 停止firewall服务 ``` 为了长期生效,还需要编辑相应的配置文档来永久禁用它们或者制定更加宽松的安全政策。 #### 测试连通性 完成以上操作之后重启网络服务(`service network restart`)再利用 ping 工具测试目标站点可达情况,比如执行 `ping www.google.com` 来验证是否能够成功解析域名并与之建立 TCP/IP 层面的数据交换关系。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值