OpenVPN의 server.conf를 사용하여 분할 터널을 설정하는 방법

OpenVPN의 server.conf를 사용하여 분할 터널을 설정하는 방법

OpenVPN 커뮤니티 에디션으로 분할 터널을 만들려고 합니다.

필요에 따라 경로를 쉽게 추가하고 제거할 수 있도록 클라이언트 대신 서버에서 이 작업을 수행하고 싶습니다. 이것은 우분투 20.04에 있습니다

내 현재(비분할 터널 구성)는 잘 작동합니다.

port 1194
proto udp
dev tun
user nobody
group nogroup
persist-key
persist-tun
keepalive 10 120
topology subnet
server 10.8.0.0 255.255.0.0
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
push "redirect-gateway def1 bypass-dhcp"
dh none
ecdh-curve prime256v1
tls-crypt tls-crypt.key
crl-verify crl.pem
ca ca.crt
cert server_sdafasdf.crt
key server_sdafasdf.key
auth SHA256
cipher AES-128-GCM
ncp-ciphers AES-128-GCM
tls-server
tls-version-min 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
client-config-dir /etc/openvpn/ccd
status /var/log/openvpn/status.log
log-append /var/log/openvpn/auth.log
plugin /usr/lib/openvpn/openvpn-auth-ldap.so /etc/openvpn/auth-ldap.conf
verify-client-cert optional
verb 3

작동하지 않는 분할 터널 구성은 다음과 같습니다. 편집: 8.8.8.8에 ping을 보낼 수 있지만 이 구성에서는 DNS가 작동하지 않는 것 같습니다.

port 1194
proto udp
dev tun
user nobody
group nogroup
persist-key
persist-tun
keepalive 10 120
topology subnet
server 10.8.0.0 255.255.0.0
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
#push "redirect-gateway def1 bypass-dhcp"
push "route XX.XX.XX.0 255.255.255.0" #anonymized
dh none
ecdh-curve prime256v1
tls-crypt tls-crypt.key
crl-verify crl.pem
ca ca.crt
cert server_sdafasdf.crt
key server_sdafasdf.key
auth SHA256
cipher AES-128-GCM
ncp-ciphers AES-128-GCM
tls-server
tls-version-min 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
client-config-dir /etc/openvpn/ccd
status /var/log/openvpn/status.log
log-append /var/log/openvpn/auth.log
plugin /usr/lib/openvpn/openvpn-auth-ldap.so /etc/openvpn/auth-ldap.conf
verify-client-cert optional
verb 3

클라이언트 구성:

client
proto udp
explicit-exit-notify
remote XX.XX.XX.XX 1194 #anonymized
dev tun
resolv-retry infinite
pull
nobind
persist-key
persist-tun
remote-cert-tls server
verify-x509-name server_sdafasdf name
auth SHA256
auth-nocache
cipher AES-128-GCM
tls-client
tls-version-min 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
ignore-unknown-option block-outside-dns
setenv opt block-outside-dns # Prevent Windows 10 DNS leak
verb 3
register-dns
auth-user-pass

답변1

나는 이것을 해결했다.

DNS 경로를 푸시해야 했습니다.

push "route 8.8.4.4 255.255.255.255"

이것은 때문이다

setenv opt block-outside-dns 

Windows에서는 block-outside-dns가 이를 수행합니다. 그래서 경로가 필요합니다.

답변2

귀하의 구성은 내 구성과 크게 다르지 않으며 내 구성의 공개 IP와 증명 IP 모두에서 과도한 "경로 푸시"를 사용하면 모든 것이 올바르게 작동합니다. 네트워크 토폴로지/구성(방화벽, 경로 등)의 다른 요소로 인해 지정한 경로에 액세스할 수 없습니까?

관련 정보