Como empurrar uma rota via tap0

1

Preciso enviar rotas extras para meus clientes OpenVPN. Eu tentei fazer isso na configuração do servidor via

push "route 10.10.10.0 255.255.255.0"

Esperando obter no cliente uma rota via tap0 . O que eu tenho é um erro durante a inicialização:

Fri Jul 15 10:58:24 2016 ERROR: Linux route add command failed: external program exited with error status: 2
Fri Jul 15 10:58:24 2016 /sbin/ip route add 10.10.10.0/24 via 10.20.1.0
RTNETLINK answers: Invalid argument

O endereço IP atribuído a tap0 é 10.01.10.1 , o gateway (do outro lado do túnel) é 10.10.10.254 . Este pedido de rota está errado, deveria ter sido

/sbin/ip route add 10.10.10.0/24 via tap0

ou

/sbin/ip route add 10.10.10.0/24 via 10.10.10.1

Pergunta 1: como 10.20.1.0 foi calculado? Posso influenciar este cálculo?

Eu poderia usar no arquivo de configuração

push "route 10.10.10.0 255.255.255.0 10.10.10.1"

(funciona) mas posso não saber que 10.10.10.1 é o IP correto. O que eu sei, no entanto, é que o dispositivo certo será tap0 .

Pergunta 2: existe uma maneira de influenciar o comando ip executado durante a inicialização do cliente e passar o dispositivo ( tap0 no meu caso) para o comando?

Por favor, note que as portas são diferentes no cliente e no servidor - isso é normal, elas são DNATed

Configuração do servidor

port 1194
proto udp
dev tap0
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key  # This file should be kept secret
dh /etc/openvpn/dh2048.pem
topology subnet
server-bridge 10.20.1.0 255.255.255.0 10.20.1.2 10.20.1.200
client-config-dir /etc/openvpn/static
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
duplicate-cn
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

configuração do cliente

client
dev tap
proto udp
remote myserver.example.com 1195
resolv-retry infinite
ping-restart 15
nobind
persist-key
persist-tun
remote-cert-tls server
comp-lzo
verb 3
<ca>
-----BEGIN CERTIFICATE-----
MIIEgDCCA2igAwIBAgIJAN68kwhTAMwRMA0GCSqGSIb3DQEBCwUAMIGGMQswCQYD
(...)
b4yiCAmaA8p5JRYqYBiT/fUNX6akBik2M8unm+okpdkfrP6gtzGNqv9S8cwEv0b8
p20oZw==
-----END CERTIFICATE-----
</ca>
<cert>
Certificate:
    Data:
(...)
tQTcGs5BiRmx9FcRcD7MIVO9bq1rso8T7UO5rTUilBkdo9r+QVuzwFFOSMuwrUBX
l8RQ8Q==
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCYerZMSOsMjMVV
(...)
T76lH6/nsJMaRzYUBmEZU8g=
-----END PRIVATE KEY-----
</key>
    
por WoJ 15.07.2016 / 13:08

0 respostas

Tags