第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 apply

CentOS/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=yes

IP地址配置持久化

静态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.conf

CentOS/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.2

CentOS/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

配置步骤

  1. 查看网络接口
# 查看网络接口
ip addr
  1. 编辑 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]
  1. 应用配置
# 测试配置
netplan try

# 应用配置
netplan apply

# 重启网络服务
systemctl restart systemd-networkd
  1. 验证配置
# 查看IP地址
ip addr show ens33

# 查看路由表
ip route

# 测试网络连接
ping 8.8.8.8

案例2:CentOS 7+ 配置静态IP和持久路由

配置步骤

  1. 编辑网络接口配置文件
# 编辑配置文件
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
  1. 创建路由配置文件
# 创建路由配置文件
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
  1. 重启网络服务
# 重启网络服务
systemctl restart network

# 或使用 nmcli
nmcli con reload
nmcli con up eth0
  1. 验证配置
# 查看IP地址
ip addr show eth0

# 查看路由表
ip route

# 测试网络连接
ping 8.8.8.8

案例3:Debian 10 配置网络接口和DNS

配置步骤

  1. 编辑网络接口配置文件
# 编辑配置文件
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
  1. 重启网络服务
# 重启网络服务
systemctl restart networking

# 或使用 ifdown/ifup
ifdown eth0 && ifup eth0
  1. 验证配置
# 查看IP地址
ip addr show eth0

# 查看DNS配置
cat /etc/resolv.conf

# 测试网络连接
ping 8.8.8.8

案例4:解决网络配置持久化问题

常见问题及解决方案

  1. 网络配置在重启后丢失
# 检查网络配置文件权限
ls -l /etc/sysconfig/network-scripts/ifcfg-eth0

# 确保配置文件格式正确
cat /etc/sysconfig/network-scripts/ifcfg-eth0

# 检查网络服务是否启动
systemctl status network
  1. DNS配置被覆盖
# 检查是否有网络管理器覆盖DNS配置
ps aux | grep NetworkManager

# 防止resolv.conf被覆盖
chattr +i /etc/resolv.conf

# 或在网络管理器配置中禁用DNS覆盖
vim /etc/NetworkManager/NetworkManager.conf
[main]
dns=none
  1. 路由配置不持久
# 检查路由配置文件
cat /etc/sysconfig/network-scripts/route-eth0

# 确保路由配置格式正确
192.168.2.0/24 via 192.168.1.2 dev eth0

# 重启网络服务
systemctl restart network

课后练习

  1. 配置Ubuntu 18.04+的静态IP地址

    • 步骤:查看网络接口 → 编辑Netplan配置文件 → 应用配置 → 验证配置
    • 验证:使用 ip addr 命令查看IP地址,使用 ping 命令测试网络连接
  2. 配置CentOS 7+的静态IP和持久路由

    • 步骤:编辑网络接口配置文件 → 创建路由配置文件 → 重启网络服务 → 验证配置
    • 验证:使用 ip addr 命令查看IP地址,使用 ip route 命令查看路由表
  3. 配置Debian 10的网络接口和DNS

    • 步骤:编辑网络接口配置文件 → 重启网络服务 → 验证配置
    • 验证:使用 ip addr 命令查看IP地址,使用 cat /etc/resolv.conf 命令查看DNS配置
  4. 解决网络配置持久化问题

    • 场景:网络配置在重启后丢失
    • 步骤:检查网络配置文件 → 检查网络服务状态 → 修复配置问题 → 验证配置
    • 验证:重启系统后检查网络配置是否恢复

总结

本集详细介绍了Linux系统中网络配置的持久化方法,包括:

  • 网络配置持久化的概念和重要性
  • 不同Linux发行版的网络配置文件格式
  • 网络接口、IP地址、DNS和路由的持久化配置方法
  • 网络配置持久化的故障排除

通过本集的学习,读者应该能够理解网络配置持久化的原理,并能够独立配置和管理Linux系统的网络持久化设置。网络配置持久化是Linux系统管理中的重要内容,掌握这些知识对于确保系统网络服务的稳定性和可靠性非常重要。

在实际应用中,需要根据不同的Linux发行版选择合适的网络配置持久化方法,并遵循最佳实践,确保网络配置的正确性和可靠性。同时,还需要定期检查网络配置,及时解决可能出现的问题,以确保系统网络服务的正常运行。

« 上一篇 虚拟网络配置 下一篇 » 网络故障排查