web-dev-qa-db-fra.com

VPN: ERREUR: échec de la commande d'ajout de route Linux

J'ai configuré un serveur VPN

local 192.168.0.250
dev tun
proto udp
port 1194
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server-vpn.crt
key /etc/openvpn/easy-rsa/keys/server-vpn.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig 10.8.0.1 10.8.0.2
Push "route 10.8.0.1 255.255.255.255"
Push "route 10.8.0.0 255.255.255.0"
Push "route 192.168.0.250 255.255.255.0"
Push "dhcp-option DNS 8.8.8.8"
Push "redirect-gateway def1"
client-to-client
duplicate-cn
keepalive 10 120
tls-auth /etc/openvpn/easy-rsa/keys/ta.key 0
cipher AES-128-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log 20
log /var/log/openvpn.log
verb 1

Lorsque vous vous connectez avec le client openvpn depuis un terminal Linux avec cette commande:

openvpn --config /home/user/myfile.ovpn

J'ai cette erreur:

OpenVPN 2.3.2 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [eurephia] [MH] [IPv6] built on Dec  1 2014
Control Channel Authentication: tls-auth using INLINE static key file
UDPv4 link local: [undef]
UDPv4 link remote: [AF_INET]xx.xx.xx.xx:1194
[server-vpn] Peer Connection Initiated with [AF_INET]xx.xx.xx.xx:1194
TUN/TAP device tun0 opened
do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
/sbin/ip link set dev tun0 up mtu 1500
/sbin/ip addr add dev tun0 local 10.8.0.14 peer 10.8.0.13
RTNETLINK answers: Invalid argument
ERROR: Linux route add command failed: external program exited with error status: 2
RTNETLINK answers: File exists
ERROR: Linux route add command failed: external program exited with error status: 2
Initialization Sequence Completed
12
hellb0y77

Les itinéraires suivants sont faux. Vous ne pouvez pas ajouter les deux premiers (et vous n'avez pas besoin d'ajouter manuellement) car ils sont la plage ip vpn pour le tunnel que vous avez configuré. (Les deux sont également redondants, car 10.8.0.1 fait partie du réseau 10.8.0.0.) Le troisième est votre réseau local et sera ajouté automatiquement. Alors, supprimez-les tous et voyez.

Push "route 10.8.0.1 255.255.255.255"
Push "route 10.8.0.0 255.255.255.0"
Push "route 192.168.0.250 255.255.255.0"

Voir: https://openvpn.net/index.php/open-source/documentation/howto.html

La route push est utilisée pour ajouter une route vers d'autres sous-réseaux privés .

# Push routes to the client to allow it
# to reach other private subnets behind
# the server.  Remember that these
# private subnets will also need
# to know to route the OpenVPN client
# address pool (10.8.0.0/255.255.255.0)
# back to the OpenVPN server.
;Push "route 192.168.10.0 255.255.255.0"
;Push "route 192.168.20.0 255.255.255.0"
4
Diamond