Existe um servidor OpenVPN em execução no Debian e empurra um DNS no arquivo de configuração do servidor:
pressione "dhcp-option DNS 8.8.8.8"
Existe uma opção para permitir que os usuários alterem esses servidores DNS no lado do cliente?
Aqui está o problema: o servidor openvpn deve enviar um DNS porque, caso contrário, muitos clientes OpenVPN não poderão abrir páginas da Web até que os servidores DNS manualmente sejam definidos nas configurações de rede do sistema.
Meu objetivo é aplicar automaticamente um servidor DNS padrão a usuários não qualificados tecnicamente, além de permitir que usuários de computadores qualificados definam seus próprios servidores DNS.
Observe que simplesmente alterar as configurações de DNS no PC enquanto a opção 'push "dhcp-option DNS 8.8.8.8"' está ativa no servidor openvpn, não faz nada. O DNS enviado pelo servidor permanece independentemente das configurações de DNS local.
Alguma ideia?
Configuração do servidor OpenVPN:
# cat /etc/openvpn/openvpn.conf
server 10.186.35.0 255.255.255.0
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
ifconfig-pool-persist ipp.txt
#push "route 0.0.0.0 0.0.0.0"
#push "redirect-gateway"
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
user nobody
group users
persist-key
persist-tun
status openvpn-status.log
verb 3
script-security 3
auth-user-pass-verify /etc/openvpn/auth-chap via-env
client-cert-not-required
duplicate-cn
management 127.0.0.1 5119
script-security 3 system
username-as-common-name
client-connect /etc/openvpn/scripts/clientconnect.sh
client-disconnect /etc/openvpn/scripts/clientdisconnect.sh
log-append /var/log/openvpn.log
log /var/log/openvpn.log
ATUALIZAÇÃO: Os sistemas operacionais dos clientes são Windows e Mac
Respostas:
A partir de 2017 (OpenVPN 2.4) isso agora é possível. Adicione esta linha ao seu arquivo de configuração do cliente:
e ignorará todas as linhas de configuração enviadas que começam com o texto citado.
As opções são correspondidas de cima para baixo, portanto a primeira correspondência é usada. Você pode usar isso para permitir algumas rotas e rejeitar outras, se for adequado às suas necessidades.
As três palavras-chave de ação são
accept
,ignore
ereject
. Eu não descobri um caso de uso parareject
.fonte
Na documentação oficial do OpenVPN, você pode encontrar:
Infelizmente, além do que você está perguntando, isso tem o efeito colateral de desativar também o gateway de redirecionamento fornecido pela sua configuração e isso pode representar um problema para o seu caso.
O que eu sugiro é uma abordagem completamente diferente.
Como você mencionou explicitamente: " Meu objetivo é aplicar automaticamente um servidor DNS padrão a usuários não qualificados tecnicamente, além de permitir que usuários de computadores qualificados definam seus próprios servidores DNS " . Parece que você sabe exatamente quais usuários deseja fornecer uma configuração de DNS e quais usuários você não deseja fornecer.
Portanto, em vez de enviar sua configuração diretamente no arquivo de configuração principal do OpenVpn (... e, como tal, fornecer essa configuração para TODOS os seus usuários), você pode implementar uma configuração por usuário . Você pode fazer isso com:
Portanto, quanto à configuração principal, você deve remover :
e adicione referência ao diretório / etc / openvpn / userconf (como exemplo. Sinta-se livre para escolher o que quiser):
Em seguida, nesse diretório userconf, crie um arquivo para cada usuário que você deseja fornecer ao DNS, incluindo nesse arquivo as duas linhas excluídas acima.
Obviamente, você pode ajustar a configuração do openvpn para todos os usuários, sem limitar a personalização às duas linhas acima.
Como nota final, você também pode estar interessado no parâmetro exclusivo do ccd .
fonte
Meu problema não era exatamente o mesmo, mas os sintomas eram semelhantes o suficiente para que essa pergunta aparecesse nos resultados da pesquisa; portanto, caso alguém aconteça aqui pelo mesmo motivo:
Estou usando o Tunnelblick , uma GUI do OpenVPN para Mac OS. Meu servidor OpenVPN não estava definido para enviar nenhuma opção DHCP ou DNS, mas o cliente ainda estava usando o servidor DNS pela VPN, em vez do servidor DNS local não VPN que eu queria que ele usasse.
A solução foi acessar a guia Configurações → Configurações do Tunnelblick e alterar Definir DNS / WINS para Não definir servidor de nomes .
fonte
Obrigado por @aldaviva, ele está funcionando no meu macOS 10.11.
Anexe minha captura de tela.
fonte