网络基础配置
网络配置是 Rocky Linux 系统管理中的重要组成部分。正确配置网络接口、IP 地址、路由表和网络服务对于确保系统的网络连接和通信至关重要。本教程将详细介绍 Rocky Linux 中的网络基础配置知识和常用工具。
网络接口基础
网络接口概述
网络接口是系统与网络通信的物理或逻辑连接点。在 Rocky Linux 中,网络接口可以是:
- 物理接口:如以太网(eth0、enp0s3)、Wi-Fi(wlan0、wlp3s0)、光纤等
- 虚拟接口:如回环接口(lo)、VLAN 接口、桥接接口等
- 逻辑接口:如隧道接口、虚拟网卡等
Rocky Linux 使用可预测的网络接口命名规则,常见的命名格式包括:
en- 以太网接口wl- 无线局域网接口ww- 无线广域网接口lo- 回环接口
命名规则通常包含设备类型、总线信息和设备序号,例如 enp0s3 表示:
en- 以太网p0- PCI 总线 0s3- 插槽 3
查看网络接口信息
使用 ip 命令
ip 命令是现代 Linux 系统中用于网络配置的主要工具,它替代了传统的 ifconfig 命令。
# 查看所有网络接口及其状态
ip addr show
# 或简写形式
ip a
# 查看特定接口
ip addr show eth0
# 查看网络接口的链接状态
ip link show
# 或简写形式
ip l使用 nmcli 命令
NetworkManager 是 Rocky Linux 中默认的网络管理工具,nmcli 是其命令行接口。
# 查看所有网络接口
nmcli device
# 查看所有连接配置
nmcli connection
# 查看特定设备的详细信息
nmcli device show eth0使用 NetworkManager 文本界面
# 启动 nmtui 文本界面
nmtuiIP 地址配置
静态 IP 地址配置
在服务器环境中,通常需要为网络接口配置静态 IP 地址。有多种方法可以实现这一点。
方法 1:使用 nmcli 命令
# 创建新的网络连接配置
nmcli connection add con-name "static-eth0" ifname eth0 type ethernet ip4 192.168.1.100/24 gw4 192.168.1.1
# 设置 DNS 服务器
nmcli connection modify "static-eth0" ipv4.dns "8.8.8.8,8.8.4.4"
# 启用自动连接
nmcli connection modify "static-eth0" connection.autoconnect yes
# 激活连接
nmcli connection up "static-eth0"方法 2:编辑网络配置文件
在 Rocky Linux 中,NetworkManager 的配置文件位于 /etc/NetworkManager/system-connections/ 目录下。
# 列出所有连接配置文件
sudo ls -la /etc/NetworkManager/system-connections/
# 编辑特定连接配置
sudo vim /etc/NetworkManager/system-connections/static-eth0.nmconnection示例配置文件内容:
[connection]
type=ethernet
interface-name=eth0
autoconnect=yes
[ethernet]
[ipv4]
method=manual
address1=192.168.1.100/24,192.168.1.1
dns=8.8.8.8;8.8.4.4;
[ipv6]
method=disabled修改配置后重新加载:
# 重载网络连接
sudo nmcli connection reload
# 激活连接
sudo nmcli connection up static-eth0动态 IP 地址配置
对于客户端机器或开发环境,可以使用 DHCP 自动获取 IP 地址。
# 创建 DHCP 连接
nmcli connection add con-name "dhcp-eth0" ifname eth0 type ethernet
# 激活连接
nmcli connection up "dhcp-eth0"或编辑配置文件:
[connection]
type=ethernet
interface-name=eth0
autoconnect=yes
[ethernet]
[ipv4]
method=auto
[ipv6]
method=disabled临时配置 IP 地址
如果需要临时配置 IP 地址,可以使用 ip 命令:
# 设置临时 IP 地址
ip addr add 192.168.1.100/24 dev eth0
# 添加默认网关
ip route add default via 192.168.1.1 dev eth0
# 临时添加 DNS 服务器(编辑 /etc/resolv.conf)
sudo vim /etc/resolv.conf注意:使用 ip 命令进行的临时配置在系统重启后会丢失。
路由配置
查看路由表
# 查看路由表
ip route show
# 或简写形式
ip r
# 查看详细的路由信息,包括策略路由
ip route show table all添加和删除路由
临时路由
# 添加默认网关
ip route add default via 192.168.1.1 dev eth0
# 添加网络路由
ip route add 10.0.0.0/8 via 192.168.1.254 dev eth0
# 删除路由
ip route del 10.0.0.0/8持久化路由
要使路由配置在系统重启后保留,可以通过以下方法:
- 使用 nmcli:
# 添加持久化路由
nmcli connection modify "static-eth0" +ipv4.routes "10.0.0.0/8 192.168.1.254"
# 重新激活连接
nmcli connection up "static-eth0"- 使用路由配置文件:
创建 /etc/sysconfig/network-scripts/route-eth0 文件:
sudo vim /etc/sysconfig/network-scripts/route-eth0添加路由信息:
10.0.0.0/8 via 192.168.1.254 dev eth0DNS 配置
DNS 解析基础
DNS(域名系统)将域名解析为 IP 地址,是网络通信的重要组成部分。在 Rocky Linux 中,DNS 配置主要通过以下文件管理:
/etc/resolv.conf- DNS 解析器配置文件/etc/hosts- 本地主机名解析文件
配置 DNS 服务器
使用 nmcli 配置 DNS
# 设置 DNS 服务器
nmcli connection modify "static-eth0" ipv4.dns "8.8.8.8,8.8.4.4"
# 应用设置
nmcli connection up "static-eth0"直接修改 resolv.conf
注意:在使用 NetworkManager 的系统中,/etc/resolv.conf 通常是符号链接或由 NetworkManager 动态生成的。建议通过 NetworkManager 配置 DNS。
如果需要直接修改:
# 备份原始文件
sudo cp /etc/resolv.conf /etc/resolv.conf.bak
# 编辑 resolv.conf
sudo vim /etc/resolv.conf添加 DNS 服务器:
nameserver 8.8.8.8
nameserver 8.8.4.4本地主机名解析
/etc/hosts 文件允许你在本地将主机名映射到 IP 地址,而不需要 DNS 服务器。
sudo vim /etc/hosts添加本地解析条目:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.100 server.example.com server网络服务管理
NetworkManager 服务
NetworkManager 是 Rocky Linux 中默认的网络管理服务。
# 查看 NetworkManager 服务状态
systemctl status NetworkManager
# 启动 NetworkManager
systemctl start NetworkManager
# 停止 NetworkManager
systemctl stop NetworkManager
# 重启 NetworkManager
systemctl restart NetworkManager
# 设置开机自启
systemctl enable NetworkManager
# 禁用开机自启
systemctl disable NetworkManager网络接口控制
# 启用网络接口
nmcli device set eth0 managed yes
# 禁用网络接口
nmcli device set eth0 managed no
# 关闭网络接口
ip link set eth0 down
# 开启网络接口
ip link set eth0 up网络连接管理
# 列出所有网络连接
nmcli connection show
# 激活网络连接
nmcli connection up "static-eth0"
# 断开网络连接
nmcli connection down "static-eth0"
# 删除网络连接
nmcli connection delete "static-eth0"
# 重新加载所有连接配置
nmcli connection reload高级网络配置
配置多个 IP 地址
可以为单个网络接口配置多个 IP 地址。
# 使用 nmcli 添加额外的 IP 地址
nmcli connection modify "static-eth0" +ipv4.addresses "192.168.1.101/24"
# 激活连接
nmcli connection up "static-eth0"
# 临时添加 IP 地址
ip addr add 192.168.1.102/24 dev eth0配置 VLAN 接口
虚拟局域网(VLAN)允许在物理网络上创建多个逻辑网络。
# 安装 VLAN 工具
sudo dnf install vconfig -y
# 加载 8021q 模块
sudo modprobe 8021q
# 创建 VLAN 接口
nmcli connection add type vlan con-name eth0.100 ifname eth0.100 dev eth0 id 100
# 配置 IP 地址
nmcli connection modify eth0.100 ipv4.addresses "192.168.100.10/24"
# 激活 VLAN 接口
nmcli connection up eth0.100配置网络桥接
网络桥接允许将多个网络接口连接在一起,形成一个单一的网络段。这在虚拟化环境中特别有用。
# 安装桥接工具
sudo dnf install bridge-utils -y
# 创建桥接接口
nmcli connection add type bridge con-name br0 ifname br0
# 配置桥接接口 IP 地址
nmcli connection modify br0 ipv4.addresses "192.168.1.100/24"
mcli connection modify br0 ipv4.gateway "192.168.1.1"
mcli connection modify br0 ipv4.dns "8.8.8.8,8.8.4.4"
mcli connection modify br0 ipv4.method manual
# 将物理接口添加到桥接
nmcli connection add type bridge-slave con-name eth0-br0 ifname eth0 master br0
# 激活连接
nmcli connection up br0
nmcli connection up eth0-br0配置网络绑定(Bonding)
网络绑定允许将多个网络接口组合成一个逻辑接口,提供冗余或增加带宽。
# 创建绑定接口
nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup,miimon=100"
# 配置 IP 地址
nmcli connection modify bond0 ipv4.addresses "192.168.1.100/24"
mcli connection modify bond0 ipv4.gateway "192.168.1.1"
mcli connection modify bond0 ipv4.dns "8.8.8.8,8.8.4.4"
mcli connection modify bond0 ipv4.method manual
# 添加从接口
sudo nmcli connection add type bond-slave con-name eth0-bond0 ifname eth0 master bond0
sudo nmcli connection add type bond-slave con-name eth1-bond0 ifname eth1 master bond0
# 激活连接
sudo nmcli connection up bond0
sudo nmcli connection up eth0-bond0
sudo nmcli connection up eth1-bond0网络连接测试
基本连接测试
# 测试网络连接
ping -c 4 8.8.8.8
# 测试 DNS 解析
nslookup www.example.com
# 或使用 dig
dig www.example.com
# 跟踪路由
traceroute www.example.com
# 或使用 mtr(更详细)
mtr www.example.com端口和服务测试
# 检查特定端口是否开放
nc -zv 192.168.1.1 22
# 或使用 telnet
telnet 192.168.1.1 22
# 扫描多个端口
nmap 192.168.1.1-100网络接口性能测试
# 安装性能测试工具
sudo dnf install iperf3 -y
# 在一台服务器上启动 iperf3 服务
iperf3 -s
# 在另一台客户端上测试连接速度
iperf3 -c server_ip网络故障排除
常见网络问题及解决方案
无法连接到网络
- 检查网络接口状态
- 验证 IP 地址配置
- 确认物理连接(网线、Wi-Fi)
无法解析域名
- 检查 DNS 配置
- 测试直接使用 IP 地址连接
- 查看防火墙规则
网络连接速度慢
- 检查网络接口统计信息
- 测试带宽
- 检查路由配置
网络诊断工具
网络接口诊断
# 查看网络接口统计信息
ip -s link
# 检查网络接口错误
ethtool -S eth0
# 查看网络接口配置
ethtool eth0连接诊断
# 检查活动连接
ss -tuln
# 查看详细的网络连接
netstat -tulpn
# 监控网络流量
tcpdump -i eth0系统日志检查
# 查看网络相关日志
sudo journalctl -u NetworkManager
# 查看内核网络日志
dmesg | grep -i network
dmesg | grep -i eth0网络配置最佳实践
使用一致的命名约定:为网络连接和配置文件使用清晰、一致的命名
使用 UUID 或 MAC 地址:在网络配置中使用 UUID 或 MAC 地址来标识网络接口,避免设备名称变化
备份网络配置:在修改网络配置前备份当前配置
使用静态 IP 地址:对于服务器和关键设备,使用静态 IP 地址
配置多个 DNS 服务器:配置至少两个 DNS 服务器以提高可用性
启用网络服务自动启动:确保网络服务在系统启动时自动启动
定期检查网络配置:定期检查和更新网络配置,确保其安全性和有效性
使用网络监控:设置网络监控工具,及时发现和解决网络问题
总结
网络配置是 Rocky Linux 系统管理中的基础且重要的部分。本教程详细介绍了网络接口管理、IP 地址配置、路由设置、DNS 配置和网络服务控制等内容,以及各种高级网络配置选项和故障排除方法。
在实际应用中,建议使用 NetworkManager 和其命令行工具 nmcli 进行网络配置,这是 Rocky Linux 中推荐的方法。对于高级配置,如 VLAN、桥接和绑定,可以使用相应的专用工具和配置选项。
良好的网络配置不仅可以确保系统的网络连接正常工作,还可以提高网络性能、安全性和可靠性。通过遵循最佳实践并定期监控网络状态,可以有效避免和解决常见的网络问题。