Uma maneira de fazer isso é atribuir um endereço IP ao servidor a partir da sub-rede que você usa para os IPs virtuais de seus clientes. Em seguida, você atribui esse endereço IP como servidor DNS aos seus clientes e exclui o IP do pool de endereços IP. Opcionalmente, filtrar o acesso a esse endereço IP através do módulo de correspondência de política do Netfilter (consulte a página man iptables-extensions ) que só é acessível via VPN.
Por exemplo, se o pool de endereços IP for 192.168.8.0/24
(por exemplo, configurado em rightsourceip
em ipsec.conf ou uma seção "pool" em swanctl.conf), atribua 192.168.8.1
ao seu servidor (em qualquer interface , por exemplo, lo
) e, em seguida, altere o conjunto para 192.168.8.2/24
(para que o primeiro endereço atribuído a um cliente seja 192.168.8.2
). Para atribuir 192.168.8.1
como servidor DNS, configure-o em rightdns
no ipsec.conf ou na seção do pool em swanctl.conf.
Embora você também possa usar o endereço IP público do servidor e permitir acesso somente à porta UDP 53 via VPN usando a correspondência de política mencionada, isso não funcionará com os clientes Apple, pois eles não enviam pacotes para o IP público do servidor. via VPN (então você teria que disponibilizar publicamente o servidor DNS ou adicionar dinamicamente regras de firewall que permitam acesso a ele a partir do endereço IP público / natted do cliente).