
모든 클라이언트 트래픽이 서버를 통해 라우팅되는 openvpn 서버 및 클라이언트를 설정하려고 합니다. 현재 클라이언트를 통해 서버에 액세스할 수 있지만 서버에서 'push "redirect-gateway def1"'을 활성화하면 클라이언트가 인터넷, VPN 또는 기타 연결 기능을 모두 잃게 됩니다. 또한 LAN 연결은 여전히 양호하지만 더 이상 서버에 연결할 수 없습니다. 내 서버 구성 파일은 다음과 같습니다
local ***.***
port 1194
proto tcp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway local def1"
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
클라이언트는 다음과 같습니다.
client
dev tun
proto tcp
remote ***.*** 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert laptop.crt
key laptop.key
ns-cert-type server
comp-lzo
verb 3
서버에서 IP 전달을 활성화하고 iptables를 통한 라우팅을 활성화했습니다.
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
하지만 클라이언트는 여전히 VPN이나 인터넷의 어떤 것에도 연결할 수 없습니다.
답변1
참고로 HOWTO의 관련 섹션은 다음과 같습니다.여기, 하지만 나는 당신이 그것을 따랐다고 생각합니다.
내가 시도할 첫 번째 일은 '로컬'을 제거하는 것입니다. 즉, 명령은 다음과 같아야 합니다.
push "redirect-gateway def1"
그리고는 아니다
push "redirect-gateway local def1"
로컬 플래그는 모든 클라이언트가 동일한 서브넷에 있는 경우에만 작동합니다.
알아야 할 몇 가지 다른 사항은 DNS 트래픽이 VPN을 통해 라우팅되므로 이를 처리하지 않으면 주소를 확인할 수 없다는 것입니다. 브리지된 VPN이 아닌 라우팅된 VPN을 사용하고 있으므로 귀하의 경우에는 그런 일이 발생하지 않는 것처럼 보이지만 DHCP가 전달될 수도 있지만 어쨌든 확인해 볼 가치가 있습니다.
답변2
새 게이트웨이를 클라이언트에 "푸시"하는 경우 일부 경로, 특히 해당 게이트웨이가 있는 서브넷에 대한 경로도 푸시해야 합니다. 그러면 VPN을 통해 인터넷에 액세스할 수 있습니다. 게이트웨이가 있는 네트워크가 VPN 서버가 있는 네트워크와 다른 경우 클라이언트가 이러한 다른 네트워크에 액세스할 수 있도록 추가 경로도 필요합니다. 또한 DNS 서버를 클라이언트에 푸시할 수도 있습니다. 그렇지 않으면 클라이언트가 현재 연결된 네트워크의 대상 이름을 확인할 수 없기 때문입니다.
다음은 OpenVPN 서버 구성 파일에서 발췌한 내용입니다.
# 클라이언트에 경로를 푸시하여 로컬에 바인딩합니다. # 가상 끝점. # "경로 10.180.0.1 255.255.255.255"를 누르세요. # 클라이언트가 들어가야 하는 모든 경로를 푸시합니다. # 로컬 네트워크에. # "경로 10.171.0.0 255.255.0.0"을 누르세요. "경로 10.172.0.0 255.255.0.0"을 누르세요. "경로 10.173.0.0 255.255.0.0"을 누르세요. "경로 10.174.0.0 255.255.0.0"을 누르세요. "경로 10.175.0.0 255.255.0.0"을 누르세요. "경로 10.176.0.0 255.255.0.0"을 누르세요. "경로 10.177.0.0 255.255.0.0"을 누르세요. "경로 10.181.0.0 255.255.0.0"을 누르세요. "경로 10.182.0.0 255.255.0.0"을 누르세요. "경로 192.168.61.0 255.255.255.0"을 누르세요. # Windows 클라이언트에 DHCP 옵션을 푸시합니다. # "dhcp-option DOMAIN our-internal-domain.com"을 푸시하세요. "dhcp-옵션 DNS 10.abc"를 푸시하세요. "dhcp-option WINS 10.bcd" 푸시
이것들은 모두 내부 네트워크이며 우리는 새로운 게이트웨이를 푸시하지도 않습니다(대부분의 사용자가 멀리서 연결하기 때문에 기본 게이트웨이를 통해 인터넷에 액세스하는 것이 더 낫고 우리는 제어 괴물이 아닙니다).
답변3
사실 문제는 NAT가 제대로 설정되지 않았다는 점이었습니다. 수정되었으며 현재 VPN이 작동 중입니다.