Linux 中修改 IP 地址为 静态 IP 地址
Linux 中修改 IP 地址为 静态 IP 地址
- 首先使用命令
ip a查询当前的 IP 地址,当前网卡 enp0s3 使用的是动态分配的 IP 10.0.2.15/24。查询到的结果如下所示。
leolei@leifenglin:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 08:00:27:53:c7:ee brd ff:ff:ff:ff:ff:ffinet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3valid_lft 81010sec preferred_lft 81010secinet6 fe80::a00:27ff:fe53:c7ee/64 scope linkvalid_lft forever preferred_lft forever
- 在日常操作中我们可能面临 IP 冲突等风险,需要将动态的 IP 地址修改为静态的 IP 地址,以下是将其修改为静态 IP 10.0.2.16 的详细步骤:
- 步骤1:确认当前网络配置
从你的输出中可以看到:
网卡名称:enp0s3
当前 IP:10.0.2.15/24(DHCP 分配)
子网掩码:/24(即 255.255.255.0)
广播地址:10.0.2.255
具体的输出信息可以参考上述命令ip a查询的信息查看。
- 步骤 2:编辑 Netplan 配置文件
Ubuntu 使用 Netplan 管理网络,配置文件通常位于 /etc/netplan/ 目录下。
运行以下命令编辑配置文件(根据实际文件名调整,如 00-installer-config.yaml 或 50-cloud-init.yaml):
leolei@leifenglin:~$ cd /etc/netplan/
leolei@leifenglin:/etc/netplan$ ll
total 12
drwxr-xr-x 2 root root 4096 Mar 15 2025 ./
drwxr-xr-x 101 root root 4096 Mar 19 2025 ../
-rw-r--r-- 1 root root 117 Mar 15 2025 00-installer-config.yaml
根据上述的查询显示,管理网络的配置文件为 00-installer-config.yaml,然后我们需要修改该配置文件,由文件所有者和所属组可以知道,普通用户修改该文件需要使用 sudo 提权。具体的命令为sudo vim 00-installer-config.yaml。
- 步骤3:修改为静态 IP 配置
在修改 IP 配置之前需要查询网关地址,具体的查询命令如下所示。
leolei@leifenglin:/etc/netplan$ ip route | grep default
default via 10.0.2.2 dev enp0s3 proto dhcp src 10.0.2.15 metric 100
- 将文件内容改为以下格式(注意缩进和格式):
network:version: 2renderer: networkdethernets:enp0s3:dhcp4: no # 禁用 DHCPaddresses: [10.0.2.16/24] # 静态 IP 和子网掩码gateway4: 10.0.2.2 # 网关地址(需根据你的网络环境填写)nameservers:addresses: [8.8.8.8, 8.8.4.4] # DNS 服务器
关键参数说明
addresses: [10.0.2.16/24]:
10.0.2.16 是你要设置的静态 IP。
/24 表示子网掩码为 255.255.255.0(与当前 DHCP 配置一致)。
这是默认网关地址。
重要:需根据你的实际网络填写(通常为路由器或虚拟网络的网关,如 VirtualBox NAT 默认网关是 10.0.2.2)。
如果不确定,可以暂时保留原 DHCP 分配的网关(通过 ip route | grep default 查看)。
nameservers:
使用公共 DNS(如 Google 的 8.8.8.8)或你的内部 DNS。
- 步骤 4:应用配置
保存文件修改后的配置文件,然后运行如下命令使静态 IP 配置生效:
sudo netplan apply
- 步骤 5:验证配置
检查 IP 是否生效:
ip a
输出中应显示:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 08:00:27:53:c7:ee brd ff:ff:ff:ff:ff:ffinet 10.0.2.16/24 brd 10.0.2.255 scope global enp0s3valid_lft forever preferred_lft foreverinet6 fe80::a00:27ff:fe53:c7ee/64 scope linkvalid_lft forever preferred_lft forever
注意:若你使用的远程登录 SSH,你需要重新启动虚拟机,否则界面处于卡死状态无法输入任何命令,你可以到服务端输入命令,发现静态 IP 地址确实修改生效了。只需宠幸启动虚拟机,再次在远程登录终端 SSH登录,IP 地址生效果,为10.0.2.16。
按此配置后,你的虚拟机将固定使用 10.0.2.16 作为 IP 地址。
