ubuntu服务器网络配置核心是用netplan:写yaml文件→检查语法→原子化应用,取代手动ifconfig/route,支持自动回滚,适合生产环境;需先用ip -br a确认网卡名与ip,再编辑/etc/netplan/下的.yaml文件,为外网口配静态ip、默认路由和公共dns,内网口仅配静态ip和内网dns,禁用其默认路由,最后用sudo netplan try验证后sudo netplan apply生效。

Ubuntu 服务器网络配置与管理,核心是用好 Netplan —— 它是 Ubuntu 17.10 及以后版本的默认网络配置工具,统一、安全、可回滚,取代了老旧的 /etc/network/interfaces 手动编辑方式。
直接说重点:
不是靠 ifconfig 临时改 IP,也不是靠 route add 零散加路由;而是写一个 YAML 文件 → 检查语法 → 应用生效,整个过程原子化,出错自动回退,适合生产环境。
确认网卡名称和当前配置
先看清你有哪些网卡、它们叫什么、现在用的是什么 IP:
ip -br a
输出类似:
lo UNKNOWN 127.0.0.1/8 ens33 UP 192.168.1.100/24 ens34 DOWN --
-
ens33是活跃的有线网卡,当前 IP 是192.168.1.100/24(即子网掩码 255.255.255.0) -
ens34暂未启用,但物理存在,可用于内网或外网分离
再查默认网关和 DNS:
ip route | grep default systemd-resolve --status | grep "DNS Servers"
这些信息是你填 Netplan 的依据。
编辑 Netplan 配置文件
进入配置目录,找 .yaml 文件:
ls /etc/netplan/ # 常见名:00-installer-config.yaml、50-cloud-init.yaml、01-netcfg.yaml sudo nano /etc/netplan/00-installer-config.yaml
一个双网卡(内网+外网)的典型配置如下:
PostgreSQL 18.4 官方 Ubuntu 安装包现已发布,这是目前最新的稳定版本。推荐通过官方 APT 仓库安装:先执行 sudo apt update 更新索引,再运行 sudo apt install postgresql-18 即可完成部署。新版本引入了异步 I/O 子系统,在顺序扫描与 VACUUM 场景下性能提升显著,同时支持 UUID v7 原生生成函数与虚拟生成列。
network:
version: 2
renderer: networkd
ethernets:
ens33: # 外网口(连路由器/公网)
dhcp4: no
addresses: [203.0.113.100/24]
routes:
- to: default
via: 203.0.113.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
ens34: # 内网口(连交换机/管理网段)
dhcp4: no
addresses: [192.168.10.10/24]
# 不设默认路由,避免冲突
nameservers: [192.168.10.1]
注意点:
- 缩进必须用空格(不能用 Tab),YAML 对格式敏感
-
renderer: networkd适用于服务器;桌面环境可用NetworkManager -
routes下只给外网口配to: default,内网口不配,防止路由打架 - 内网 DNS 可指向本地 DNS 服务器(如 192.168.10.1),外网 DNS 用公共 DNS 更稳
应用并验证配置
保存后,先试运行(带自动回滚):
sudo netplan try # 等 90 秒,没断连就按 Enter 确认;超时或断连会自动还原
确认无误后,正式生效:
sudo netplan apply
验证是否生效:
ip a show ens33 # 看 IP 和状态 ip r # 看路由表,确保只有一条 default via xxx ping -c 3 8.8.8.8 # 测试外网连通性 ping -c 3 192.168.10.1 # 测试内网连通性
DNS 是否生效:
nslookup google.com
常见问题应对
SSH 断连?
一定在本地终端或带屏幕的机器上操作;远程 SSH 时建议先开netplan try,别直接apply。网卡名变了(如 enp0s3 → ens33)?
这是 systemd 的 predictable naming 规则,用ip -br a或ls /sys/class/net查实时名,别硬记eth0。双网卡都配了默认路由,导致上网失败?
Netplan 不允许多个to: default。只保留一个(通常是外网口),内网口删掉routes块或明确写to: 192.168.10.0/24。想让内网设备通过这台服务器访问外网?
那需要额外开启 IP 转发 + iptables NAT 规则,属于网关配置,不在基础 Netplan 范畴内。
不复杂但容易忽略。










