無法在 Ubuntu 20.04 上新增額外的 IP 位址。使用網路規劃

無法在 Ubuntu 20.04 上新增額外的 IP 位址。使用網路規劃

我的伺服器在 eno1 介面上有 10.20.10.100 IP 位址。

我可以成功新增臨時 IP 位址 10.20.50.60(或任何其他位址)。

當我嘗試使用 netplan 永久添加時,我無法再使用其原始 IP 位址連接到伺服器。

我的原始 /etc/netplan/00-installer-config.yaml 的內容:

network:
  ethernets:
    eno1:
      dhcp4: true
    eno2:
      dhcp4: true
    enx7e8ae1d2cba7:
      dhcp4: true
  version: 2

我修改後的版本是:

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: false
      addresses:
        - 10.20.10.100/24
        - 10.20.50.60/24
        - 10.20.50.61/24
      gateway4: 10.20.0.1
      nameservers:
          addresses: [10.20.0.1,1.1.1.1,8.8.8.8]
    eno2:
      dhcp4: true
    enx7e8ae1d2cba7:
      dhcp4: true

IP位址顯示dev eno1

2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 7c:8a:e1:d2:cb:a2 brd ff:ff:ff:ff:ff:ff
    inet 10.20.10.100/16 brd 10.20.255.255 scope global dynamic eno1
       valid_lft 438sec preferred_lft 438sec

路線-n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.20.0.1       0.0.0.0         UG    100    0        0 eno1
10.20.0.0       0.0.0.0         255.255.0.0     U     0      0        0 eno1
10.20.0.1       0.0.0.0         255.255.255.255 UH    100    0        0 eno1
169.254.95.0    0.0.0.0         255.255.255.0   U     0      0        0 enx7e8ae1d2cba7
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker_gwbridge

我更改的版本是(version2):

network:
version: 2
ethernets:
    eno1: {}
    eno2:
        dhcp4: true
    enx7e8ae1d2cba7:
        dhcp4: true
vlans:
    vlan.101:
        id: 101
        link: eno1
        addresses: [10.20.10.100/16]
        gateway4: 10.20.0.1
        nameservers:
            addresses: [10.20.0.1, 1.1.1.1]
    vlan.102:
        id: 102
        link: eno1
        addresses: [10.20.50.60/16]
        gateway4: 10.20.0.1
        nameservers:
            addresses: [10.20.0.1, 1.1.1.1]
    vlan.103:
        id: 103
        link: eno1
        addresses: [10.20.50.61/16]
        gateway4: 10.20.0.1
        nameservers:
            addresses: [10.20.0.1, 1.1.1.1]

答案1

您指定的配置似乎沒有任何問題,因此這讓我思考您如何應用更改。

其次,輸出ip address show dev eno1顯示了一個位址,10.20.10.100/16而不是/24您的網路規劃配置中的位址。感覺以前的介面詳細資料已被快取或新的介面詳細資料未套用。

為了幫助確定您的地址詳細信息使用 DHCP,執行以下命令並記下輸出:

# All IP addresses
ip a

# Routes and default gateway
ip r

現在更改 netplan 配置並透過將其設為 false 來停用 DHCP。更改 netplan 配置後,應用調試標誌來幫助確定任何問題:

sudo netplan --debug apply

然後重複上面的命令並記下差異。有時需要重新啟動才能刪除現有接口,或者您可以ip del在應用新的 netplan 配置之前使用該命令刪除現有 IP 位址。

說服自己應用新配置的一種方法是將 /16 更改為不同的內容,例如 /22。如果 的輸出ip a與之前相同,則表示應用不正確。

答案2

我會將您的位址配置為虛擬 LAN(順便說一句,我認為您可能需要為不同網段上的 VLAN 設定網關):

network:
    version: 2
    ethernets:
        eno1: {}
        eno2:
            dhcp4: true
        enx7e8ae1d2cba7:
            dhcp4: true

    vlans:
        vlan.101:
            id: 101
            link: eno1
            addresses: [10.20.10.100/16]
            routes:
            - to: default
              via: 10.20.0.1
        vlan.102:
            id: 102
            link: eno1
            routes:
            addresses: [10.20.50.60/16]
            routes:
            - to: default
              via: 10.20.0.1
        vlan.103:
            id: 103
            link: eno1
            addresses: [10.20.50.61/16]
            routes:
            - to: default
              via: 10.20.0.1

相關內容