VPN 클라이언트를 설치한 뒤 RDP가 멈추나요? 원인은 방화벽입니다
소비자용 VPN 설치 프로그램이 Windows 방화벽 프로필을 바꾸고 RDP를 끊을 수 있습니다. 게스트 에이전트로 다시 들어간 뒤 규칙을 3389 포트로 좁히세요.
소비자용 VPN 클라이언트 설치가 끝난 뒤 몇 분이 지나도 포털은 VM이 실행 중이라고 하고, 공인 IP는 바뀌지 않았으며 RDP는 응답하지 않습니다. 사람들은 보통 VM이 중단됐거나 네트워크 보안 그룹이 바뀌었다고 짐작하지만 둘 다 대개 틀립니다. 바뀐 것은 머신이 속한 Windows 방화벽 프로필이고, 예전에 일치하던 RDP 규칙이 더는 일치하지 않습니다. 복구는 RDP에 의존하지 않는 경로로 셸을 얻는 것에서 시작합니다.
VM은 실행 중이고 규칙이 더는 일치하지 않습니다
Windows 방화벽 규칙은 프로필 집합을 가지며, 개인 또는 도메인으로 한정된 규칙은 머신이 공용 프로필에 있는 동안 아무 효과가 없습니다. VPN 설치 프로그램은 어댑터와 경로를 추가하고, 그중 여러 개가 부작용으로 공용 프로필을 강화합니다. 수신기는 3389에 계속 바인딩되어 있고 패킷도 계속 도착하지만, 프로필 불일치가 이를 버립니다.
전원 상태와 도달 가능성은 별개의 사실이며, 포트가 닫힌 실행 중인 VM은 밖에서 보면 중단된 VM과 똑같이 보입니다.
무엇이든 바꾸기 전에 포트를 확인하세요. 3389 연결 시도가 시간 초과되는 동안 게스트 에이전트 명령이 여전히 출력을 돌려준다면 호스트 방화벽을 가리킵니다. 포트가 응답하는데 RDP가 계속 실패한다면 결함은 네트워크 계층 위에 있고, 이 복구는 거기에 손대지 않습니다. 두 경우 중 무엇을 보았는지 적어 두세요. 나머지 계획이 그것에 달려 있습니다.
두 개의 관문이 독립적으로 닫힙니다
패브릭 정책이 먼저 실행됩니다. 네트워크 보안 그룹이 게스트보다 먼저 패킷을 봅니다. 이 순서 때문에 호스트가 패킷을 버리면 완벽한 NSG 항목도 쓸모없어지고, 패브릭이 거부하면 열린 호스트 규칙도 쓸모없어집니다. 둘을 별개의 관문으로 다루고 각각 따로 시험하세요.
포털이나 CLI에서 NSG의 유효 규칙을 읽고, 게스트 자체 규칙과 비교하세요. 기억나는 마지막 변경이 적용된 변경이라고 가정하지 마세요.
소비자용 클라이언트는 Windows 방화벽 아래에서 트래픽을 막는 필터 드라이버나 킬 스위치를 설치할 수도 있습니다. 방화벽 규칙이 올바르게 보이는데도 포트가 실패한다면 그 계층이 다음 용의자입니다.
게스트 에이전트를 돌아가는 경로로 사용하세요
원격 실행 기능 두 가지인 Run Command와 Custom Script Extension은 패브릭 에이전트를 통해 게스트 안에서 실행됩니다. 둘 다 RDP가 필요 없으므로 방화벽 실수가 영향을 주지 않습니다. 둘 다 스크립트 출력을 돌려주므로 진단 통로이자 복구 통로가 됩니다.
둘 중 하나를 바꾸기 전에 활성 프로필과 RDP 규칙을 읽으세요:
Get-NetConnectionProfile
Get-NetFirewallRule -DisplayGroup "Remote Desktop" | Select-Object Name, Enabled, Profile
해당 프로필에서 인바운드 규칙을 다시 사용하도록 하는 것은 임시 조치이며 목적지가 아닙니다. 세션을 얻는 데 쓰고, 그 뒤 구멍을 제대로 닫으세요:
Set-NetFirewallProfile -Name Public -AllowInboundRules True
그 스위치는 프로필의 모든 인바운드 규칙을 엽니다. RDP만이 아닙니다. 세션을 얻으면 범위가 좁은 규칙으로 바꾸고 실제로 원하는 설정을 복원하세요. 에이전트도 사용할 수 없다면 직렬 콘솔이나 다시 만든 디스크가 대안이며, 에이전트를 건강하게 유지할 실무적 이유가 여기에 있습니다.
세션을 닫기 전에 구멍을 좁히세요
임시 프로필 변경은 그 프로필의 모든 인바운드 규칙에 열려 있는 문입니다. 출발지 주소와 RDP 포트로 한정된 규칙으로 바꾸고, 프로필이 의도한 상태로 돌아왔는지 확인하세요. 세션이 남아 있을 때 하세요. 다음 실수는 원격에서 되돌릴 수 없을지도 모릅니다. 변경하는 동안 Bastion이나 직렬 콘솔 같은 두 번째 관리 경로를 준비해 두세요.
워크스테이션에서 포트 테스트로, 게스트 내부에서는 규칙 목록으로 결과를 확인하세요:
Test-NetConnection -ComputerName 203.0.113.25 -Port 3389
Get-NetFirewallRule -DisplayName "RDP from admin" | Get-NetFirewallPortFilter
테스트가 이어지는 동안 방화벽 로깅을 켜세요. 3389와 활성 프로필을 지목한 폐기 패킷 한 줄이 한 번 더 재부팅하는 것보다 질문에 빨리 답합니다.
다음 설치 프로그램이 같은 일을 하지 않게 하세요
그 호스트가 클라이언트를 실행할 이유가 없다면 제거하세요. 설치된 클라이언트는 다음 업데이트가 프로필을 다시 쓰도록 만든 상시 초대장이며, 다음 사람이 포털에서 같은 장애를 디버깅하게 됩니다.
무언가 네트워크 설정을 다시 쓰기 전에 디스크 스냅숏을 찍고, 필요해지기 전에 두 번째 관리 경로를 준비하세요.
설치 프로그램이 무엇을 바꿨는지 기록하세요. 어댑터, 경로, 방화벽 프로필, 필터 드라이버, 서비스입니다. 그 기록은 다음 사건을 새 조사 대신 알려진 패턴으로 바꿉니다. VM이 정확히 하나의 서비스로 가는 터널을 필요로 한다면 클라이언트를 워크스테이션에 두거나, 서버에 노트북용 제품을 설치하는 대신 사이트 간 링크를 만드세요. 소비자용 클라이언트는 노트북을 겨냥하며, 원격으로 관리하는 서버는 그렇지 않습니다.