Ubuntu Netplan

Netplan 详细介绍:Ubuntu 现代网络配置工具
目录
什么是 Netplan?
主要特点
配置文件位置
基本配置示例
高级功能
常用命令
故障排查
最佳实践
什么是 Netplan?
Netplan 是 Ubuntu 17.10 及更高版本中引入的网络配置工具,它使用 YAML 格式的配置文件来简化网络管理,替代了传统的 /etc/network/interfaces文件。
主要特点
✅ 声明式配置
使用易读的 YAML 格式
抽象底层网络守护进程
支持多种后端渲染器
🔧 多后端支持
# 服务器推荐 - 使用 systemd-networkd
network:
  version: 2
  renderer: networkd

# 桌面版 - 使用 NetworkManager  
network:
  version: 2
  renderer: NetworkManager
配置文件位置
📁 配置文件路径
/etc/netplan/
├── 01-netcfg.yaml          # 主配置文件
├── 50-cloud-init.yaml      # 云实例配置
└── *.yaml                  # 所有YAML文件都会被读取
基本配置示例
🌐 静态 IP 配置
network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      addresses:
        - 192.168.1.10/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
⚡ DHCP 自动配置
network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: true
      dhcp6: true
🔧 完整接口配置
network:
  version: 2
  ethernets:
    eth0:
      # IP地址配置
      addresses:
        - 192.168.1.10/24
        - "2001:db8::10/64"
      
      # 网关配置
      gateway4: 192.168.1.1
      gateway6: 2001:db8::1
      
      # DNS配置
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
        search: [example.com]
      
      # 高级参数
      macaddress: 00:11:22:33:44:55
      mtu: 1500
      dhcp4: false
      optional: true
高级功能
🌉 网桥配置
network:
  version: 2
  bridges:
    br0:
      addresses: [192.168.1.10/24]
      interfaces: [ens33]
      parameters:
        stp: true
        forward-delay: 4
🏷️ VLAN 配置
network:
  version: 2
  vlans:
    vlan100:
      id: 100
      link: ens33
      addresses: [192.168.100.10/24]
🔗 绑定接口(Bonding)
network:
  version: 2
  bonds:
    bond0:
      interfaces: [ens33, ens34]
      parameters:
        mode: 802.3ad
        lacp-rate: fast
        mii-monitor-interval: 100
📡 WiFi 配置
network:
  version: 2
  wifis:
    wlp2s0:
      access-points:
        "MyWiFi":
          password: "wifipassword"
      addresses: [192.168.1.20/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8]
常用命令
🚀 基本操作命令
# 应用网络配置(立即生效)
sudo netplan apply

# 测试配置(120秒后自动回滚)
sudo netplan try

# 生成配置但不应用
sudo netplan generate

# 调试模式
sudo netplan --debug apply
📊 状态检查命令
# 查看网络接口状态
ip addr show

# 检查路由表
ip route show

# 测试网络连通性
ping -c 4 8.8.8.8

# 查看DNS解析
nslookup google.com

# 检查网络管理器状态
networkctl status
故障排查
🔍 常见问题解决
​​1. 配置语法错误​​
# 检查YAML语法
sudo netplan generate
# 或者使用YAML验证工具
python3 -c "import yaml; yaml.safe_load(open('/etc/netplan/01-netcfg.yaml'))"
​​2. 网络连接丢失​​
# 紧急恢复网络
sudo netplan apply
# 如果失败,重启网络服务
sudo systemctl restart systemd-networkd
# 最后手段:重启系统
sudo reboot
​​3. 查看详细日志​​
# 查看netplan日志
journalctl -u systemd-networkd
journalctl -u NetworkManager

# 实时监控日志
sudo journalctl -f
​​4. 接口状态检查​​
# 查看所有接口
networkctl list

# 查看特定接口详情
networkctl status ens33

# 查看IP地址分配
netplan ip leases ens33
最佳实践
💡 配置管理建议
​​1. 备份原始配置​​
# 备份现有配置
sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.backup
​​2. 使用版本控制​​
# 将配置纳入版本控制
git init /etc/netplan/
git add 01-netcfg.yaml
git commit -m "Initial network configuration"
​​3. 分阶段应用​​
# 1. 首先验证语法
sudo netplan generate

# 2. 测试配置(保持SSH连接)
sudo netplan try

# 3. 确认无误后正式应用
sudo netplan apply
​​4. 远程连接安全​​
# 使用tmux或screen防止连接断开
tmux new-session -s netconfig

# 设置超时回滚
sudo netplan try --timeout 60
🛠️ 性能优化配置
​​优化网络参数​​
network:
  version: 2
  ethernets:
    eth0:
      addresses: [192.168.1.10/24]
      gateway4: 192.168.1.1
      # 优化参数
      mtu: 9000  # Jumbo frames
      accept-ra: false  # 禁用路由器广告
总结
Netplan 作为 Ubuntu 现代网络配置工具,具有以下优势:
✅ ​​简洁性​​:YAML格式易于理解和维护
✅ ​​灵活性​​:支持多种网络拓扑和高级功能
✅ ​​可靠性​​:内置测试和回滚机制
✅ ​​自动化友好​​:适合DevOps和云环境
✅ ​​向后兼容​​:平滑替代传统配置方式
通过合理使用 Netplan,可以大大简化 Ubuntu 系统的网络管理工作量。
​​标签​​:UbuntuNetplan网络配置LinuxYAML系统管理DevOps

 

posted @ 2025-10-29 15:02  你说夕阳很美  阅读(17)  评论(0)    收藏  举报