一、使用nmtui(文本图形界面)- 推荐新手使用
# 启动网络配置工具
sudo nmtui
操作步骤:
选择 "Edit a connection"
选择要配置的网络接口(如ens33、eth0等)
根据需要配置:
- IPv4 CONFIGURATION:选择 Manual
- 输入IP地址、子网掩码、网关
- 输入DNS服务器
保存退出,重启网络服务
二、使用nmcli命令 - 推荐
# 查看网络接口
nmcli connection show
# 配置静态IP
sudo nmcli connection modify ens33 \
ipv4.addresses 192.168.1.100/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns "8.8.8.8 8.8.4.4" \
ipv4.method manual \
connection.autoconnect yes
# 启用配置
sudo nmcli connection up ens33
# 验证配置
ip addr show ens33
三、编辑配置文件(传统方式)
配置文件位置:/etc/sysconfig/network-scripts/ifcfg-<接口名>
示例配置文件(ens33接口):
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
内容配置:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static # 使用static表示静态IP
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens33
DEVICE=ens33
ONBOOT=yes # 开机自启
# 静态IP配置
IPADDR=192.168.1.100
NETMASK=255.255.255.0 # 或使用PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
四、配置DNS
除了在接口配置文件中设置DNS,还可以修改:
# 编辑resolv.conf(注意:NetworkManager可能会覆盖)
sudo vi /etc/resolv.conf
# 或修改NetworkManager配置
sudo vi /etc/NetworkManager/NetworkManager.conf
# 在[main]部分添加:
dns=none
# 然后手动管理/etc/resolv.conf
五、实用技巧和注意事项
1. 网络服务管理
# CentOS 7使用systemctl管理网络
sudo systemctl restart NetworkManager # 重启NetworkManager
sudo systemctl status NetworkManager # 查看状态
# 或使用传统命令
sudo systemctl restart network
2. 查看和验证配置
# 查看IP地址
ip addr show
ifconfig -a # 需要安装net-tools
# 查看路由
ip route show
# 测试网络连通性
ping -c 4 8.8.8.8
ping -c 4 gateway_ip
# 测试DNS解析
nslookup google.com
dig google.com
3. 多网卡配置
# 为不同网卡创建不同的配置文件
# /etc/sysconfig/network-scripts/ifcfg-ens33
# /etc/sysconfig/network-scripts/ifcfg-ens34
4. DHCP配置
# 如果使用DHCP,配置文件中只需:
BOOTPROTO=dhcp
ONBOOT=yes
5. 故障排查命令
# 查看NetworkManager日志
journalctl -u NetworkManager -f
# 检查配置文件语法
nmcli connection reload
# 测试配置文件
cat /etc/sysconfig/network-scripts/ifcfg-ens33
六、最佳实践建议
备份原配置文件:
sudo cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak
使用完整CIDR表示法:
# 使用这种方式更规范
IPADDR=192.168.1.100
PREFIX=24
# 而不是NETMASK=255.255.255.0
配置完成后验证:
- 检查IP配置是否正确
- 测试网关连通性
- 测试DNS解析
- 测试外网访问
网络接口名可能不同:
# 查看实际接口名
ip link show
ls /etc/sysconfig/network-scripts/ifcfg-*
七、一键配置脚本示例
#!/bin/bash
# 配置静态IP的快速脚本
INTERFACE="ens33"
IP_ADDR="192.168.1.100"
GATEWAY="192.168.1.1"
DNS1="8.8.8.8"
DNS2="8.8.4.4"
cat > /etc/sysconfig/network-scripts/ifcfg-${INTERFACE} << EOF
TYPE=Ethernet
BOOTPROTO=static
NAME=${INTERFACE}
DEVICE=${INTERFACE}
ONBOOT=yes
IPADDR=${IP_ADDR}
PREFIX=24
GATEWAY=${GATEWAY}
DNS1=${DNS1}
DNS2=${DNS2}
EOF
systemctl restart network
选择哪种方法取决于你的需求:
- nmtui:适合新手,交互式操作
- nmcli:推荐方式,功能强大
- 配置文件:传统方式,适合批量部署
配置完成后记得测试网络连通性!