第99集:网络配置持久化
教学目标
- 理解网络配置持久化的概念和重要性
- 掌握不同Linux发行版的网络配置文件格式
- 学习网络配置持久化的实现方法
- 能够独立解决网络配置持久化相关的问题
- 了解网络配置持久化的最佳实践
主要知识点
- 网络配置持久化的概念和重要性
- 不同Linux发行版的网络配置文件
- 网络接口配置持久化
- IP地址配置持久化
- DNS配置持久化
- 路由配置持久化
- 网络配置持久化的故障排除
核心知识点讲解
网络配置持久化的概念和重要性
网络配置持久化是指将网络配置信息保存到系统配置文件中,确保系统重启后网络配置能够自动恢复。它的重要性体现在:
- 确保系统重启后网络服务正常运行
- 避免手动重新配置网络参数
- 提高系统的可靠性和稳定性
- 便于批量部署和管理多台服务器
不同Linux发行版的网络配置文件
Debian/Ubuntu 系列
- 网络接口配置:
/etc/network/interfaces - 网络管理器配置:
/etc/NetworkManager/NetworkManager.conf - Netplan配置:
/etc/netplan/*.yaml(Ubuntu 18.04+)
CentOS/RHEL 系列
- 网络接口配置:
/etc/sysconfig/network-scripts/ifcfg-* - 网络配置:
/etc/sysconfig/network - 路由配置:
/etc/sysconfig/network-scripts/route-*
Arch Linux 系列
- 网络配置:
/etc/systemd/network/ - 网络管理器配置:
/etc/NetworkManager/
网络接口配置持久化
Debian/Ubuntu 系列
使用 /etc/network/interfaces 文件
# 编辑网络接口配置文件
vim /etc/network/interfaces
# 添加静态IP配置
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4
# 添加动态IP配置
auto eth1
iface eth1 inet dhcp使用 Netplan
# 编辑Netplan配置文件
vim /etc/netplan/00-installer-config.yaml
# 配置静态IP
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
# 应用配置
netplan applyCentOS/RHEL 系列
使用 ifcfg 文件
# 编辑网络接口配置文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0
# 添加静态IP配置
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
# 添加动态IP配置
TYPE=Ethernet
BOOTPROTO=dhcp
NAME=eth1
DEVICE=eth1
ONBOOT=yesIP地址配置持久化
静态IP配置持久化
- 在配置文件中设置
BOOTPROTO=static(CentOS/RHEL)或inet static(Debian/Ubuntu) - 明确指定 IP 地址、子网掩码、网关等参数
动态IP配置持久化
- 在配置文件中设置
BOOTPROTO=dhcp(CentOS/RHEL)或inet dhcp(Debian/Ubuntu) - 确保 DHCP 客户端服务正常运行
DNS配置持久化
Debian/Ubuntu 系列
# 编辑DNS配置文件
vim /etc/resolv.conf
# 添加DNS服务器
nameserver 8.8.8.8
nameserver 8.8.4.4
# 防止DNS配置被覆盖
chattr +i /etc/resolv.confCentOS/RHEL 系列
# 在网络接口配置文件中添加DNS服务器
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DNS1=8.8.8.8
DNS2=8.8.4.4
# 或编辑网络配置文件
vim /etc/sysconfig/network
DNS1=8.8.8.8
DNS2=8.8.4.4路由配置持久化
Debian/Ubuntu 系列
# 在网络接口配置文件中添加路由
vim /etc/network/interfaces
up route add -net 192.168.2.0/24 gw 192.168.1.2
up route add default gw 192.168.1.1
# 或使用单独的路由配置文件
vim /etc/network/if-up.d/route-eth0
#!/bin/sh
route add -net 192.168.2.0/24 gw 192.168.1.2CentOS/RHEL 系列
# 创建路由配置文件
vim /etc/sysconfig/network-scripts/route-eth0
192.168.2.0/24 via 192.168.1.2 dev eth0实用案例分析
案例1:Ubuntu 18.04+ 使用 Netplan 配置静态IP
配置步骤:
- 查看网络接口
# 查看网络接口
ip addr- 编辑 Netplan 配置文件
# 编辑配置文件
vim /etc/netplan/00-installer-config.yaml
# 添加配置
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]- 应用配置
# 测试配置
netplan try
# 应用配置
netplan apply
# 重启网络服务
systemctl restart systemd-networkd- 验证配置
# 查看IP地址
ip addr show ens33
# 查看路由表
ip route
# 测试网络连接
ping 8.8.8.8案例2:CentOS 7+ 配置静态IP和持久路由
配置步骤:
- 编辑网络接口配置文件
# 编辑配置文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0
# 添加配置
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.100
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4- 创建路由配置文件
# 创建路由配置文件
vim /etc/sysconfig/network-scripts/route-eth0
# 添加路由
192.168.2.0/24 via 192.168.1.2 dev eth0
10.0.0.0/8 via 192.168.1.3 dev eth0- 重启网络服务
# 重启网络服务
systemctl restart network
# 或使用 nmcli
nmcli con reload
nmcli con up eth0- 验证配置
# 查看IP地址
ip addr show eth0
# 查看路由表
ip route
# 测试网络连接
ping 8.8.8.8案例3:Debian 10 配置网络接口和DNS
配置步骤:
- 编辑网络接口配置文件
# 编辑配置文件
vim /etc/network/interfaces
# 添加配置
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4
dns-search example.com- 重启网络服务
# 重启网络服务
systemctl restart networking
# 或使用 ifdown/ifup
ifdown eth0 && ifup eth0- 验证配置
# 查看IP地址
ip addr show eth0
# 查看DNS配置
cat /etc/resolv.conf
# 测试网络连接
ping 8.8.8.8案例4:解决网络配置持久化问题
常见问题及解决方案:
- 网络配置在重启后丢失
# 检查网络配置文件权限
ls -l /etc/sysconfig/network-scripts/ifcfg-eth0
# 确保配置文件格式正确
cat /etc/sysconfig/network-scripts/ifcfg-eth0
# 检查网络服务是否启动
systemctl status network- DNS配置被覆盖
# 检查是否有网络管理器覆盖DNS配置
ps aux | grep NetworkManager
# 防止resolv.conf被覆盖
chattr +i /etc/resolv.conf
# 或在网络管理器配置中禁用DNS覆盖
vim /etc/NetworkManager/NetworkManager.conf
[main]
dns=none- 路由配置不持久
# 检查路由配置文件
cat /etc/sysconfig/network-scripts/route-eth0
# 确保路由配置格式正确
192.168.2.0/24 via 192.168.1.2 dev eth0
# 重启网络服务
systemctl restart network课后练习
配置Ubuntu 18.04+的静态IP地址
- 步骤:查看网络接口 → 编辑Netplan配置文件 → 应用配置 → 验证配置
- 验证:使用
ip addr命令查看IP地址,使用ping命令测试网络连接
配置CentOS 7+的静态IP和持久路由
- 步骤:编辑网络接口配置文件 → 创建路由配置文件 → 重启网络服务 → 验证配置
- 验证:使用
ip addr命令查看IP地址,使用ip route命令查看路由表
配置Debian 10的网络接口和DNS
- 步骤:编辑网络接口配置文件 → 重启网络服务 → 验证配置
- 验证:使用
ip addr命令查看IP地址,使用cat /etc/resolv.conf命令查看DNS配置
解决网络配置持久化问题
- 场景:网络配置在重启后丢失
- 步骤:检查网络配置文件 → 检查网络服务状态 → 修复配置问题 → 验证配置
- 验证:重启系统后检查网络配置是否恢复
总结
本集详细介绍了Linux系统中网络配置的持久化方法,包括:
- 网络配置持久化的概念和重要性
- 不同Linux发行版的网络配置文件格式
- 网络接口、IP地址、DNS和路由的持久化配置方法
- 网络配置持久化的故障排除
通过本集的学习,读者应该能够理解网络配置持久化的原理,并能够独立配置和管理Linux系统的网络持久化设置。网络配置持久化是Linux系统管理中的重要内容,掌握这些知识对于确保系统网络服务的稳定性和可靠性非常重要。
在实际应用中,需要根据不同的Linux发行版选择合适的网络配置持久化方法,并遵循最佳实践,确保网络配置的正确性和可靠性。同时,还需要定期检查网络配置,及时解决可能出现的问题,以确保系统网络服务的正常运行。