답변1
서버를 변경할 수 없다고 명시했으므로 NAT를 사용해야 합니다. 그 이유는 서버가 응답을 보낼 위치를 알아야 하며 VPN 클라이언트 자체, 즉 로컬 서버에 대해서만 알고 있기 때문입니다. VPN 클라이언트를 통해 연결할 수 있는 PC에 대해서는 알지 못합니다.
로컬 서버의 OpenVPN 인터페이스에서 NAT를 활성화해야 합니다. 이는 스크립트를 사용하여 수행할 수 있습니다. 가능한 후크 중 하나는 입니다 --route-up
. 적절하게 변경하는 것을 잊지 마세요 --script-security
. 실행해야 할 명령은 입니다 iptables -t nat -A POSTROUTING -o $THE_OPENVPN_INTERFACE -j MASQUERADE
. IPTables는 모든 것을 기본값으로 허용하므로 추가 구성은 선택 사항입니다. --route-pre-down
IPTables 규칙을 다시 제거하려면 (또는 유사한) 스크립트를 추가해야 할 수도 있습니다 .
라우팅은 을 편집하여 활성화할 수 있으며 /etc/sysctl.conf
이어야 net.ipv4.ip_forward
합니다 1
. echo 1 > /proc/sys/net/ipv4/ip_forward
변경 사항이 즉시 적용됩니다. sysctl.conf
재부팅 후에도 지속성을 유지하기 위한 것입니다.
라우터에서 게이트웨이가 로컬 서버(VPN 클라이언트)인 대상(VPN을 통해 액세스할 수 있는 네트워크)에 대한 고정 경로를 설정해야 합니다. 주의 사항: 게이트웨이와 동일한 네트워크에 있기 때문에 라우터가 리디렉션을 보낼 수 있습니다. 이 동작을 변경하지 못할 수도 있습니다. OS가 리디렉션을 허용해야 합니다. 하지만 먼저 추가 설정 없이 시도해 보세요.
VPN 서버에 액세스할 수 있는 악의적인 행위자가 그렇지 않으면 로컬 네트워크에 액세스할 수 있으므로 로컬 서버에 적절한 방화벽을 설치하는 것이 좋습니다.