Echo's blog
Echo's blog
· 1 min read · 系统管理

Ubuntu24.04配置固定IP

配置步骤#

查看当前网络接口#

PRTCL // BASH
Terminal window
ip addr show

或者

PRTCL // BASH
Terminal window
ip link show

记录下需要配置的网络接口名称,例如:ens33

备份现有配置#

PRTCL // BASH
Terminal window
sudo cp /etc/netplan/01-network-manager-all.yaml /etc/netplan/01-network-manager-all.yaml.bak

编辑 Netplan 配置文件#

查看现有配置文件:

PRTCL // BASH
Terminal window
ls /etc/netplan/

编辑配置文件(文件名可能不同):

PRTCL // BASH
Terminal window
sudo nano /etc/netplan/01-network-manager-all.yaml

或者创建新的配置文件:

PRTCL // BASH
Terminal window
sudo nano /etc/netplan/01-netcfg.yaml

配置固定 IP#

将以下内容写入配置文件(根据实际情况修改):

PRTCL // YAML
network:
version: 2
renderer: networkd
ethernets:
ens33:
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

参数说明:

  • ens33: 网络接口名称(替换为实际接口名)
  • dhcp4: no: 禁用 DHCP,使用静态 IP
  • addresses: 静态 IP 地址和子网掩码(CIDR 格式)
  • via: 默认网关地址
  • nameservers: DNS 服务器地址

验证配置语法#

PRTCL // BASH
Terminal window
sudo netplan try

此命令会尝试应用配置,如果 120 秒内没有确认,会自动回滚。

应用配置#

如果配置正确,应用配置:

PRTCL // BASH
Terminal window
sudo netplan apply

验证配置结果#

PRTCL // BASH
Terminal window
ip addr show ens33

检查路由:

PRTCL // BASH
Terminal window
ip route show

测试网络连接:

PRTCL // BASH
Terminal window
ping -c 4 8.8.8.8
ping -c 4 www.baidu.com

常见配置示例#

示例 1:单网卡配置#

PRTCL // YAML
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4

示例 2:多网卡配置#

PRTCL // YAML
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
ens34:
dhcp4: no
addresses:
- 10.0.0.100/24

示例 3:配置多个 IP 地址#

PRTCL // YAML
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
addresses:
- 192.168.1.100/24
- 192.168.1.101/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8

故障排查#

配置无法生效#

PRTCL // BASH
Terminal window
sudo netplan --debug apply

恢复备份配置#

PRTCL // BASH
Terminal window
sudo cp /etc/netplan/01-network-manager-all.yaml.bak /etc/netplan/01-network-manager-all.yaml
sudo netplan apply

查看日志#

PRTCL // BASH
Terminal window
sudo journalctl -u systemd-networkd

重启网络服务#

PRTCL // BASH
Terminal window
sudo systemctl restart systemd-networkd

Related Posts

Comments

Copied
Copied to clipboard