服务器 > 服务器 > Linux

Ubuntu虚拟机配置静态IP的流程步骤

17人参与 2025-12-05 Linux

引言

netplan 是 ubuntu 18.04 及以上版本默认的网络配置工具,相比传统的 ifupdown 更简洁、易维护。本教程以 vmware 虚拟机(ubuntu 系统)为例,手把手教你配置静态 ip,解决「有内网 ip 但无法联网」「配置冲突」等常见问题。

一、前置准备

1. 环境说明

2. 关键前提

二、步骤 1:查看网卡与当前配置

1. 查看网卡状态

打开虚拟机终端,执行以下命令确认网卡名称和状态:

ip a

输出示例(重点关注 ens33 网卡):

1: lo: <loopback,up,lower_up> mtu 65536 qdisc noqueue state unknown group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: ens33: <broadcast,multicast,up,lower_up> mtu 1500 qdisc fq_codel state up group default qlen 1000
    link/ether 00:0c:29:94:ef:9d brd ff:ff:ff:ff:ff:ff
    altname enp2s1

2. 查看现有 netplan 配置

netplan 配置文件默认存放在 /etc/netplan/ 目录,执行以下命令查看:

ls -l /etc/netplan/

输出示例:

-rw------- 1 root root 428 12月  4 17:40 00-installer-config.yaml
-rw-r--r-- 1 root root 102 12月  3 10:00 01-network-manager-all.yaml  # 冲突文件,需删除

三、步骤 2:清理冲突配置

若存在 01-network-manager-all.yaml 等指向 networkmanager 的配置文件,会和 netplan 冲突,需删除:

# 删除冲突配置文件
sudo rm /etc/netplan/01-network-manager-all.yaml
# 验证删除结果
ls -l /etc/netplan/

四、步骤 3:编辑 netplan 静态 ip 配置

1. 编辑配置文件

使用 nano 编辑主配置文件 00-installer-config.yaml(注意 yaml 严格缩进,禁止用 tab,仅用空格):

sudo nano /etc/netplan/00-installer-config.yaml

写入以下内容(替换为你的 ip/网关/dns):

network:
  version: 2  # netplan 版本,固定为 2
  renderer: networkd  # 明确用 networkd 管理,避免冲突
  ethernets:
    ens33:  # 网卡名称,需和 ip a 输出一致
      dhcp4: false  # 关闭 dhcp,启用静态 ip
      addresses:
        - 192.168.111.22/24  # 静态 ip + 子网掩码
      routes:
        - to: default  # 默认路由
          via: 192.168.111.2  # 网关 ip(必须是虚拟机网段的真实网关)
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]  # dns 服务器(公共 dns/内网 dns)

2. 配置文件关键说明

字段说明
renderer: networkd指定网络渲染器为 networkd,ubuntu 服务器版默认推荐
dhcp4: false关闭 dhcpv4,若需 ipv6 静态配置,可添加 dhcp6: false
addresses静态 ip 列表,格式为「ip/子网掩码」,支持配置多个 ip
routes.to: default指向默认网关,所有外网流量走该路由
nameservers.addressesdns 服务器列表,优先用公共 dns(8.8.8.8/114.114.114.114)

3. 修正配置文件权限

netplan 要求配置文件仅 root 可读写(权限 600),执行以下命令修正:

# 设置权限为 600(仅 root 可读可写)
sudo chmod 600 /etc/netplan/00-installer-config.yaml
# 设置归属为 root:root
sudo chown root:root /etc/netplan/00-installer-config.yaml
# 验证权限
ls -l /etc/netplan/00-installer-config.yaml

输出示例(权限正确):

-rw------- 1 root root 428 12月  4 17:40 /etc/netplan/00-installer-config.yaml

五、步骤 4:应用配置并验证

1. 测试配置(推荐)

先用 netplan try 测试配置(临时生效,超时自动回滚,按回车确认永久生效):

sudo netplan try

输出说明:

2. 永久应用配置

测试无报错后,执行以下命令永久生效:

# 生成配置
sudo netplan generate
# 应用配置
sudo netplan apply
# 重启网卡(可选)
sudo ip link set ens33 down && sudo ip link set ens33 up

3. 验证配置结果

(1)查看静态 ip 是否生效

ip a

输出示例(ens33 已配置静态 ip 192.168.111.22):

2: ens33: <broadcast,multicast,up,lower_up> mtu 1500 qdisc fq_codel state up group default qlen 1000
    link/ether 00:0c:29:94:ef:9d brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 192.168.111.22/24 brd 192.168.111.255 scope global ens33
       valid_lft forever preferred_lft forever

(2)查看路由表

ip route

输出示例(默认网关 192.168.111.2 已生效):

default via 192.168.111.2 dev ens33 proto static 
192.168.111.0/24 dev ens33 proto kernel scope link src 192.168.111.22

(3)测试网络连通性

# 测试内网连通性(ping 网关)
ping -c 3 192.168.111.2
# 测试外网 ip 连通性
ping -c 3 8.8.8.8
# 测试域名解析(验证 dns)
ping -c 3 baidu.com

六、常见问题解决

1. 配置静态 ip 后无法访问外网

2. yaml 配置语法错误

3. 配置文件权限警告

4. 网卡状态始终 down

七、配置备份与恢复

1. 备份配置文件

sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.bak

2. 恢复配置(若出错)

sudo cp /etc/netplan/00-installer-config.yaml.bak /etc/netplan/00-installer-config.yaml
sudo netplan apply

总结

ubuntu 虚拟机配置静态 ip 的核心是:

  1. 清理 networkmanager 冲突配置;
  2. 编写合规的 netplan yaml 配置(注意缩进和权限);
  3. 匹配虚拟机网络模式的真实网关;
  4. 先测试再应用,避免配置失效。

按本教程配置后,虚拟机可稳定使用静态 ip,同时保证内网/外网连通性。

以上就是ubuntu虚拟机配置静态ip的流程步骤的详细内容,更多关于ubuntu配置静态ip的资料请关注代码网其它相关文章!

(0)

您想发表意见!!点此发布评论

推荐阅读

在Linux上搭建本地Docker Registry并实现远程连接过程

12-05

redhat服务器更换为centos yum源方式

12-05

Linux中配置DNS全过程

12-05

Nginx Mirror模块实现流量镜像的示例代码

12-05

Nginx中IP地址透传的应用实现

12-05

Linux中替换某个目录下所有文件中的特定字符串的方法

12-05

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论