2개의 인터페이스를 갖춘 원격 컴퓨터가 있습니다: eth0
및 eth1
.
eth0 IP 주소와 eth1 IP 주소를 모두 사용하여 SSH를 실행할 수 있습니다. 그러나 명령을 사용하여 eth0을 종료하면 상황이 이상해지기 시작합니다 ifdown eth0
. eth0을 풀다운한 후 eth1을 ping할 수 있지만 더 이상 eth1을 사용하여 ssh를 사용할 수 없습니다. SSH 구성을 확인했지만 인터페이스 구성과 관련된 내용을 찾을 수 없습니다.
내가 무엇을 놓치고 있나요?
답변1
동일한 서브넷에 2개의 장치가 있는 것 같습니다. 이는 일반적으로 제대로 작동하지 않거나 예기치 않게 작동합니다. 다른 서브넷이 있어야 합니다. 그렇지 않으면 ARP를 비활성화해야 합니다.
예를 들어. ARP 비활성화:
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
하지만 어떤 문제가 있더라도 더 좋은 방법이 있다고 확신합니다. 어쩌면 브리지를 설정하고 하나의 IP 주소만 사용해야 할 수도 있습니다. 예를 들어:
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
ip a add ... dev br0
또는 동일한 NIC에 있는 주소 2개 또는 서로 다른 서브넷 2개(예: 192.168.123.0/24 및 192.168.124.0/24).
답변2
sshd conf에 ListenAddress 지시문을 남겨두었나요? 내 설정에서 다중 인터페이스 액세스를 원할 때 다음 줄을 주석 처리하면 됩니다.
ListenAddress ::
ListenAddress 0.0.0.0