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