네트워크 인터페이스를 비활성화한 후에도 서버가 계속 연결을 허용하는 이유는 무엇입니까?

네트워크 인터페이스를 비활성화한 후에도 서버가 계속 연결을 허용하는 이유는 무엇입니까?

나는 다른 명령을 검색하고 실행했습니다(더 유용하다고 생각되는 명령만 남겼습니다). 대부분의 검색에서는 인터페이스를 종료/종료하는 방법에 대한 설명을 알려주었지만 이 동작에 대한 힌트는 없었습니다.

반면:

  • enp3s02개의 NIC(Lubuntu 20.04)가 있는 소형 서버(Lubuntu 20.04) wlp9s0.
  • 라우터는 DHCP 설정의 MAC/주소 예약을 통해 192.168.1.78및 를 각각 .79할당합니다 enp3s0.wlp9s0
  • 처음에는 서버가 WiFi( wlp9s0)를 통해서만 연결되므로 연결만 허용합니다 192.168.1.79.

언제:

  • 몇 시간 후: Eth 케이블( enp3s0)이 연결되고 192.168.1.78연결 수락을 시작합니다.
  • WiFi 인터페이스가 꺼져 있습니다 sudo ifconfig wlp9s0 down.

그 다음에:

  • 연결 시도 192.168.1.79실패(예상, 정상)
  • 하지만... 몇 시간 후: 연결 시도가 192.168.1.79다시 작동하기 시작합니다(?)

더 많은 데이터:

다른 머신에서 실행하면 arp -a동일한 MAC 주소(?)에 매핑된 두 IP가 모두 표시됩니다.

d (192.168.1.78) at d3:cf:47:c8:a:a9 on en0 ifscope [ethernet]
? (192.168.1.79) at d3:cf:47:c8:a:a9 on en0 ifscope [ethernet]

ip address서버에서 실행하여 WiFi 링크가 다운되어 있고 192.168.1.79여전히 할당되어 있는지 확인하세요.

1: lo: <LOOPBACK,UP,LOWER_UP> ...
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether d3:cf:47:c8:a:a9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.78/24 brd 192.168.1.255 scope global dynamic noprefixroute enp3s0
       valid_lft 82801sec preferred_lft 82801sec
3: wlp9s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether f1:bf:5c:ac:4c:6d brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.79/24 brd 192.168.1.255 scope global dynamic noprefixroute wlp9s0
       valid_lft 12983sec preferred_lft 12983sec

enp3s0이제 두 IP의 트래픽을 모두 허용하는 이유는 무엇입니까 ?

답변1

실제로 이것은 Linux에서 흔히 발생하는 문제입니다. 세 번째 인터페이스(wlp9s0)에는 주소가 있습니다. 모든 인터페이스는 이 주소에 ARP 응답을 하게 되며, 잘못된 인터페이스에서 수신된 패킷은 이 주소에서 허용됩니다.

인터페이스를 종료한 후 실패할 수 있는 이유는 원격 컴퓨터의 ARP 테이블에 이미 무선 MAC 주소가 있기 때문입니다. 시간이 초과되면 다른 주소를 찾을 수 있습니다.

이런 일이 발생하지 않도록 하려면 다운된 인터페이스에서 주소를 완전히 제거하세요. ifconfig를 사용하여 다른 주소를 제공하거나 다음을 수행할 수 있습니다.

ip address del 192.168.1.79/24 dev wlp9s0 

관련 정보