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

지정한 구성에는 아무런 문제가 없는 것 같아서 변경 사항을 어떻게 적용했는지 생각해 보겠습니다.

둘째, 출력에는 netplan 구성 대신 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

관련 정보