按照本教程学习如何在 Linux 的接口上创建虚拟/辅助 IP 地址。 这使您可以为单个接口分配多个 IP 地址。
在 Linux 中的接口上创建虚拟/辅助 IP 地址
您可以在 Linux 的接口上临时或永久创建虚拟/辅助 IP 地址。
在 Linux 中的接口上创建临时虚拟/辅助 IP 地址
要在 Linux 的接口上创建临时虚拟/辅助 IP 地址,您可以使用诸如 ip
, ifconfig
.
使用 ip
命令来创建/添加辅助 IP 地址到接口,请参见下面的示例。
在我们的示例服务器中,我们有一个名为 enp0s8
.
查看接口当前的IP地址;
ip add show dev enp0s8
3: enp0s8: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:c4:23:c9 brd ff:ff:ff:ff:ff:ff inet 192.168.56.108/24 brd 192.168.56.255 scope global noprefixroute enp0s8 valid_lft forever preferred_lft forever inet6 fe80::d524:3777:b321:5ed/64 scope link noprefixroute valid_lft forever preferred_lft forever ,multicast,up,lower_up>
分配给接口的主 IP 地址是 192.168.56.108
.
假设我们要临时分配一个辅助 IP 地址, 192.168.56.109
, 使用 ip
命令;
ip addr add 192.168.56.109/24 br 192.168.56.255 dev enp0s8
这 addr
和 br
是缩写 address
和 broadcast
分别。
确认二级IP地址分配;
ip add show dev enp0s8
3: enp0s8: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:c4:23:c9 brd ff:ff:ff:ff:ff:ff inet 192.168.56.108/24 brd 192.168.56.255 scope global dynamic noprefixroute enp0s8 valid_lft 394sec preferred_lft 394sec inet 192.168.56.109/24 brd 192.168.56.255 scope global secondary enp0s8 valid_lft forever preferred_lft forever inet6 fe80::d524:3777:b321:5ed/64 scope link noprefixroute valid_lft forever preferred_lft forever ,multicast,up,lower_up>
如果您重新启动网络/关闭接口或重新启动您的服务器,您将失去分配的 IP 地址。
在 Linux 中的接口上创建永久虚拟/辅助 IP 地址
在 CentOS 和类似的 RHEL 衍生产品上创建辅助 IP 地址。
使用 nmcli 命令创建辅助 IP 地址
在 CentOS 和类似的衍生产品上,您可以使用简单的 NetworkManager 命令行工具, nmcli
.
默认情况下,该命令在 Ubuntu/Debian 系统上可能不可用。 如果是这样并且想使用它,那么安装网络管理器包(network-manager
)。
首先确认接口连接名称;
nmcli con show
con
是缩写 connection
.
样本输出;
NAME UUID TYPE DEVICE enp0s8 e59e1c2f-bda2-4704-9f4a-67e8cce636d9 ethernet enp0s8 Wired connection 1 a7d294d4-05d9-3724-832e-6b80dc288a24 ethernet enp0s3
在这种情况下,我们要向接口添加虚拟/辅助 IP enp0s8
, 连接名称 enp0s8
.
这可以使用 nmcli
命令如下。 注意 plus(+)ipv4.addresses
.
nmcli con mod enp0s8 +ipv4.addresses 192.168.56.109/24
mod
是缩写 modify
.
取下并调出界面。 我假设您是通过控制台直接登录的 而不是通过 ssh。
nmcli con down enp0s8 && nmcli con up enp0s8
确认辅助 IP 地址分配。
ip add show dev enp0s8
3: enp0s8: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:c4:23:c9 brd ff:ff:ff:ff:ff:ff inet 192.168.56.108/24 brd 192.168.56.255 scope global noprefixroute enp0s8 valid_lft forever preferred_lft forever inet 192.168.56.109/24 brd 192.168.56.255 scope global secondary noprefixroute enp0s8 valid_lft forever preferred_lft forever inet6 fe80::d524:3777:b321:5ed/64 scope link noprefixroute valid_lft forever preferred_lft forever ,multicast,up,lower_up>
要使用 nmcli 命令删除辅助 IP 地址,只需使用 minus(-)ipv4.addresses
.
nmcli con mod enp0s8 -ipv4.addresses 192.168.56.109/24
nmcli con down enp0s8 && nmcli con up enp0s8
使用 nmtui(网络管理器 GUI)创建辅助 IP 地址
nmtui
如果您已安装网络管理器包,则可用。
发射 nmtui
从终端(您可以使用 Tab 键浏览设置);
nmtui
选择 编辑连接 然后点击 好的.
选择要编辑的界面,在本例中为 enp0s8
然后点击 编辑;
向下滚动到 IPV4 配置并单击 添加 并输入您的 IP 地址。
接下来,点击 好的 在底部 > 后退 > 激活连接 > 好的.
选择并停用该接口。
选择接口并再次激活它。
选择 后退 > 退出.
确认 IP 地址分配。
ip add show dev enp0s8
ip add show dev enp0s8
3: enp0s8: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:c4:23:c9 brd ff:ff:ff:ff:ff:ff inet 192.168.56.108/24 brd 192.168.56.255 scope global noprefixroute enp0s8 valid_lft forever preferred_lft forever inet 192.168.56.109/24 brd 192.168.56.255 scope global secondary noprefixroute enp0s8 valid_lft forever preferred_lft forever inet6 fe80::d524:3777:b321:5ed/64 scope link noprefixroute valid_lft forever preferred_lft forever ,multicast,up,lower_up>
您可以类似地使用 nmcli 命令或直接从 nmtui 工具中删除它。
在 Ubuntu 18.04/Ubuntu 20.04 系统上创建辅助 IP 地址
要在 Ubuntu 18.04/Ubuntu 20.04 系统上创建永久 IP 地址,使用 netplan 管理网络接口,则可以进行如下操作;
检查接口的当前 IP 地址;
ip add show dev enp0s8
3: enp0s8: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:56:39:94 brd ff:ff:ff:ff:ff:ff inet 192.168.59.14/24 brd 192.168.59.255 scope global enp0s8 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe56:3994/64 scope link valid_lft forever preferred_lft forever ,multicast,up,lower_up>
我的接口的当前网络规划配置;
cat /etc/netplan/00-installer-config.yaml
network: ethernets: enp0s3: dhcp4: true enp0s8: dhcp4: no addresses: [192.168.59.14/24] routes: - to: 0.0.0.0/0 via: 192.168.59.1 metric: 101 nameservers: addresses: [8.8.8.8] version: 2
要向接口添加辅助 IP 地址,请编辑配置文件
cp /etc/netplan/00-installer-config.yaml{,.old}
vim /etc/netplan/00-installer-config.yaml
并更新行;
addresses: [192.168.59.14/24]
这样它可能看起来像;
addresses: [192.168.59.14/24, 192.168.59.15/24]
配置现在看起来像;
network: ethernets: enp0s3: dhcp4: true enp0s8: dhcp4: no addresses: [192.168.59.14/24, 192.168.59.15/24] routes: - to: 0.0.0.0/0 via: 192.168.59.1 metric: 101 nameservers: addresses: [8.8.8.8] version: 2
应用配置更改;
netplan apply
确认IP地址分配
ip add show dev enp0s8
在 Debian 系统上创建辅助 IP 地址
同样,按如下方式更新接口,以添加辅助 IP 地址。
示例接口配置;
cat /etc/network/interfaces
source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug enp0s3 iface enp0s3 inet dhcp auto enp0s8 iface enp0s8 inet static address 192.168.58.22 netmask 255.255.255.0 gateway 192.168.58.1 broadcast 192.168.58.255 dns-nameservers 8.8.8.8
添加辅助 IP 地址;
cp /etc/network/interfaces{,.old}
更新配置如下
vim /etc/network/interfaces
source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug enp0s3 iface enp0s3 inet dhcp auto enp0s8 iface enp0s8 inet static address 192.168.58.22 netmask 255.255.255.0 gateway 192.168.58.1 broadcast 192.168.58.255 dns-nameservers 8.8.8.8 auto enp0s8:0 iface enp0s8:0 inet static address 192.168.58.23 netmask 255.255.255.0
查看添加的配置;
auto enp0s8:0 iface enp0s8:0 inet static address 192.168.58.23 netmask 255.255.255.0
Save 并退出配置并重新启动网络;
systemctl restart networking
确认IP地址;
ip add show dev enp0s8
3: enp0s8: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:2b:b4:61 brd ff:ff:ff:ff:ff:ff inet 192.168.58.22/24 brd 192.168.58.255 scope global enp0s8 valid_lft forever preferred_lft forever inet 192.168.58.23/24 brd 192.168.58.255 scope global secondary enp0s8:0 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe2b:b461/64 scope link valid_lft forever preferred_lft forever ,multicast,up,lower_up>
这就是如何在 Linux 的接口上创建虚拟/辅助 IP 地址。
在 Linux 中使用 NMCLI 命令连接到 WiFi
为 OpenVPN 客户端分配静态 IP 地址
在 Ubuntu 20.04/18.04 上使用 Netplan 配置静态 IP 地址