web-dev-qa-db-ja.com

VPN:エラー:Linux route addコマンドが失敗しました

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

このコマンドを使用してLinuxターミナルからopenvpnクライアントに接続する場合:

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

私はこのエラーがあります:

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

次のルートは間違っています。最初の2つを追加することはできません(手動で追加する必要はありません)。これらは、構成したトンネルのVPN IP範囲であるためです。 (10.8.0.1は10.8.0.0ネットワークの一部であるため、2つも冗長です。)3番目はローカルネットであり、自動的に追加されます。だから、それらをすべて削除して見てください。

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"

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

プッシュルートは、他のプライベートサブネットにルートを追加するために使用されます。

# 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