Я использую Ubuntu 14.04 на Amazon EC2. Я пытаюсь подключить экземпляр EC2 к OpenVPN, чтобы трафик проходил через VPN.
Когда я запускаю следующее: sudo openvpn --config <config>.ovpn,
соединение SSH прерывается, и я больше не могу к нему подключиться.
Ниже представлен файл конфигурации OpenVPN:
setenv FORWARD_COMPATIBLE 1
setenv UV_SERVERID 581
client
dev tun
proto udp
remote 45.64.105.207 8292
nobind
persist-key
persist-tun
ns-cert-type server
key-direction 1
push-peer-info
comp-lzo
explicit-exit-notify
verb 3
mute 20
reneg-sec 86400
mute-replay-warnings
max-routes 1000
Ниже приведены результаты подключения OpenVPN или то, что я видел в последний раз.
Wed Jul 15 10:23:05 2015 OpenVPN 2.3.2 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [eurephia] [MH] [IPv6] built on Dec 1 2014
Wed Jul 15 10:23:05 2015 Control Channel Authentication: tls-auth using INLINE static key file
Wed Jul 15 10:23:05 2015 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Jul 15 10:23:05 2015 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Jul 15 10:23:05 2015 Socket Buffers: R=[212992->131072] S=[212992->131072]
Wed Jul 15 10:23:05 2015 UDPv4 link local: [undef]
Wed Jul 15 10:23:05 2015 UDPv4 link remote: [AF_INET]182.18.155.184:8292
Wed Jul 15 10:23:05 2015 TLS: Initial packet from [AF_INET]182.18.155.184:8292, sid=c67100ed 4ce7c879
Wed Jul 15 10:23:07 2015 VERIFY OK: depth=1, C=.., ST=.., L=.., O=.., OU=.., CN=ASCA, emailAddress=..
Wed Jul 15 10:23:07 2015 VERIFY OK: nsCertType=SERVER
Wed Jul 15 10:23:07 2015 VERIFY OK: depth=0, C=.., ST=.., L=.., O=.., OU=.., CN=SERVER195, emailAddress=..
Wed Jul 15 10:23:12 2015 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed Jul 15 10:23:12 2015 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Jul 15 10:23:12 2015 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed Jul 15 10:23:12 2015 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Jul 15 10:23:12 2015 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Wed Jul 15 10:23:12 2015 [SERVER195] Peer Connection Initiated with [AF_INET]182.18.155.184:8292
Wed Jul 15 10:23:14 2015 SENT CONTROL [SERVER195]: 'PUSH_REQUEST' (status=1)
Wed Jul 15 10:23:15 2015 PUSH: Received control message: 'PUSH_REPLY,sndbuf 262144,rcvbuf 262144,redirect-gateway def1 bypass-dhcp,dhcp-option DNS 198.18.0.1,ping 10,ping-restart 90,comp-lzo no,route-gateway 198.18.0.1,topology subnet,ifconfig 198.18.1.134 255.255.240.0'
Wed Jul 15 10:23:15 2015 OPTIONS IMPORT: timers and/or timeouts modified
Wed Jul 15 10:23:15 2015 OPTIONS IMPORT: LZO parms modified
Wed Jul 15 10:23:15 2015 OPTIONS IMPORT: --sndbuf/--rcvbuf options modified
Wed Jul 15 10:23:15 2015 Socket Buffers: R=[131072->425984] S=[131072->425984]
15 июля, среда, 10:23:15 2015 PUSH: получено управляющее сообщение: 'PUSH_REPLY, sndbuf 262144, rcvbuf 262144, redirect-gateway def1
перенаправить шлюз def1 означает, что tun dev, который создает openvpn, установлен в качестве шлюза по умолчанию для вашей основной таблицы маршрутизации. Поэтому, если 45.64.105.207 не является адресом хоста, с которого исходит ваше ssh-соединение, вы, вероятно, теряете свое ssh-соединение, потому что обратный ssh-трафик от экземпляра ec2 проходит через 45.64.105.207, а ваш ssh-клиент / маршрутизатор отключается. трафик.
В этом случае вы можете сделать исключение для трафика ssh, возвращаемого на ваш хост, до запуска openvpn на экземпляре ec2:
username@ec2-host:~$sudo ip route add x.x.x.x/32 via y.y.y.y dev eth0
где x.x.x.x - это адрес, с которого вы пытаетесь подключиться по ssh к экземпляру ec2, а y.y.y.y - это шлюз по умолчанию до запуска openvpn.
username@ec2-host:~$ip route show | grep default
покажет вам, какой шлюз используется по умолчанию.