Arch Linux VPN + L2TP: 연결이 설정된 인터넷은 작동하지만 내부 네트워크에 액세스할 수 없습니다.

Arch Linux VPN + L2TP: 연결이 설정된 인터넷은 작동하지만 내부 네트워크에 액세스할 수 없습니다.

나는 다음과 같이 VPN을 구성했습니다.이것(저는 Linux를 사용하고 있습니다.) 모든 것이 정상이고 연결이 설정되었으며 IP 주소가 내 주소에서 미국으로 변경되었지만 VPN에서 사용할 수 있는 리소스를 여전히 사용할 수 없습니다.

동일한 지침에 따라 동일한 연결을 설정하지만 Windows 10에만 해당됩니다. 모든 것이 작동하고 리소스를 사용할 수 있습니다. Linux에서는 이러한 리소스에 대한 트래픽이 VPN 서버를 통과하지 않지만 저는 이 문제에 강하지 않기 때문에 여전히 문제를 해결하는 방법을 알 수 없습니다. 내 시스템 정보:

$ cat /etc/*release
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://www.archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"
LOGO=archlinux

내 가정은 트래픽이 VPN 서버를 우회하고 기본 게이트웨이를 통과한다는 것입니다.

nslookup이 보여주는 내용은 다음과 같습니다.

$nslookup confluence.internal.mycompany.com
Server:    8.8.8.8
Address:  8.8.8.8#53

시도해 보는 것이 합리적이라고 생각합니다.라우팅, 그러나 저는 네트워크 관리에 능숙하지 않고 올바른 하위 집합 주소를 결정하는 방법을 모릅니다. 예를 들어 aaa.internal.mycompany.com, bbb.internal.mycompany.com, ccc.internal.mycompany.com 등. VPN을 통해 트래픽을 aaa,bbb,ccc로 전달하고 싶은데 어떻게 해야 합니까?

도움이 될 수 있는 tcpdump 정보도 다음과 같습니다.

13:57:39.163855 IP 172.16.203.173.41032 > 8.8.8.8.53: 44676+ A? confluence.internal.mycompnay.com. (50)

00:06:11.353064 IP 172.16.203.173.39547 > 8.8.4.4.53: 13730+ A? confluence.internal.mycompany.com. (50)
00:06:11.484299 IP 172.217.1.46.443 > 172.16.203.173.35770: Flags [P.], seq 1:40, ack 39, win 269, options [nop,nop,TS val 1580986377 ecr 1105408237], length 39
00:06:11.484400 IP 172.16.203.173.35770 > 172.217.1.46.443: Flags [.], ack 40, win 502, options [nop,nop,TS val 1105408387 ecr 1580986377], length 0
00:06:11.525396 IP 8.8.4.4.53 > 172.16.203.173.39547: 13730 NXDomain 0/1/0 (113)
00:06:11.525562 IP 172.16.203.173.39547 > 8.8.4.4.53: 32697+ AAAA? confluence.internal.mycompany.com. (50)
00:06:11.697698 IP 8.8.4.4.53 > 172.16.203.173.39547: 32697 NXDomain 0/1/0 (113)
00:06:11.698212 IP 172.16.203.173.48215 > 8.8.8.8.53: 13821+ A? confluence.internal.mycompany.com. (50)
00:06:11.698276 IP 172.16.203.173.48215 > 8.8.8.8.53: 19952+ AAAA? confluence.internal.mycompany.com. (50)
00:06:11.859694 IP 8.8.8.8.53 > 172.16.203.173.48215: 13821 NXDomain 0/1/0 (113)
00:06:11.872141 IP 8.8.8.8.53 > 172.16.203.173.48215: 19952 NXDomain 0/1/0 (113)
00:06:11.873004 IP 172.16.203.173.49336 > 8.8.8.8.53: 36616+ A? confluence.internal.mycompany.com. (50)
00:06:12.034300 IP 8.8.8.8.53 > 172.16.203.173.49336: 36616 NXDomain 0/1/0 (113)
00:06:12.034472 IP 172.16.203.173.49336 > 8.8.8.8.53: 34317+ AAAA? confluence.internal.mycompany.com. (50)
00:06:12.195798 IP 172.16.203.173.33819 > 8.8.8.8.53: 61396+ A? translate.google.com. (38)
00:06:12.197393 IP 172.16.203.173.49098 > 216.58.192.206.443: Flags [P.], seq 2343637690:2343638004, ack 443265426, win 11148, options [nop,nop,TS val 2103047503 ecr 1587334695], length 314
00:06:12.209082 IP 8.8.8.8.53 > 172.16.203.173.49336: 34317 NXDomain 0/1/0 (113)
00:06:12.209542 IP 172.16.203.173.54539 > 8.8.8.8.53: 62574+ A? confluence.internal.mycompany.com. (50)
00:06:12.209658 IP 172.16.203.173.54539 > 8.8.8.8.53: 56421+ AAAA? confluence.internal.mycompany.com. (50)
00:06:12.334328 IP 172.16.203.173.56738 > 172.217.6.2.443: Flags [P.], seq 1835541891:1835541930, ack 3334813663, win 502, options [nop,nop,TS val 324800469 ecr 1444482233], length 39
00:06:12.334456 IP 172.16.203.173.56978 > 216.58.192.130.443: Flags [P.], seq 712232265:712232304, ack 2284899148, win 502, options [nop,nop,TS val 1560658341 ecr 3970133710], length 39
00:06:12.334525 IP 172.16.203.173.56994 > 172.217.4.37.443: Flags [P.], seq 175676537:175676576, ack 336787689, win 24353, options [nop,nop,TS val 525175697 ecr 3037756038], length 39
00:06:12.334592 IP 172.16.203.173.45234 > 172.217.8.195.443: Flags [P.], seq 840900759:840900798, ack 624615808, win 1323, options [nop,nop,TS val 2439520764 ecr 528658266], length 39
00:06:12.348814 IP 216.58.192.206.443 > 172.16.203.173.49098: Flags [.], ack 314, win 1050, options [nop,nop,TS val 1587377915 ecr 2103047503], length 0
00:06:12.358256 IP 8.8.8.8.53 > 172.16.203.173.33819: 61396 2/0/0 CNAME www3.l.google.com., A 216.58.192.206 (75)
00:06:12.358483 IP 172.16.203.173.39682 > 8.8.8.8.53: 10206+ AAAA? translate.google.com. (38)
00:06:12.370884 IP 8.8.8.8.53 > 172.16.203.173.54539: 56421 NXDomain 0/1/0 (113)
00:06:12.382054 IP 8.8.8.8.53 > 172.16.203.173.54539: 62574 NXDomain 0/1/0 (113)

옳지 않다는 것이 맞나요? 트래픽이 Google의 DNS를 통과해서는 안 됩니다. 그렇죠?

netstat -rVPN을 끄면 다음과 같습니다 .

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    600    0        0 wlp2s0
192.168.0.0     0.0.0.0         255.255.255.0   U     600    0        0 wlp2s0

VPN 사용:

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     500    0        0 ppp0
0.0.0.0         192.168.0.1     0.0.0.0         UG    600    0        0 wlp2s0
192.0.2.1       0.0.0.0         255.255.255.255 UH    500    0        0 ppp0
192.168.0.0     0.0.0.0         255.255.255.0   U     600    0        0 wlp2s0
192.168.0.1     0.0.0.0         255.255.255.255 UH    600    0        0 wlp2s0
208.100.17.99   192.168.0.1     255.255.255.255 UGH   600    0        0 wlp2s0

나는 노력했다이것하지만 실패했습니다. 인터넷 연결이 끊어졌습니다.

네트워크 관리자의 VPN 설정은 다음과 같습니다.

여기에 이미지 설명을 입력하세요 여기에 이미지 설명을 입력하세요 여기에 이미지 설명을 입력하세요

어떻게 문제를 해결할 수 있나요?

답변1

VPN을 통해 트래픽을 aaa,bbb,ccc로 전달하고 싶습니다. 어떻게 해야 합니까?

나는 이것이 (제목에서 주장한 대로) 로컬 주소라고 가정합니다(예: ) 192.168.0.2. wlp2s0다음 을 가리키는 기본 경로보다 더 구체적인 경로가 있기 때문에 해당 주소로 향하는 패킷은 터널 인터페이스를 통과하지 않습니다.

192.168.0.1     0.0.0.0         255.255.255.255 UH    600    0        0 wlp2s0

정적 라우팅을 사용하면 보다 구체적인 경로가 항상 '승리'됩니다. 이 문제를 해결하려면 다음을 수행할 수 있습니다.

  1. 다음을 사용하여 현재 경로를 삭제합니다.ip route delete 192.168.0.1
  2. dev터널 인터페이스를 가리키는 인터페이스( )를 사용하여 해당 접두사(aaa,bbb,cc 호스트 주소 지정)에 새 경로를 추가합니다 . 예를 들어: ip route add 192.168.0.1/24 via $IP_OF_TUNNELGATEWAY dev ppp0

답변2

마침내 문제가 해결되었습니다. 이건 긴 이야기다. 근본 원인은 잘못된 DNS 구성으로 인해 내부(VPN 서버 뒤) 주소를 제대로 확인할 수 없기 때문입니다. 왜 그런 일이 일어났는지에 대한 가정은 다음과 같습니다. VPN에 연결할 때마다 다음과 같은 일련의 이벤트가 발생합니다.

  1. -> 네트워크 관리자

    ->강한 백조ppp0

    -> dhclient ppp0 (172.16.203.173, 192.0.2.1, dns1=xyz11, dns2=xyz12) -> resolvconf

    ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1400 qdisc fq_codel 상태 UNKNOWN 그룹 기본 qlen 3 link/ppp inet 172.16.203.173 피어 192.0.2.1/32 범위 전역 ppp0 valid_lft 영원히 favorite_lft 영원히

    -> dns1=xyz11, dns2=xyz12에서 /etc/resolv.conf로

DNS 주소는 VPN 연결 구성에서 가져왔습니다(위 스크린샷 참조).

  1. default via ppp0 metric 500라우팅 테이블에 새 경로가 추가되었습니다. 0.0.0.0 192.168.0.1 0.0.0.0 UG 100 0 0 enp3s0결과적으로 ppp0을 통한 트래픽 흐름이 없으므로 우선 순위는 기본 enp3s0 우선 순위보다 낮습니다 .첫 번째 문제

  2. dns1 및 dns2가 포함된 /etc/resolv.conf는 특정 시점에 네트워크 관리자에 의해 기본 Google DNS 8.8.8.8 및 8.8.4.4로 재정의됩니다.두 번째 문제

내가 설치한 두 번째 문제를 해결하려면dnsmasq프록시 역할을 하며 DNS를 자체적으로 처리합니다. dnsmasq의 유일한 주소가 포함되어 있지 않은 pacman -R openresolv netctl변경된 항목을 제거해야 했습니다 ./etc/resolv.conf

# Generated by NetworkManager
search internal.mycompany.com
nameserver 127.0.0.1
options edns0 trust-ad

네트워크 관리자가 dnsmarq를 사용한다고 말하기 위해 다음 줄도 추가했습니다 /etc/NetworkManager/conf.d/dns.conf.

[main]
dns=dnsmasq

NetworkManager의 첫 번째 문제를 해결하기 위해 기본 enp3s0 경로보다 우선순위가 높은 보다 구체적인 경로를 추가했습니다.

10.Y.X.Z    192.0.2.1       255.255.255.255 UGH   500    0        0 ppp0

그게 다야. 내부 리소스에 대한 모든 트래픽은 VPN을 통해 흐르고 나머지 트래픽은 이전과 같이 흐릅니다.

또한 /etc/resolve.conf 덮어쓰기를 거부했습니다.

chattr +i /etc/resolv.conf ((to protect the file from write))

chattr -i /etc/resolv.conf ((보호 해제, 기본 모드)) - 롤백

누군가에게 도움이 되기를 바랍니다.

관련 정보