내 컴퓨터에는 eth0 인터페이스가 정의되어 있고 이와 관련된 별칭 eth0이 있습니다. 1
# ifconfig
eth0 Link encap:Ethernet HWaddr X:5D:X:3F:X:89
inet addr:X.X.0.156 Bcast:0.0.0.0 Mask:X.X.X.X
inet6 addr: X::9a5d:X:fe3f:X/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:677 errors:0 dropped:0 overruns:0 frame:0
TX packets:180 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:56767 (55.4 KiB) TX bytes:16019 (15.6 KiB)
Interrupt:175
eth0:1 Link encap:Ethernet HWaddr X:5D:X:3F:X:89
inet addr:X.X.0.181 Bcast:0.0.0.0 Mask:X.X.X.X
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:175
하지만 아래 명령을 사용하여 별칭을 비활성화하려는 경우 eth0도 제거됩니다.
/sbin/ifdown eth0:1
왜 이런 일이 발생합니까?
반면에 명령을 사용하여 별칭을 비활성화하려고 하면 작동하고 자체적으로 삭제됩니다.
ifconfig eth0:1 down
하지만 별칭을 다시 복원하면 다음과 같은 상황이 발생합니다.
# /sbin/ifup eth0:1
ifup: interface eth0:1 already configured
# /sbin/ifdown eth0:1
# /sbin/ifup eth0:1
# ifconfig
eth0 Link encap:Ethernet HWaddr X:5D:X:3F:X:89
inet6 addr: X::9a5d:X:fe3f:X/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1321 errors:0 dropped:0 overruns:0 frame:0
TX packets:235 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:111766 (109.1 KiB) TX bytes:20421 (19.9 KiB)
Interrupt:175
eth0:1 Link encap:Ethernet HWaddr X:5D:X:3F:X:89
inet addr:X.X.0.181 Bcast:0.0.0.0 Mask:X.X.X.X
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:175
Eth0은 IP 주소와 설정을 잃습니다. 이로 인해 별칭을 개별적으로 삭제하고 설정할 수 없게 됩니까?
/etc/network/interfaces 파일은 eth0 및 eth0:1을 정의합니다.
# cat /etc/network/interfaces
auto eth0
iface eth0 inet static
address X.X.0.156
netmask X.X.X.X
gateway X.X.0.1
auto eth0:1
iface eth0:1 inet static
address X.X.0.181
netmask X.X.X.X
답변1
서브넷 마스크가 동일하다고 가정합니다.
귀하의 관찰에 따르면 적어도 Linux 커널 4.19에는 버그가 있습니다. 동일한 서브넷의 IP 주소 2개를 인터페이스에 추가하고 첫 번째 주소를 삭제하면 두 주소가 모두 삭제됩니다.
ifconfig eth0 1.1.1.1/24
ifconfig eth0:2 1.1.1.2/24
ifconfig eth0 0
그러나 하나의 인터페이스에 동일한 서브넷의 IP 주소가 2개 있는 것은 여전히 잘못된 구성이라는 점을 기억하십시오. 두 개의 IP 주소를 수신하지만 응답 IP 주소는 지정되지 않습니다. 이 구성은 일시적으로만 사용하십시오. 이 경우 Linux 커널 5.10은 올바른 IP 주소를 제거했습니다.