CentOS配置静态IP的DNS
准备工作
(一)确认网卡名称
在CentOS系统中,不同的服务器可能网卡名称不同,可以使用命令ip addr
或ifconfig
(需安装nettools包)来查看网卡名称,常见的网卡名称如ens33、eth0等。
(二)备份配置文件
在进行任何配置修改之前,建议先备份相关的配置文件,以防出现意外情况可以快速恢复,备份网络配置文件和resolv.conf文件:
sudo cp /etc/sysconfig/networkscripts/ifcfgens33 /etc/sysconfig/networkscripts/ifcfgens33.bak sudo cp /etc/resolv.conf /etc/resolv.conf.bak
配置静态IP及DNS(以CentOS 7为例)
(一)编辑网络配置文件
使用vi命令打开网络配置文件,假设网卡名称为ens33:
sudo vi /etc/sysconfig/networkscripts/ifcfgens33
在配置文件中设置静态IP、网关和DNS,以下是一个示例配置: |参数|说明|示例值| |||| |TYPE|网络类型|Ethernet| |PROXY_METHOD|代理方式|none| |BROWSER_ONLY|是否仅浏览器|no| |BOOTPROTO|启动协议|static(表示静态IP)| |DEFROUTE|是否默认路由|yes| |IPV4_FAILURE_FATAL|IPv4失败是否致命|no| |IPV6INIT|是否启用IPv6|yes| |IPV6_AUTOCONF|IPv6自动配置|yes| |IPV6_DEFROUTE|IPv6默认路由|yes| |IPV6_FAILURE_FATAL|IPv6失败是否致命|no| |IPV6_ADDR_GEN_MODE|IPv6地址生成模式|stableprivacy| |NAME|网卡名称|ens33| |UUID|唯一标识符|(系统自动生成)| |DEVICE|设备名称|ens33| |ONBOOT|是否开机启动|yes| |IPADDR|IP地址|192.168.3.123| |NETMASK|子网掩码|255.255.255.0| |GATEWAY|网关|192.168.3.1| |DNS1|主DNS服务器地址|192.168.3.1| |DNS2|备用DNS服务器地址|8.8.8.8|
(二)重启网络服务
保存并退出配置文件后,重启网络服务使设置生效:
sudo systemctl restart network
(三)验证配置设置
执行以下命令检查配置是否生效:
ip addr show ens33 # 显示网卡ens33的IP地址和子网掩码 ip route show # 显示网关地址 cat /etc/resolv.conf # 查看DNS服务器地址
若上述命令均能正确展示所设置的IP、网关和DNS信息,则代表配置成功。
配置静态IP及DNS(以CentOS 9为例)
(一)查找网络连接配置文件
CentOS 9的网络接口配置文件通常位于/etc/NetworkManager/systemconnections/
目录下,每个网络接口都有一个以接口名称命名的配置文件,例如ens18.nmconnection,可以使用以下命令查看:
ls /etc/NetworkManager/systemconnections/
(二)编辑网络连接配置文件
假设网卡名称为ens18,使用vi命令打开对应的配置文件:
sudo vi /etc/NetworkManager/systemconnections/ens18.nmconnection
在配置文件中进行如下修改: |参数|说明|示例值| |||| |[connection]|连接配置部分开始标识|无特定值| |id|接口标识,通常与接口名称相同|ens18| |uuid|唯一标识符,由系统自动生成|(系统自动生成的值)| |type|连接类型|ethernet| |interfacename|接口名称|ens18| |ipv4.method|IPv4获取方式|manual(手动配置)| |ipv4.addresses|IPv4地址及子网掩码|192.168.1.91/24| |ipv4.gateway|网关地址|192.168.1.1| |ipv4.dns|DNS服务器地址|8.8.8.8(可添加多个,用空格分隔)|
(三)应用配置并重启网络服务
修改完成后,保存并退出配置文件,然后执行以下命令重启NetworkManager服务使配置生效:
sudo systemctl restart NetworkManager
(四)验证配置设置
使用以下命令验证网络配置是否生效:
ip addr show ens18 nmcli connection show ens18 # 查看ens18连接的详细信息,包括DNS配置
相关问题与解答
(一)问题:配置静态IP和DNS后,网络连接正常,但无法访问某些网站,可能是哪些原因导致的?
解答:可能的原因有以下几种:
- DNS缓存问题:本地计算机可能缓存了旧的DNS记录,导致无法解析新的域名,可以尝试清除DNS缓存,在CentOS系统中可以使用以下命令:
sudo systemdresolve flushcaches
- 防火墙限制:防火墙可能阻止了对某些网站的访问,可以检查防火墙规则,使用以下命令查看防火墙状态:
sudo firewallcmd state
如果防火墙开启,可以进一步查看具体的规则:
sudo firewallcmd listall
根据需要调整防火墙规则,允许对特定网站或端口的访问,允许访问端口80(HTTP)和443(HTTPS):
sudo firewallcmd permanent addservice=http sudo firewallcmd permanent addservice=https sudo firewallcmd reload
- 网站服务器问题:目标网站服务器可能出现故障、维护或被关闭等情况,导致无法访问,可以尝试访问其他类似网站,以确定是否是个别网站的问题。
- 网络路由问题:虽然静态IP和网关配置正确,但在网络传输过程中可能存在路由问题,导致无法到达目标网站,可以使用
traceroute
命令跟踪数据包的路由路径,检查是否存在网络故障点:traceroute www.example.com
(二)问题:如何将配置好的静态IP和DNS设置在系统重启后自动生效?
解答:在CentOS系统中,通过正确的配置和设置,静态IP和DNS通常在系统重启后会自动生效,但需要注意以下几点:
- 确保配置文件正确保存:在修改网络配置文件后,务必正确保存文件并退出编辑器,否则,配置更改可能不会生效。
- 设置服务开机自启:对于网络服务(如network或NetworkManager),要确保其设置为开机自启,可以使用以下命令查看服务的开机自启状态:
systemctl isenabled network # 对于CentOS 7及更早版本 systemctl isenabled NetworkManager # 对于CentOS 9及更高版本
如果服务未设置为开机自启,可以使用以下命令设置:
sudo systemctl enable network # 对于CentOS 7及更早版本 sudo systemctl enable NetworkManager # 对于CentOS 9及更高版本
- 检查配置文件权限:确保网络配置文件具有正确的权限,以便系统在重启时能够读取和加载配置,一般情况下,这些配置文件的权限应该设置为只有root用户可读写执行,可以使用以下命令查看文件权限:
ls l /etc/sysconfig/networkscripts/ifcfgens33 # 对于CentOS 7及更早版本 ls l /etc/NetworkManager/systemconnections/ens18.nmconnection # 对于CentOS 9及更高版本
如果权限不正确,可以使用
chmod
命令进行修改,将文件权限设置为只有root用户可读写执行:sudo chmod 600 /etc/sysconfig/networkscripts/ifcfgens33 # 对于CentOS 7及更早版本 sudo chmod 600 /etc/NetworkManager/systemconnections/ens18.