두 개의 데비안 호스트 A와 B가 있습니다. A에서 IPsec VPN을 시작하면 VPN 클라이언트가 여기에 연결할 수 있습니다. 동시에 SSH를 통해 A와 B 사이에 PPP를 시작합니다. 따라서 호스트 A에서는 ppp0이 PPP 세션에 의해 생성된 새로운 Iface로 표시됩니다.
내 계획은 모든 VPN 클라이언트가 IPsec을 통해 호스트 A에 연결되도록 하는 것입니다. 그런 다음 VPN 클라이언트에서 인터넷으로의 모든 IP 트래픽은 ppp0을 통과해야 합니다. 즉, 호스트 B를 VPN 네트워크와 외부 세계 사이의 프록시로 사용하고 호스트 A를 VPN 게이트웨이로 사용하고 싶습니다. 그러나 ppp0을 기본 게이트웨이로 추가하면 모든 VPN 클라이언트 링크가 손실됩니다. A와 B 사이의 ssh는 여전히 작동합니다. 자세한 내용은 다음과 같습니다.
1단계. SSH를 통해 ppp를 시작합니다.
다음은 1단계 이후의 라우팅 테이블입니다.
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.23.191.253 0.0.0.0 UG 0 0 0 eth0
10.0.8.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
123.58.217.XX 172.23.191.253 255.255.255.255 UGH 0 0 0 eth0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.23.176.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
192.168.42.253 0.0.0.0 255.255.255.255 UH 0 0 0 ppp1
2단계. 기본 Iface로 ppp0 추가
그런 다음 호스트 B에서 호스트 A로 SSH를 통해 라우팅 테이블을 인쇄합니다. 다음과 같습니다.
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 0 0 0 ppp0
0.0.0.0 172.23.191.253 0.0.0.0 UG 0 0 0 eth0
10.0.8.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
123.58.217.XX 172.23.191.253 255.255.255.255 UGH 0 0 0 eth0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.23.176.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
이전에 연결했던 IPsec 클라이언트를 나타내는 ppp1이 제거된 것을 볼 수 있습니다. 호스트 A의 공용 IP는 8.129.XX이고 개인 IP는 172.23.191.254입니다. 뒤쪽에2 단계, 외부에서 8.129.XX에 ping을 보낼 수 없습니다. 그러나 동시에 호스트 A 내부에서는 어디에서나 핑을 보낼 수 있습니다. 나는 인터넷으로 가는 모든 IP 패킷이 ppp0으로 전송되어야 한다고 가정합니다. 호스트의 AI가 인터넷 사이트에 ping을 할 수 있기 때문에 이것이 작동하는 방식인 것 같습니다. 그러나 IPsec 연결이 끊어지고 인터넷에서 호스트 A를 ping할 수 없는 문제를 해결하는 방법은 무엇입니까?