
내 구성이 너무 혼란 스러웠습니다.
내 서버에는 2개의 인터페이스가 있습니다.
eth0: 192.168.1.22 gw 192.168.1.1
eth2: 10.2.1.6 gw 10.2.1.1
나는 정적 경로를 작성했습니다.
ip r a 8.8.8.8 via 192.168.1.1
worked great!!
then I deleted it and
ip r a 8.8.8.8 dev eth0
From 192.168.1.22 icmp_seq=1 Destination Host Unreachable
왜?????
답변1
두 번째 형식( ip r a 8.8.8.8 dev eth0
)에서는 게이트웨이를 지정하지 않았는데, 패킷을 어느 라우터로 전달해야 합니까? 게이트웨이를 모르면 서버는 "Destination Host Unreachable"로 간단히 응답합니다.
인터페이스를 지정하는 것은 다음 두 가지 이유로 유용할 수 있습니다.
- 원격 호스트가 동일한 게이트웨이를 통해 라우팅되는 경우 해당 호스트에 도달할 수 있습니다.둘
dev
인터페이스가 다르면 동일한 게이트웨이에 대해 서로 다른 두 개의 경로를 생성할 수 있습니다 . 그런 다음metric
다음을 통해 두 경로 사이의 우선순위를 정할 수 있습니다.ECMP 라우팅일종의 로드 밸런싱을 달성하기 위해 - 모든 트래픽이 지정된 인터페이스에 의해 "캡처"되는 지점 간 인터페이스(VPN 또는 tun 인터페이스 생각)의 경우(게이트웨이는 중요하지 않음)
답변2
ip r a 8.8.8.8 dev eth0
"8.8.8.8이 eth0 인터페이스에 직접 연결되어 있음"을 의미합니다. Linux 커널은 arp 요청으로 MAC 주소 8.8.8.8을 확인하려고 시도했지만 응답을 받지 못하고 "대상 호스트에 연결할 수 없음" 오류를 보고합니다.