Você pode enviar diretivas openvpn individuais para seus clientes usando arquivos de configuração específicos do cliente no diretório client-config.
No arquivo de configuração do servidor, inclua a diretiva:
client-config-dir ccd
e crie este diretório caso ainda não exista em seu caminho openvpn, por exemplo:
/etc/openvpn/ccd
Agora crie um arquivo de configuração por cliente no diretório ccd
com o mesmo nome do nome comum X509 do cliente. As opções a seguir são legais em um contexto específico do cliente: push
, push-reset
, iroute
, ifconfig-push
e config
.
Por exemplo, para enviar rotas para um cliente com CN user1
em seu certificado:
echo 'push "route 10.0.0.2 255.255.255.255 10.8.0.1"' >> /etc/openvpn/ccd/user1
echo 'push "route 10.0.2.10 255.255.255.255 10.8.0.1"' >> /etc/openvpn/ccd/user1
Para que isso funcione, você precisa extrair diretivas de configuração em seus clientes do servidor usando a diretiva pull
.
Você pode ter a diretiva client
em seu client-config, que é uma diretiva auxiliar e se expande da seguinte forma:
pull
tls-client
Não use route-nopull
em combinação, pois isso interromperia as rotas de acesso do cliente. Se você precisar de redirect-gateway
em determinados clientes para rotear todo o tráfego pela sub-rede da VPN, poderá colocar essa diretiva apenas nesses arquivos de configuração do cliente e não no arquivo de configuração do servidor para todos os clientes. A diretiva redirect-gateway
executa automaticamente os comandos de roteamento para fazer com que todo o tráfego IP de saída seja redirecionado pela VPN. Veja a página man .