目前大多数系统中的 IP 地址都是自动分配的,但是在某些情况下,我们可能需要手动更改。我们今天分享几个修改系统 IP 地址的方法。 |
作为一个系统管理员,给机器修改 IP 地址是很常见的一个任务。目前大多数系统中的 IP 地址都是自动分配的,但是在某些情况下,我们可能需要手动更改。
我们今天分享几个修改系统 IP 地址的方法。
在动手之前,我们可以先使用如下命令查看当前的 IP 地址:
ip a
上述命令在显示 IP 地址的同时也会显示网口(interface)名称,网口名称在修改 IP 地址的时候会用到。
使用 ip 命令来设置 IP 地址我们在先前的文章中介绍过 ip 命令,其可以查看本机的 IP 地址。这个命令在大多数 Linux 发行版中都是可用的。使用 ip 命令来设置 IP 地址,可以使用如下命令:
ip addr add [ip_address] dev [interface]
比如,向网口 eth1 添加一个 IP 地址,可使用如下命令:
sudo ip addr add 192.168.56.21/24 dev eth1
现在,网口 eth1 中有了两个 IP 地址,一个是原先配置的,另一个是使用命令新加的:
如上图所示,将旧的 IP 地址删掉,就会只剩下一个 IP 地址了。
设置静态 IP 地址通过上述方法设置的 IP 地址,在系统重启后会被修改掉,IP 地址是动态的。
如果你使用的是旧版本的 Ubuntu(版本号小于17.10),可以通过编辑文件 /etc/network/interfaces 来将 IP 改为静态永久的。
sudo nano /etc/network/interfaces
如果文件内容是如下所示,则说明系统的 IP 地址是由 DHCP 客户端设置的:
auto eth0iface eth0 inet dhcp
我们可以通过修改上述文件来设置静态 IP 地址。例如要把 IP 地址设置为 192.168.56.20,可将上面文件内容修改为:
auto enp0s3iface enp0s3 inet staticaddress 192.168.56.20netmask 255.255.255.0gateway 192.168.40.31
上述内容对于经常使用 Linux 系统的用户来说是很容易理解的。要使修改生效,需要运行如下命令:
$ sudo systemctl restart networking.service
提示:在基于RedHat 的系统上,用于配置网络接口的文件是 /etc/sysconfig/networking-scripts/ifcfg-
*使用 Netplan 进行网络配置(针对Ubuntu)Ubuntu 有一个用于网络配置的工具,名为 Netplan。
我们在 Ubuntu 20.04 配置 IP 地址作为示例,使用 NetworkManager 作为网络配置的渲染器。
可以在 Netplan 配置文件中查看当前的 IP 地址,该文件为 YAML 格式,如果不存在,可以创建:
sudo nano /etc/netplan/config.yaml
如果IP地址是动态的,你会看到 dhcp4 参数设置为 true。
如果目前已经配置了一个静态 IP,将会看到如下所示的内容:
---network: version: 2 renderer: networkd ethernets: eth1: addresses: - 192.168.56.66/24 nameservers: addresses: - 8.8.8.8 routes: - to: default via: 10.0.2.2
通过修改上面的 IP 地址来设置一个新地址。此外,还可以保留旧的IP地址,在上面网口(eth1)中再添加一个。
配置好后,在应用之前先测试一下:
sudo netplan try
确认更改后,使配置生效:
sudo netplan apply
然后检查一下配置是否已生效:
使用 Netplan 的优点之一是配置的修改是永久的,机器重启后,配置仍会生效,即配置的 IP 是静态的。
使用图形界面更改系统IP地址(适用于桌面用户)使用图形界面管理IP地址是最简单的方法,在 Ubuntu 系统上,网络设置包含所有必需的配置。
在 GNOME 仪表盘中打开 Settings,找到 Network 选项,然后在系统的可用网络中选择设置的图标,如下图所示:
在新打开的窗口中,选择 IPv4 选项卡,然后在 IPv4 method 下,选择 Manual(手动)选项,输入新的 IP 地址:
然后重启网络连接,并检查 IP 地址:
从上面的截图中可以看到,IP 地址已经更改。
ip 命令适用于所有 Linux 系统;Netplan 是一种管理网络的新方式,对于 Ubuntu 系统来说是一种非常简单的方法。