
이상한 문제가 있어서 선택의 여지가 없습니다. 그 상황:
L2TP PSK를 사용하여 Mac에서 VPN 서버(Windows Server 2003 R2)에 연결하면 모든 것이 정상적으로 작동합니다.
그러나 Windows PC에서 연결하면 아무 일도 일어나지 않습니다. 809 오류, 때로는 789 오류가 발생합니다. 이제 Mac이 아무 문제 없이 연결할 수 있으므로 포트가 정상이라는 것을 알았습니다.
XP, Vista SP2 및 7에서도 동일합니다. 어느 것도 연결할 수 없습니다. VPN 서버에 직접 연결하면(라우터에서 WAN 대신 내부 IP로) 문제 없이 연결됩니다. PPTP를 사용하여 연결하면 됩니다... 이제 L2TP만 작동한다면 Windows에 정말 감사드립니다!
iptables -L -nv를 사용하여 Linux 라우터의 카운터를 확인했는데 연결할 때 카운터가 발생하지 않습니다. ACCEPT도 아니고 DROP도 아닙니다. Mac에서 연결할 때만 해당됩니다.
레지스터에서 AssumeUDPEncapsulationContextOnSendRule을 활성화하는 가이드를 Microsoft에서 찾았습니다. 서버와 클라이언트에서 "2"로 설정했습니다. 아직 가지 마세요. 해당 등록 키 이후에 809 대신 오류 789가 발생하기 시작했습니다. IPSEC 서비스가 클라이언트와 서버에서 실행되고 있습니다.
이 문제를 도와줄 수 있는 사람이 있나요? 이틀 동안 이 작업을 해왔는데 선택의 여지가 없습니다.
감사해요!
//편집: 아래 해결 방법을 참조하세요. 이는 NAT 라우터 뒤에 있는 VPN 서버에 연결하려는 Windows 클라이언트에만 해당됩니다!
답변1
분명히 필요한 것은 "AssumeUDPEncapsulationContextOnSendRule"이었습니다. IPsec 서비스를 수동으로 다시 시작한 다음 작동했습니다. 아주 이상한!
필요한 단계:
- 관리자 그룹의 구성원인 사용자로 Windows Vista 클라이언트 컴퓨터에 로그온합니다.
- 시작을 클릭하고 모든 프로그램을 가리킨 다음 보조프로그램, 실행을 클릭하고 regedit를 입력한 다음 확인을 클릭합니다. 사용자 계정 컨트롤 대화 상자가 화면에 표시되고 관리자 토큰을 높이라는 메시지가 표시되면 계속을 클릭합니다.
- 다음 레지스트리 하위 키를 찾아 클릭합니다. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent 참고 AssumeUDPEncapsulationContextOnSendRule DWORD 값을 Microsoft Windows XP 서비스 팩 2(SP2) 기반 VPN 클라이언트 컴퓨터에 적용할 수도 있습니다. 이렇게 하려면 다음 레지스트리 하위 키를 찾아 클릭합니다: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPSec
- 편집 메뉴에서 새로 만들기를 가리킨 다음 DWORD(32비트) 값을 클릭합니다.
- AssumeUDPEncapsulationContextOnSendRule을 입력한 다음 Enter 키를 누릅니다.
- AssumeUDPEncapsulationContextOnSendRule을 마우스 오른쪽 단추로 클릭한 다음 수정을 클릭합니다.
값 데이터 상자에 다음 값 중 하나를 입력합니다. ? 0 값 0은 NAT 장치 뒤에 있는 서버와 보안 연결을 설정할 수 없도록 Windows를 구성합니다. 이것이 기본값입니다. • 1 값 1은 NAT 장치 뒤에 있는 서버와 보안 연결을 설정할 수 있도록 Windows를 구성합니다. 2 값 2는 서버와 Windows Vista 기반 또는 Microsoft Windows 서버 코드 이름 "Longhorn" 기반 VPN 클라이언트 컴퓨터가 모두 NAT 장치 뒤에 있을 때 보안 연결을 설정할 수 있도록 Windows를 구성합니다.
확인을 클릭한 다음 레지스트리 편집기를 종료합니다.
- 컴퓨터를 다시 시작하세요