在 Linux 接口上創建虛擬/輔助 IP 地址


按照本教程了解如何在 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 系統上可能不可用。在這種情況下,如果您想使用它,請安裝 NetworkManager 軟件包(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 如果您安裝了 NetworkManager 軟件包,則可用。

發布 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 /Ubuntu20.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: 地址: [8.8.8.8]
  
  版本: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

保存配置,退出,重啟網絡。

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 地址