어댑터 순서가 랩 VPN 경로를 결정하지 않는 이유
하이퍼바이저의 어댑터 1은 게스트가 어떤 경로를 고를지 알려주지 않습니다. 하드웨어를 바꿀 때마다 프리픽스, 메트릭, 정책 규칙을 비교하세요.
하이퍼바이저 목록에서 어댑터 1이 첫 번째라는 것은 표시 순서일 뿐이고, 게스트의 라우팅 테이블은 그것을 읽지 않습니다. 경로를 결정하는 것은 프리픽스, 메트릭, 그리고 둘보다 먼저 적용되는 모든 정책 규칙입니다. 그래서 랩 VM에 브리지 어댑터를 추가하면 예전 NAT 인터페이스가 여전히 존재하고 두 번째로 번호가 매겨진 채로 두 번째 기본 경로가 생길 수 있습니다. 결과는 구성 변경 없이 어떤 때는 터널을 쓰고 어떤 때는 쓰지 않는 VM입니다.
세 가지 조건이 경로를 결정합니다
세 조건은 어느 프리픽스가 더 구체적인지, 프리픽스가 같을 때 메트릭이 어떻게 작동하는지, 하드웨어 변경 후 게스트가 어떤 규칙을 적용했는지입니다. 각각 한 개의 명령으로 답할 수 있고, 어느 것도 하이퍼바이저의 번호 매기기와 관련이 없습니다.
바로 그 마지막 지점이 판단입니다. VPN 엔드포인트 자체의 주소에 대해 어느 프리픽스가 이기는지 말할 수 없다면, 라우팅 정책이 없는 것이고 오늘 우연히 동작하는 토폴로지가 있는 것입니다.
조건 하나: 어느 프리픽스가 이기는가
10.8.0.0/24로 가는 경로는 그 안의 주소에 대해 기본 경로를 이깁니다. 메트릭과 어댑터 순서와 무관합니다. 그래서 특정 경로를 설치하는 VPN 클라이언트는 메트릭이 더 낮은 두 번째 어댑터가 나타나도 계속 동작합니다. 비용을 고려하기 전에 구체성이 이기는 것입니다. 사용 중이라고 생각하는 테이블은 ip route show로, 특정 목적지에 대해 커널이 실제로 내놓을 답은 ip route get 203.0.113.9로 확인하세요.
엔드포인트 자체의 주소가 가장 중요한 시험입니다. VPN 서버 주소가 새로 추가한 브리지 어댑터를 통해 해석되면 터널이 아예 수립되지 않거나, 수립된 뒤 자체 전송 경로를 잃을 수 있습니다. 터널 인터페이스가 답이라고 가정하지 말고 그 주소를 따로 질의하세요.
조건 둘: 메트릭이 하는 일과 하지 않는 일
그 역할은 대부분의 기대보다 좁습니다. 메트릭은 같은 프리픽스로 가는 경로 사이의 동점을 깨지만, 더 넓은 경로가 더 구체적인 경로를 이기게 하지는 않습니다. 동점에서는 작은 숫자가 선호되고, 운영체제마다 반대 방향으로 세기 때문에 Linux와 Windows 사이에서 복사한 조언이 자주 자기모순에 빠집니다.
게스트에서 ip route show는 각 경로 옆에 메트릭을 출력하고, Windows의 Get-NetRoute는 InterfaceMetric과 경로 메트릭을 출력합니다. 실제 선호도는 단일 필드가 아니라 합계일 수 있으므로 둘 다 읽으세요. 기본 경로가 두 개 있다면 그것이 발견입니다. 게스트에 나가는 길이 두 개 있고, 어느 쪽이 이기는지는 하드웨어 변경으로 바뀔 수 있는 숫자의 함수입니다.
조건 셋: 게스트가 실제로 적용한 것
구성은 적용된 상태와 같지 않습니다. 인터페이스 이름은 어느 플랫폼에서든 하드웨어 변경을 거치며 안정적이지 않고, 이름으로 일치하던 구성이 이제 아무것에도 적용되지 않을 수 있습니다.
의도한 상태가 아니라 적용된 상태를 확인하세요. ip -br link는 지금 존재하는 인터페이스를 보여주고, NetworkManager를 쓰는 호스트에서는 nmcli connection show가 어느 프로필이 어느 장치에 묶여 있는지 보여줍니다. 묶이지 못한 프로필은 인터페이스를 주소 없이 켜진 채로 남기며, 이것은 라우팅 문제처럼 보이지만 이름 문제입니다. 복원한 스냅샷은 이를 악화시킵니다. 게스트의 저장된 상태가 새 하드웨어가 더 이상 제공하지 않는 어댑터 식별자를 참조할 수 있기 때문입니다.
랩 토폴로지를 재현 가능하게 유지하세요
의도한 가상 네트워크 연결을 게스트 구성과 함께 저장해, 역할에서 어댑터로의 매핑이 목록 위치에서 추론되지 않고 기록되게 하세요.
보통 네 가지 역할을 이름 붙이면 충분합니다. 사설 링크, 관리, 외부 전송, 터널입니다. 각각은 파일에서 특정 어댑터와 특정 게스트 인터페이스에 매핑되어야 합니다.
그다음 하드웨어 변경, 재시작, 스냅샷 복원 후 실제 애플리케이션을 시험하고 그 시험에 VPN 엔드포인트로 가는 경로를 포함하세요. 게이트웨이 VM이 유일한 출구여야 한다면 시험 VM에 의도하지 않은 두 번째 기본 경로가 없는지 확인하세요. 브리지 어댑터가 추가하는 것이 바로 두 번째 기본 경로입니다. 하이퍼바이저 콘솔이 아니라 게스트에서 시험하세요. 어느 인터페이스가 어느 것인지에 대해 둘이 다를 수 있습니다.
VirtualBox 네트워킹 문서는 어댑터 모드와 각각이 무엇에 연결되는지 설명하며, 두 번째를 추가하기 전에 읽을 만한 부분이 바로 그것입니다. 각 역할을 어느 어댑터가 담당하는지 식별하는 랩은 경로 변경을 설명 가능하게 만듭니다. 하이퍼바이저의 번호 매기기에 의존하는 랩은 모든 변경을 실험으로 만듭니다.