CentOS 7配置IP与DNS详细指南
设置静态IP地址
在CentOS 7中配置静态IP需要修改对应的网卡配置文件,以下是具体步骤:
-
定位并编辑网卡配置文件:使用文本编辑器(如
vi
或vim
)打开目标网卡的配置文档,默认情况下,网卡名称可能为ens33
(具体取决于系统识别结果),执行命令:vi /etc/sysconfig/networkscripts/ifcfgens33
-
关键参数说明及示例:将文件中的内容调整为如下形式,以实现静态IP分配: | 参数名 | 值 | 作用描述 | |||| |
TYPE
|Ethernet
| 网络类型固定为以太网 | |BOOTPROTO
|none
| 禁用DHCP协议,采用手动配置 | |ONBOOT
|yes
| 确保开机自动启动该网卡 | |IPADDR
|168.3.123
| 自定义的静态IPv4地址 | |NETMASK
|255.255.0
| 对应子网掩码 | |GATEWAY
|168.3.1
| 默认网关地址 | |DNS1
|168.3.1
| 首选DNS服务器 | |DNS2
|8.8.8
| 备用公共DNS服务(Google提供)| -
保存更改并重启网络服务:完成编辑后,保存文件并退出编辑器,随后执行以下命令使配置生效:
systemctl restart network
-
验证配置是否成功:通过命令检查当前网络状态是否符合预期:
- 查看网卡详细信息:
ip addr show ens33
- 确认路由表中的默认网关:
ip route show
- 核对DNS解析设置:
cat /etc/resolv.conf
- 查看网卡详细信息:
配置DNS客户端解析规则
系统的DNS客户端行为由/etc/resolv.conf
文件控制,该文件决定了向哪些DNS服务器发起查询请求,典型配置如下:
nameserver 8.8.8.8 # Google公共DNS作为第一优先级 nameserver 8.8.4.4 # Google备用DNS节点 nameserver 223.5.5.5 # 国内运营商提供的高速缓存节点
⚠️注意:若存在多个
nameserver
条目,系统会按顺序尝试连接,建议至少设置两个不同的DNS源以提高容错能力,修改完成后无需手动重启服务,但可通过systemctl restart NetworkManager
加速刷新缓存。
搭建本地DNS服务器(可选进阶操作)
如果希望自建权威DNS服务而非仅依赖外部解析,可按以下流程操作:
- 安装BIND套件:运行命令安装Berkeley Internet Name Domain软件包及其工具集:
sudo yum update y && sudo yum install bind bindutils y
- 启动服务并设为开机自启:管理BIND服务的生命周期:
sudo systemctl start named # 立即启动服务 sudo systemctl enable named # 加入开机启动项
- 定义正向/反向区域文件:在
/etc/named.conf
中声明需要管理的域名区间,例如创建example.com
的主区域记录,同时需编写对应的数据文件(如example.com.zone
),包含A记录、MX记录等资源条目。 - 测试解析功能:使用
dig
命令验证配置有效性:dig @localhost example.com # 查询本地DNS对特定域名的处理结果
常见问题与解答
Q1: 修改了/etc/resolv.conf
后为何仍未生效?
A: CentOS 7默认启用了NetworkManager守护进程自动管理网络连接,当它检测到文件被手动改动时,可能会覆盖用户的编辑内容,解决方法有两种:①在/etc/NetworkManager/NetworkManager.conf
的[main]
部分添加dns=no
禁用自动DNS管理;②或者每次修改后主动重启该服务:systemctl restart NetworkManager
。
Q2: 如何临时切换回DHCP动态获取IP?
A: 只需将网卡配置文件中的BOOTPROTO=dhcp
改回原值,并删除静态相关的IPADDR
、NETMASK
等字段,保存后执行systemctl restart network
即可恢复自动协商IP地址的功能,此方法常用于故障排查场景下的快速回滚测试。
通过以上步骤,您已掌握CentOS 7中IP与DNS的核心配置方法,无论是基础的网络连通性调试还是高级的域名解析服务部署,都能在此基础上