Ubuntu 如何设置固定 IP 地址
前言默认情况下,Ubuntu 使用 DHCP(动态主机配置 协议 )自动获取 IP 地址。这在日常使用中很方便,但在以下场景中,固定 IP 更为必要:
服务器部署:确保服务始终通过同一地址访问
局域网设备管理:方便远程 SSH 连接
端口映射/DNS 绑定:需要稳定的内网地址
集群环境:多台机器间需要固定的网络标识
注意:配置前请确保你选择的 IP 地址在局域网内可用,不会与其他设备冲突。
查看当前网络信息
在修改配置之前,先记录当前的网络信息,确保配置正确。
1. 查看网卡名称
ip link show
或传统命令:ifconfig -a
2. 查看当前 IP 和网关
ip addr showip route show
或
ifconfigroute -n
3. 查看 DNS 服务器
systemd-resolve --status
或查看 resolv.conf:
cat /etc/resolv.conf
你需要记录的信息:
网卡名称(如 ens33)
当前 IP 地址(如 192.168.1.100)
子网掩码/前缀(如 /24)
网关地址(如 192.168.1.1)
DNS 服务器(如 8.8.8.8, 114.114.114.114)
方法一:使用 Netplan(推荐,Ubuntu 18.04+)
从 Ubuntu 18.04 LTS 开始,Ubuntu 引入了 Netplan 作为默认的网络配置工具。它使用 YAML 格式的 配置文件 ,语法简洁清晰。
步骤 1:定位配置文件
Netplan 的配置文件位于 /etc/netplan/ 目录下,通常文件名类似:
00-installer-config.yaml(服务器版)
01-network-manager-all.yaml(桌面版)
50-cloud-init.yaml(云服务器)
ls /etc/netplan/
步骤 2:备份原配置
重要! 修改前务必备份:
sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.bak
步骤 3:编辑配置文件
sudo nano /etc/netplan/00-installer-config.yaml
步骤 4:写入静态 IP 配置
以下是一个完整的配置示例,请根据你的实际情况修改:
network:
version: 2
renderer: networkd# 服务器版使用 networkd,桌面版可改为 NetworkManager
ethernets:
ens33:# 替换为你的网卡名称
dhcp4: no # 关闭 DHCP
addresses:
- 192.168.1.100/24# 替换为你的静态 IP 和子网前缀
routes:
- to: default
via: 192.168.1.1# 替换为你的网关地址
nameservers:
addresses:
- 8.8.8.8 # Google DNS
- 114.114.114.114# 国内 DNS
search:
- localdomain
YAML 语法注意:
严格使用空格缩进,不能用 Tab
冒号后面必须有一个空格
每行缩进建议 2 个空格
步骤 5:应用配置
保存文件后,执行以下命令:
sudo netplan apply
请记住一定要确保配置无误再执行此命令,如果你写错了IP或配置,而且你是SSH连接到系统的,可能会导致你无法SSH,连不上服务器,这时就需要到机器旁物理机操作了,所以一定要慎而又慎!!!
如果配置有误,Netplan 会提示错误信息。
步骤 6:验证
ip addr show ens33
ip route show
ping -c 4 8.8.8.8方法二:修改 interfaces 文件(Ubuntu 16.04 及更早版本)
对于 Ubuntu 16.04 LTS 及更早版本,使用 /etc/network/interfaces 文件进行配置。
步骤 1:备份原文件
sudo cp /etc/network/interfaces /etc/network/interfaces.bak
步骤 2:编辑配置文件
sudo nano /etc/network/interfaces
步骤 3:添加静态 IP 配置
# 回环接口(保持默认)
auto lo
iface lo inet loopback
# 主网卡配置
auto eth0# 替换为你的网卡名称
iface eth0 inet static
address 192.168.1.100 # 静态 IP
netmask 255.255.255.0 # 子网掩码
gateway 192.168.1.1 # 默认网关
dns-nameservers 8.8.8.8 114.114.114.114# DNS 服务器
步骤 4:重启网络服务
sudo systemctl restart networking
sudo /etc/init.d/networking restart
方法三: 图形界面 设置(桌面版)
如果你使用的是 Ubuntu 桌面版,可以通过 GUI 快速设置:
步骤 1:打开网络设置
点击右上角网络图标
选择 “设置”(Settings)
点击左侧 “网络”(Network)
步骤 2:配置有线连接
在 “有线连接”(Wired)旁点击齿轮图标
切换到 “IPv4” 标签页
将 “IPv4 方式” 改为 “手动”(Manual)
点击 “添加”(Add)填入:
地址:192.168.1.100
子网掩码:255.255.255.0 或 24
网关:192.168.1.1
在 DNS 栏填入:8.8.8.8, 114.114.114.114
点击右上角 “应用”(Apply)
关闭再重新打开有线连接,或重启电脑
验证配置
无论使用哪种方法,配置完成后都应验证:
1. 检查 IP 地址
ip addr show
确认你的网卡显示了配置的静态 IP。
2. 测试网关连通性
ping 192.168.1.1# 替换为你的网关
3. 测试外网连通性
ping -c 4 8.8.8.8
ping -c 4 www.baidu.com
4. 检查 DNS 解析
nslookup www.baidu.com
5. 查看路由表
ip route show
常见问题排查
问题 1:netplan apply 报错
现象:Invalid YAML 或缩进错误
解决:
检查 YAML 缩进是否为空格,不能用 Tab
冒号后是否有空格
使用在线 YAML 校验工具检查语法
# 检查 YAML 语法
python3 -c "import yaml; yaml.safe_load(open('/etc/netplan/00-installer-config.yaml'))"
问题 2:配置后无法联网
排查步骤:
检查 IP 是否冲突:ping 一下你设置的 IP,看是否有其他设备回应
检查网关是否正确:确认路由器地址
检查网线/WiFi 连接
回滚配置:
sudo cp /etc/netplan/00-installer-config.yaml.bak /etc/netplan/00-installer-config.yaml
sudo netplan apply
问题 3:DNS 无法解析
解决:确保 nameservers 配置正确,或手动修改:
sudo nano /etc/resolv.conf
# 添加
nameserver 8.8.8.8
nameserver 114.114.114.114
注意:如果使用 systemd-resolved,应修改 Netplan 中的 nameservers 配置。
问题 4: 云服务器 配置后不生效
原因:云服务器(如 阿里云 、腾讯云)通常有安全组或 VPC 网络限制。
解决:
在云平台控制台中配置弹性公网 IP 或修改私有网络设置
不要直接在系统内修改公网 IP,这通常无效
页:
[1]