Ubuntu网络配置从入门到排查:一份务实的操作笔记

写在前面:理解Ubuntu的网络管理方式

Ubuntu作为最流行的Linux发行版之一,其网络配置方式经历了从/etc/network/interfacesNetplan的演变。从Ubuntu 18.04开始,默认使用Netplan作为网络配置工具,它通过YAML格式的配置文件来管理网络接口。理解这一变化是正确配置网络的前提。本文将从基础概念讲起,覆盖有线、无线、静态IP、DHCP、DNS以及常见故障排查,力求让读者在读完本文后能够独立完成日常网络配置任务。

Ubuntu网络配置从入门到排查:一份务实的操作笔记
Ubuntu网络配置从入门到排查:一份务实的操作笔记

一、准备工作:查看当前网络状态

在动手修改任何配置之前,先要弄清楚系统当前的网络状况。打开终端,依次执行以下命令:

ip addr show
ip route show
cat /etc/resolv.conf

这些命令分别显示IP地址、路由表以及DNS配置。特别注意ip addr show的输出,其中lo是回环接口,enp0s3ens33eth0等名称是有线网卡,wlan0wlx...是无线网卡。记下你的网卡名称,后续配置会用到。

1.1 使用nmcli快速查看

NetworkManager的命令行工具nmcli也很有用:

nmcli device status
nmcli connection show

这两条命令能让你看到设备连接状态和已保存的连接配置。如果你看到某个连接显示已连接,那说明当前网络是通的。

二、通过Netplan配置静态IP地址

Netplan的配置文件位于/etc/netplan/目录下,通常是一个以.yaml结尾的文件,比如01-network-manager-all.yaml00-installer-config.yaml。使用sudo nanosudo vim编辑该文件。

2.1 静态IP配置示例

假设你的网卡名为enp0s3,想设置IP为192.168.1.100,网关为192.168.1.1,DNS为8.8.8.8,那么配置文件可以这样写:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 114.114.114.114

注意addresses字段使用CIDR格式(/24表示子网掩码255.255.255.0)。routes部分定义了默认网关。保存文件后执行:

sudo netplan apply

如果配置有误,系统会提示错误信息。检查无误后,用ip addr show enp0s3验证IP是否生效。

2.2 回退到DHCP自动获取

如果你不想用静态IP,希望恢复自动获取,只需将上述配置中的dhcp4: no改为dhcp4: yes,并删除addressesroutesnameservers部分即可。然后同样执行sudo netplan apply

三、使用NetworkManager图形界面或nmcli

对于桌面版Ubuntu,使用图形界面配置网络是最直观的方式。点击右上角网络图标,选择“有线设置”或“Wi-Fi设置”,在IPV4选项卡中切换“自动(DHCP)”和“手动”即可。手动模式下填入IP、掩码、网关和DNS。

如果你更喜欢命令行,nmcli是强大的工具。例如,修改现有连接Wired connection 1为静态IP:

nmcli connection modify "Wired connection 1" ipv4.addresses 192.168.1.100/24
nmcli connection modify "Wired connection 1" ipv4.gateway 192.168.1.1
nmcli connection modify "Wired connection 1" ipv4.dns "8.8.8.8 114.114.114.114"
nmcli connection modify "Wired connection 1" ipv4.method manual
nmcli connection up "Wired connection 1"

如果要改回DHCP,把ipv4.method改为auto并清除地址即可。

四、配置无线网络

无线网络的配置与有线类似。在Netplan配置文件中,将ethernets替换为wifis,并增加access-points字段:

network:
  version: 2
  renderer: networkd
  wifis:
    wlan0:
      dhcp4: yes
      access-points:
        "YourSSID":
          password: "YourPassword"

如果使用nmcli连接无线网络,更简单:

nmcli device wifi connect "YourSSID" password "YourPassword"

在桌面环境下,直接点击Wi-Fi图标选择网络并输入密码即可。

五、DNS配置的细节

在Netplan中配置DNS时,需要注意nameservers字段。如果使用systemd-resolved,/etc/resolv.conf会被自动管理,不建议手动修改。如果你需要临时测试DNS,可以在/etc/resolv.conf中直接添加nameserver 8.8.8.8,但重启后可能失效。持久化修改应通过Netplan或NetworkManager。

5.1 检查DNS是否生效

使用resolvectl statussystemd-resolve --status查看当前的DNS服务器。如果发现DNS不生效,尝试sudo systemctl restart systemd-resolved

六、常见问题排查思路

网络配置过程中难免遇到问题,下面列出几个典型场景及解决步骤。

6.1 无法获取IP地址

  1. 检查网线是否插好,无线开关是否打开。
  2. 执行sudo dhclient -v手动获取IP,观察输出。
  3. 查看dmesg | grep -i network是否有驱动报错。

6.2 能ping通IP但无法解析域名

这种问题通常出在DNS配置上。先确认cat /etc/resolv.conf是否有有效DNS服务器。如果没有,按照上文方法添加。也可以用nslookup www.baidu.com测试解析。

6.3 配置了静态IP但网关不通

检查网关IP是否与你的IP在同一子网。例如IP为192.168.1.100/24,网关必须是192.168.1.x。同时确认路由器或交换机没有开启IP-MAC绑定。

6.4 Netplan配置后不生效

执行sudo netplan try会先测试配置,如果120秒内没有确认,会自动回滚。这能避免因配置错误导致断网。确认无误后使用sudo netplan apply

6.5 无线网络频繁掉线

可以尝试关闭电源管理:sudo iwconfig wlan0 power off,或者修改Netplan配置,在wifis下增加powersave: false

七、进阶:多网卡与路由策略

如果你有多个网卡,比如一个连内网、一个连外网,需要配置策略路由。这超出了本文范围,但简单提示:可以在Netplan中为每个接口定义独立的routes,并使用ip rule来设定源地址路由。日常使用中,多数用户用不到这个功能。

八、总结与建议

Ubuntu网络配置的核心在于理解Netplan的YAML语法和NetworkManager的关系。对于服务器环境,推荐直接使用Netplan;对于桌面环境,图形界面和nmcli更灵活。无论哪种方式,修改前备份原配置文件总是好习惯:

sudo cp /etc/netplan/01-network-manager-all.yaml /etc/netplan/01-network-manager-all.yaml.bak

最后提醒一句:在远程连接服务器时,千万不要贸然重启网络服务或执行netplan apply,否则可能断掉你的SSH连接。建议先在本地测试,或者使用screen/tmux保持会话。希望这篇指南能帮你在Ubuntu网络配置的路上少踩几个坑。

发表评论