따라서 제가 이해한 바로는 DNSmasq와 OpenVPN 등 모든 부분이 독립적이기는 하지만 잘 작동하고 있습니다. 내가 한 것?
- 다음을 사용하여 OpenVPN을 설치했습니다.https://github.com/Nyr/openvpn-install
- 설치 후 클라이언트(PC, 전화)에 연결할 수 있고 작동합니다. 문제 없습니다.
- DNSmasq를 설치했는데 예상대로 실행되고 작동하는 것 같습니다.
- 하나 또는 두 개의 사이트를 차단했습니다. 즉 , 파일
0.0.0.0
에서 해당 사이트를 가리켰고/etc/hosts
, 그렇게 하면 응답을nslookup thatdomain.com
받습니다.0.0.0.0
- 하나 또는 두 개의 사이트를 차단했습니다. 즉 , 파일
이것은 현재 내/etc/openvpn/server/server.conf
local 134.122.60.252
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-crypt tc.key
topology subnet
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 10.8.0.1"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
verb 3
crl-verify crl.pem
explicit-exit-notify
duplicate-cn
그리고 기본 파일에 대한 유일한 변경 사항은 /etc/dnsmasq.conf
주석 처리를 제거하고 인터페이스에 다음 줄을 표시하는 것입니다.
interface=tun0
어디에 도움이 필요합니까?
OpenVPN이 DNSmasq를 사용하도록 만드는 방법모두DNS 요청. 이를 달성하는 방법, 변경할 파일, 추가할 항목에 대한 명확한 답을 찾을 수 없는 것 같습니다.
누락된 단계가 있나요?
편집: 위의 conf를 사용하여 openvpn 서버에 ssh를 연결하면(dnsmasq는 동일한 서버에서도 실행됩니다)
nslookup google.com 10.8.0.1
, 올바르게 해결되었습니다
그렇게 하면 파일 에 설명된 대로 예상대로 nslookup blockthis.com 10.8.0.1
올바른 것으로 해결됩니다 .0.0.0.0
/etc/hosts
문제는 클라이언트에서 openvpn에 연결할 때 어떻게 든 openvpn이 dns 확인을 dnsmasq에 넘겨주지 않지만 interface=tun0
dnsmasq에서 회선이 활성화되어 있고 a는 netstat -plunt
포트 53이 작동 중이고 dnsmasq가 수신하고 있음을 나타냅니다.
답변1
알겠습니다. 해결되었습니다. 방화벽을 여는 데 필요합니다.
ufw allow out on tun0
ufw allow in on tun0