Linux Debian 시스템에서 SSTP를 사용하여 VPN에 연결하려고 합니다. 연결이 성공한 것 같지만 VPN이나 인터넷 뒤에 있는 리소스에 연결할 수 없습니다. 나는 내 라우팅 규칙이 어떤 면에서 잘못되었을 수 있다고 생각하지만, 나는 한계를 벗어났고 다른 옵션을 시도해도 지금까지 작동하는 솔루션을 얻지 못했습니다.
VPN에 연결하는 데 사용하는 명령은 다음과 같습니다.
sudo /usr/sbin/sstpc --log-stderr --cert-warn --user USER --password PASSWORD vpn.WEBSITE.com usepeerdns require-mschap-v2 noauth noipdefault nodefaultroute refuse-eap noccp --log-level 5
(위와 아래 로그 내부의 자격 증명과 연결하려는 특정 VPN IP 주소를 교체했습니다.) 명령은 다음 출력을 기록합니다.
Oct 27 11:06:35 sstpc[245506]: Resolved vpn.WEBSITE.com to a.b.c.d
Oct 27 11:06:35 sstpc[245506]: Connected to vpn.WEBSITE.com
Oct 27 11:06:35 sstpc[245506]: Sending Connect-Request Message
Oct 27 11:06:35 sstpc[245506]: SEND SSTP CRTL PKT(14)
Oct 27 11:06:35 sstpc[245506]: TYPE(1): CONNECT REQUEST, ATTR(1):
Oct 27 11:06:35 sstpc[245506]: ENCAP PROTO(1): 6
Oct 27 11:06:35 sstpc[245506]: RECV SSTP CRTL PKT(48)
Oct 27 11:06:35 sstpc[245506]: TYPE(2): CONNECT ACK, ATTR(1):
Oct 27 11:06:35 sstpc[245506]: CRYPTO BIND REQ(4): 40
Oct 27 11:06:35 sstpc[245506]: Started PPP Link Negotiation
Oct 27 11:06:35 sstpc[245506]: SEND SSTP DATA PKT(28)
Oct 27 11:06:35 sstpc[245506]: PPP LCP ID: 1 CONFREQ ASYNCMAP: 00 00 00 00 MAGIC: 0x7764C36E
Oct 27 11:06:35 sstpc[245506]: RECV SSTP DATA PKT(60)
Oct 27 11:06:35 sstpc[245506]: PPP LCP ID: 0 CONFREQ MRU: 4091 AUTH: PAP MAGIC: 0x40311748 CALLBACK: 06 MRRU: 1614 EPDISC: 01 E8 61 37 D2 2E EB 4E C4 BF 67 15 80 86 C0 8F 21 00 00 00 00
Oct 27 11:06:35 sstpc[245506]: RECV SSTP DATA PKT(28)
Oct 27 11:06:35 sstpc[245506]: PPP LCP ID: 1 CONFACK ASYNCMAP: 00 00 00 00 MAGIC: 0x7764C36E
Oct 27 11:06:35 sstpc[245506]: SEND SSTP DATA PKT(19)
Oct 27 11:06:35 sstpc[245506]: PPP LCP ID: 0 CONFREJ CALLBACK: 06 MRRU: 1614
Oct 27 11:06:35 sstpc[245506]: RECV SSTP DATA PKT(53)
Oct 27 11:06:35 sstpc[245506]: PPP LCP ID: 1 CONFREQ MRU: 4091 AUTH: PAP MAGIC: 0x40311748 EPDISC: 01 E8 61 37 D2 2E EB 4E C4 BF 67 15 80 86 C0 8F 21 00 00 00 00
Oct 27 11:06:35 sstpc[245506]: SEND SSTP DATA PKT(53)
Oct 27 11:06:35 sstpc[245506]: PPP LCP ID: 1 CONFACK MRU: 4091 AUTH: PAP MAGIC: 0x40311748 EPDISC: 01 E8 61 37 D2 2E EB 4E C4 BF 67 15 80 86 C0 8F 21 00 00 00 00
Oct 27 11:06:35 sstpc[245506]: SEND SSTP DATA PKT(14)
Oct 27 11:06:35 sstpc[245506]: PPP LCP ID: 0 ECHOREQ MAGIC: 0x7764C36E
Oct 27 11:06:35 sstpc[245506]: SEND SSTP DATA PKT(40)
Oct 27 11:06:35 sstpc[245506]: PPP PAP ID: 1 CONFREQ NAME="USER", PASSWORD: "PASSWORD"
Oct 27 11:06:35 sstpc[245506]: RECV SSTP DATA PKT(14)
Oct 27 11:06:35 sstpc[245506]: PPP LCP ID: 0 ECHOREP MAGIC: 0x40311748
Oct 27 11:06:38 sstpc[245506]: SEND SSTP DATA PKT(40)
Oct 27 11:06:38 sstpc[245506]: PPP PAP ID: 2 CONFREQ NAME="USER", PASSWORD: "PASSWORD"
Oct 27 11:06:41 sstpc[245506]: RECV SSTP DATA PKT(37)
Oct 27 11:06:41 sstpc[245506]: PPP PAP ID: 2 CONFACK RESULT="Success. Logging you in..."
Oct 27 11:06:41 sstpc[245506]: Sending Connected Message
Oct 27 11:06:41 sstpc[245506]: SEND SSTP CRTL PKT(112)
Oct 27 11:06:41 sstpc[245506]: TYPE(4): CONNECTED, ATTR(1):
Oct 27 11:06:41 sstpc[245506]: CRYPTO BIND(3): 104
Oct 27 11:06:41 sstpc[245506]: Connection Established
Oct 27 11:06:41 sstpc[245506]: SEND SSTP DATA PKT(34)
Oct 27 11:06:41 sstpc[245506]: PPP IPCP ID: 1 CONFREQ COMPRESSTYPE: VJ [0x0F 0x01] ADDR: 0.0.0.0 MS_DNS1: 0.0.0.0 MS_DNS2: 0.0.0.0
Oct 27 11:06:41 sstpc[245506]: SEND SSTP DATA PKT(20)
Oct 27 11:06:41 sstpc[245506]: RECV SSTP DATA PKT(16)
Oct 27 11:06:41 sstpc[245506]: PPP CCP ID: 3 CONFREQ MPPC [ +H -M -S -L -D +C ]
Oct 27 11:06:41 sstpc[245506]: RECV SSTP DATA PKT(16)
Oct 27 11:06:41 sstpc[245506]: PPP IPCP ID: 4 CONFREQ ADDR: 10.60.20.252
Oct 27 11:06:41 sstpc[245506]: SEND SSTP DATA PKT(22)
Oct 27 11:06:41 sstpc[245506]: PPP LCP ID: 2 PROTOREJ CCP
Oct 27 11:06:41 sstpc[245506]: SEND SSTP DATA PKT(16)
Oct 27 11:06:41 sstpc[245506]: PPP IPCP ID: 4 CONFACK ADDR: 10.60.20.252
Oct 27 11:06:41 sstpc[245506]: RECV SSTP DATA PKT(16)
Oct 27 11:06:41 sstpc[245506]: PPP IPCP ID: 1 CONFREJ COMPRESSTYPE: VJ [0x0F 0x01]
Oct 27 11:06:41 sstpc[245506]: RECV SSTP DATA PKT(26)
Oct 27 11:06:41 sstpc[245506]: PPP LCP ID: 5 PROTOREJ 80570073
Oct 27 11:06:41 sstpc[245506]: SEND SSTP DATA PKT(28)
Oct 27 11:06:41 sstpc[245506]: PPP IPCP ID: 2 CONFREQ ADDR: 0.0.0.0 MS_DNS1: 0.0.0.0 MS_DNS2: 0.0.0.0
Oct 27 11:06:41 sstpc[245506]: RECV SSTP DATA PKT(28)
Oct 27 11:06:41 sstpc[245506]: PPP IPCP ID: 2 CONFNAK ADDR: 10.60.20.74 MS_DNS1: 10.60.20.10 MS_DNS2: 10.60.20.15
Oct 27 11:06:41 sstpc[245506]: SEND SSTP DATA PKT(28)
Oct 27 11:06:41 sstpc[245506]: PPP IPCP ID: 3 CONFREQ ADDR: 10.60.20.74 MS_DNS1: 10.60.20.10 MS_DNS2: 10.60.20.15
Oct 27 11:06:41 sstpc[245506]: RECV SSTP DATA PKT(28)
Oct 27 11:06:41 sstpc[245506]: PPP IPCP ID: 3 CONFACK ADDR: 10.60.20.74 MS_DNS1: 10.60.20.10 MS_DNS2: 10.60.20.15
Oct 27 11:07:05 sstpc[245506]: SEND SSTP DATA PKT(14)
Oct 27 11:07:05 sstpc[245506]: PPP LCP ID: 1 ECHOREQ MAGIC: 0x7764C36E
Oct 27 11:07:05 sstpc[245506]: RECV SSTP DATA PKT(14)
Oct 27 11:07:05 sstpc[245506]: PPP LCP ID: 1 ECHOREP MAGIC: 0x40311748
Oct 27 11:07:31 sstpc[245506]: RECV SSTP DATA PKT(333)
Oct 27 11:07:35 sstpc[245506]: SEND SSTP DATA PKT(14)
Oct 27 11:07:35 sstpc[245506]: PPP LCP ID: 2 ECHOREQ MAGIC: 0x7764C36E
Oct 27 11:07:35 sstpc[245506]: RECV SSTP DATA PKT(14)
Oct 27 11:07:35 sstpc[245506]: PPP LCP ID: 2 ECHOREP MAGIC: 0x40311748
Oct 27 11:08:05 sstpc[245506]: SEND SSTP DATA PKT(14)
Oct 27 11:08:05 sstpc[245506]: PPP LCP ID: 3 ECHOREQ MAGIC: 0x7764C36E
Oct 27 11:08:05 sstpc[245506]: RECV SSTP DATA PKT(14)
Oct 27 11:08:05 sstpc[245506]: PPP LCP ID: 3 ECHOREP MAGIC: 0x40311748
Oct 27 11:08:35 sstpc[245506]: SEND SSTP DATA PKT(14)
Oct 27 11:08:35 sstpc[245506]: PPP LCP ID: 4 ECHOREQ MAGIC: 0x7764C36E
...
다음과 같은 이유로 VPN에 성공적으로 연결되었다고 확신합니다.
- 회사에서 설정한 연결이 필요한 Duo Mobile 푸시 알림을 휴대폰으로 받았습니다.
- vpn.WEBSITE.com IP 주소 abxy 또는 내부 VPN 서버 주소 10.60.20.252를 ping하면 패킷을 받을 수 있습니다.
- VPN 세부 정보 및 속성을 VPN이 설정되어 실행 중인 Windows 컴퓨터와 비교할 때 모든 IP 및 DNS 주소가 일치합니다.
그러나 google.com에 ping을 시도하거나 VPN 뒤에 있는 리소스(특히 gitlab.WEBSITE.net에 있는 git 저장소)에 액세스하려고 하면 터미널이 멈추고 아무 일도 일어나지 않습니다(터미널에 로깅 출력이 없음).
즉, 내 라우팅 테이블이 어떤 식으로든 꺼져 있을 가능성이 높다고 생각합니다. 비록 무엇인지는 확실하지 않습니다. 라우팅 테이블은 다음과 같습니다( 사용 ip route show
).
default via 10.0.0.1 dev enp4s0
10.0.0.0/24 dev enp4s0 proto kernel scope link src 10.0.0.246
10.60.20.252 dev ppp0 proto kernel scope link src 10.60.20.78
a.b.c.d via 10.0.0.1 dev enp4s0 src 10.0.0.246
--save-server-route
내가 표에 추가한 마지막 경로는 내가 실행한 많은 명령 중 하나의 매개변수를 통한 경로 였습니다.sstpc
경로 시트나 다른 곳에서 이상한 점을 발견하면 알려주시고 도움을 주셔서 감사합니다.
답변1
회사의 IT 직원과 협력한 후 문제를 해결했습니다. VPN이 연결되어 있지만 VPN 반대편의 네트워크에 액세스할 수 있도록 라우팅이 설정되어 있지 않습니다. 아직도 모든 것을 완전히 이해하지는 못했지만, 다음 명령을 실행하여 반대편에 네트워크를 추가하고 나면 인터넷뿐만 아니라 내부 리소스에도 액세스할 수 있었습니다.
sudo -- ip r add 10.60.0.0/16 via a.b.c.d dev ppp0
VPN에 연결할 때마다 이 명령을 실행해야 합니다.