Estou executando um servidor OpenVPN e desejo atribuir a um cliente específico um IP estático.
Este é o meu server.conf. Eu acho que isso configura o pool de IPs virtuais para abranger 10.5.24.209 a 10.5.24.223.
port 443
proto tcp
dev tun
sndbuf 0
rcvbuf 0
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-auth ta.key 0
topology subnet
server 10.5.24.208 255.255.255.240
#This netmask should span IPs .208-.223.
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 168.xx.xx.xx"
keepalive 10 120
cipher AES-256-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem
client-to-client
client-config-dir ccd
Este é o conteúdo de /etc/openvpn/ccd/W7LocalVM
, onde W7LocalVM é o Nome Comum do meu cliente. Não entendo direito o que essa diretiva faz, mas acho que o primeiro IP deve ser o IP estático desejado do meu cliente e o segundo IP deve ser o IP do meu servidor.
ifconfig-push 10.5.24.210 10.5.24.209
No entanto, quando tento conectar meu cliente a esta configuração do servidor, recebo o seguinte erro:
Mon Aug 07 14:07:34 2017 Set TAP-Windows TUN subnet mode network/local/netmask = 10.5.24.208/10.5.24.210/10.5.24.209 [SUCCEEDED]
Mon Aug 07 14:07:34 2017 MANAGEMENT: Client disconnected
Mon Aug 07 14:07:34 2017 ERROR: --ip-win32 dynamic [offset] : offset is outside of --ifconfig subnet
Mon Aug 07 14:07:34 2017 Exiting due to fatal error
Eu pensei que o IP 10.5.24.210 estaria dentro da sub-rede definida no lado do servidor e não entendo por que estou recebendo esse erro. Alguém poderia me ajudar nisso?
Respostas:
Esse problema foi criado porque o openvpn está tentando analisar suas opções ifconfig como um ip seguido por uma máscara de sub-rede.
De acordo com a página do manual:
Dentro do código do servidor, você define sua topologia para
subnet
e envia-a ao cliente usando aserver
instruçãoDe acordo com a documentação acima, em vez de enviar seu ifconfig usando o endereço "local", "remote", é necessário adicionar o seguinte a "/ etc / openvpn / ccd / W7LocalVM":
A última linha provavelmente não é necessária, mas é deixada como exemplo o que o ifconfig-push "deve" fazer no lado do servidor para fazer a conexão funcionar.
fonte