LINUX.ORG.RU
ФорумAdmin

Double VPN.

 


0

2

Здравствуйте! Имею 2 поднятых OpenVPN сервера на VPS, к обоим подключаюсь, во вне выхожу, хочу соединить их последовательно Я->VPN_1->VPN_2->интернет. Ни как не могу понять как это сделать, есть пару статей на эту тему(http://10serv.com/nastroyka-dvoynogo-double-openvpn/ ;https://habrahabr.ru/sandbox/78897/), все настроил как на хабре, дошел до настройки клиента и не пойму что писать. Там написано Редактируем конфиг клиента: port 443 proto tcp dev tun tls-server server 192.168.101.0 255.255.255.0 keepalive 10 120 persist-key persist-tun status openvpn-status.log push route 192.168.101.0 255.255.155.0 duplicate-cn ca /etc/openvpn/ca.crt cert /etc/openvpn/client01.crt key /etc/openvpn/client01.key

Ключи от VPN_1, как я понял, а remote получается прописывать Внешний IP VPN_1 или VPN_2? На VPN_1 создали папку с ключами от VPN_2, но ни какие взаимодействия я там не увидел с этими ключами..Вообщем может кто подскажет на эту тему или более толковую статью, или тут может что..

клиентские ключи от впн2 копируешь на впн1 и подключаешься к впн2 с впн1, со своего компа подключаешься к впн1 и маршрутизация должна быть настроена на проброс в впн2 на впн1.

Deleted
()
Ответ на: комментарий от Deleted

Вроде понятно, ладно, сейчас попробую маршрутизацию настроить..

AnonimS
() автор топика

Ссылки не читал, но общая схема проста, Пример:
1. VPN_1
- на нем сервер openvpn (который у вас уже есть) и клиент для VPN_2
2. VPN_2
- сервер на котором настроен доступ клиента с VPN_1
или
1. VPN_1
- на нем сервер openvpn (который у вас уже есть) и в него же прописываем клиента VPN_2
2. VPN_2
- клиент для VPN_1

И в зависимости от схемы прописываем роутинг/nat
....
профит

anc ★★★★★
()
Ответ на: комментарий от anc

Сделал по первой схеме, но запускаю клиент на VPN_1, в логах VPN_2 видно, что проходит соединение до момента «Tue May 31 20:25:03 2016 user/IP_VPN_1:54404 SIGUSR1[soft,ping-restart] received, client-instance restarting» и пропадает связь с VPN_1, через PuTTy не могу соединиться, перезагружаю через хостинг панель, по 22 порту захожу в консоль. Получается VPN_1 работает как сервер и клиент одновременно, соответственно нужно 2 девайса tun, хотя могу ошибаться. Конфиг VPN_1_client: client dev tun0 #dev-node OpenVPN proto tcp remote IP_VPN_2 17995 resolv-retry infinite nobind persist-key persist-tun tls-client tls-auth /etc/openvpn/clien/ta.key 1 ca /etc/openvpn/clien/ca.crt cert /etc/openvpn/clien/user.crt key /etc/openvpn/clien/user.key auth SHA1 cipher DES-EDE3-CBC comp-lzo adaptive status /var/log/openvpn-status-1.log log /var/log/openvpn-1.log verb 3

Конфиг VPN_1_SERV:

port 443 #local IP_VPN_2 proto tcp dev tun1 tls-server tls-auth /etc/openvpn/ta.key 0 ca /etc/openvpn/ca.crt cert /etc/openvpn/server.crt key /etc/openvpn/server.key dh /etc/openvpn/dh2048.pem server 192.168.100.0 255.255.255.0 ifconfig-pool-persist ipp.txt keepalive 10 120 comp-lzo persist-key persist-tun status /var/log/openvpn-status.log log /var/log/openvpn.log verb 3 cipher DES-EDE3-CBC push «redirect-gateway» push «dhcp-option DNS 8.8.8.8»

Конфиг VPN_2_SERV: port 17995 proto tcp dev tun tls-server tls-auth /etc/openvpn/ta.key 0 ca /etc/openvpn/ca.crt cert /etc/openvpn/server.crt key /etc/openvpn/server.key dh /etc/openvpn/dh2048.pem server 192.168.101.0 255.255.255.0 ifconfig-pool-persist ipp.txt keepalive 10 120 comp-lzo persist-key persist-tun status /var/log/openvpn-status.log log /var/log/openvpn.log verb 3 cipher DES-EDE3-CBC push «redirect-gateway» push «dhcp-option DNS 8.8.8.8» client-to-client

Конфиг клиента: client dev tun0 #dev-node OpenVPN proto tcp remote IP_VPN_1 443 resolv-retry infinite nobind persist-key persist-tun tls-client ca «C:\\Program Files\\OpenVPN\\config\\ca.crt» cert «C:\\Program Files\\OpenVPN\\config\\user.crt» key «C:\\Program Files\\OpenVPN\\config\\user.key» tls-auth «C:\\Program Files\\OpenVPN\\config\\ta.key» 1 auth SHA1 cipher DES-EDE3-CBC comp-lzo adaptive status «C:\\Program Files\\OpenVPN\\log\\openvpn-status.log» log «C:\\Program Files\\OpenVPN\\log\\openvpn.log» verb 3 #auth-user-pass

AnonimS
() автор топика
Ответ на: комментарий от AnonimS

лог VPN_2:

root@userhost:~# tail -f /var/log/openvpn.log
Tue May 31 20:21:01 2016 IP_VPN_1:54404 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Tue May 31 20:21:01 2016 IP_VPN_1:54404 [user] Peer Connection Initiated with [AF_INET]IP_VPN_1:54404
Tue May 31 20:21:01 2016 user/IP_VPN_1:54404 MULTI_sva: pool returned IPv4=192.168.101.6, IPv6=(Not enabled)
Tue May 31 20:21:01 2016 user/IP_VPN_1:54404 MULTI: Learn: 192.168.101.6 -> user/IP_VPN_1:54404
Tue May 31 20:21:01 2016 user/IP_VPN_1:54404 MULTI: primary virtual IP for user/IP_VPN_1:54404: 192.168.101.6
Tue May 31 20:21:03 2016 user/IP_VPN_1:54404 PUSH: Received control message: 'PUSH_REQUEST'
Tue May 31 20:21:03 2016 user/IP_VPN_1:54404 send_push_reply(): safe_cap=940
Tue May 31 20:21:03 2016 user/IP_VPN_1:54404 SENT CONTROL [user]: 'PUSH_REPLY,redirect-gateway,dhcp-option DNS 8.8.8.8,route 192.168.101.1,topology net30,ping 10,ping-restart 120,ifconfig 192.168.101.6 192.168.101.5' (status=1)
Tue May 31 20:25:03 2016 user/IP_VPN_1:54404 [user] Inactivity timeout (--ping-restart), restarting
Tue May 31 20:25:03 2016 user/IP_VPN_1:54404 SIGUSR1[soft,ping-restart] received, client-instance restarting

Конфиг VPN_1_client:

dev tun0
#dev-node OpenVPN
proto tcp
remote IP_VPN_2  17995
resolv-retry infinite
nobind
persist-key
persist-tun
tls-client
tls-auth /etc/openvpn/clien/ta.key 1
ca /etc/openvpn/clien/ca.crt
cert /etc/openvpn/clien/user.crt
key /etc/openvpn/clien/user.key
auth SHA1
cipher DES-EDE3-CBC
comp-lzo adaptive
status /var/log/openvpn-status-1.log
log /var/log/openvpn-1.log
verb 3
Конфиг VPN_1_SERV:
port 443
#local IP_VPN_2
proto tcp
dev tun1
tls-server
tls-auth /etc/openvpn/ta.key 0
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh2048.pem
server 192.168.100.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status /var/log/openvpn-status.log
log /var/log/openvpn.log
verb 3
cipher DES-EDE3-CBC
push "redirect-gateway"
push "dhcp-option DNS 8.8.8.8"
Конфиг VPN_2_SERV:
port 17995
proto tcp
dev tun
tls-server
tls-auth /etc/openvpn/ta.key 0
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh2048.pem
server 192.168.101.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status /var/log/openvpn-status.log
log /var/log/openvpn.log
verb 3
cipher DES-EDE3-CBC
push "redirect-gateway"
push "dhcp-option DNS 8.8.8.8"
client-to-client


Конфиг клиента:
client 
dev tun0
#dev-node OpenVPN
proto tcp 
remote 194.58.107.187 443 
resolv-retry infinite 
nobind 
persist-key 
persist-tun 
tls-client
ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\user.crt" 
key "C:\\Program Files\\OpenVPN\\config\\user.key" 
tls-auth "C:\\Program Files\\OpenVPN\\config\\ta.key" 1
auth SHA1
cipher DES-EDE3-CBC
comp-lzo adaptive
status "C:\\Program Files\\OpenVPN\\log\\openvpn-status.log"
log "C:\\Program Files\\OpenVPN\\log\\openvpn.log"
verb 3
#auth-user-pass

AnonimS
() автор топика
Ответ на: комментарий от AnonimS

cipher DES-EDE3-CBC

С таким шифрованием ты никакой анонимности не добьешься.
Лучше использовать udp вместо tcp.
Укажи в конфиге клиента vpn1, что он клиент.
С портами у тебя что-то странное.
И покажи лог подключения к vpn2 на vpn1.

Deleted
()
Ответ на: комментарий от Deleted

Спасибо. Вроде разобрался, правило забыл одно добавить. По сути так можно хоть 5 VPN построить..Поставил udp, как посоветовали, добавил tls, может еще добавлю логин-пароль. Теперь другая проблема появилась. Все работает до перезагрузки, как перезагружаю VPN_1 все слетает. Надо чтобы вот это запускалось каждый раз при загрузке

openvpn --config client.conf
Потом прописывались правила, одно из которых как забыл:
echo '150 vpn.out' >> /etc/iproute2/rt_tables
ip rule add from 192.168.100.0/24 table vpn.out
ip route add default dev tun1 table vpn.out
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o tun1 -j MASQUERADE 

С загрузкой клиента в фоне нашел способ через nohup. Пишу

nohup openvpn --config client.conf &
. Выдает ошибку:
nohup: ignoring input and appending output to 'nohup.out'
Не хватает выходного файла, прописывает его, выдает что-то типа [571] или другие цифры. Может другой способ знаете как его запускать при старте в фоне?

Правила:

ip rule add from 192.168.100.0/24 table vpn.out
ip route add default dev tun1 table vpn.out
Не знаю как, с iptables нашел способ:
Вот решение, работающее на данный момент для Debian 6.0 и Debian 7.0, должно работать и в Ubuntu.
Под суперпользователем:
Делаем скрипт, выполняемый при поднятии интерфейса
nano -w /etc/network/if-up.d/00-iptables
#!/bin/sh
iptables-restore < /etc/firewall.conf
ip6tables-restore < /etc/firewall6.conf
Даём право запуска этого скрипта
chmod +x nano -w /etc/network/if-up.d/00-iptables
Сохраняем в конфиг правила для IPv4
iptables-save >/etc/firewall.conf
Сохраняем в конфиг правила для IPv6
ip6tables-save >/etc/firewall6.conf
Все подгружается. Решил добавить туда же эти правила, перезагрузился и не смог подключиться к серверу, пришлось переустанавливать, как раз тогда и нашел ошибку, сейчас все вернул, как было. Может их в rc.local запихнуть?

AnonimS
() автор топика
Ответ на: комментарий от AnonimS

Я так понимаю все почти норм
1.

echo '150 vpn.out' >> /etc/iproute2/rt_tables

Это надо сделать один раз и забыть, а то в /etc/iproute2/rt_tables таких мноооого будет :)

2. Если считаем что тунели будут работать постоянно то правила iptabes можно прописать один раз при старте системы.
Если нужно их менять в зависимости от наличия поднятого тунеля, то можно прописать в конфиг openvpn
up path-to-script
down path-to-script
а в скрипты прописать добавление/удаление правил

3.

Не знаю как, с iptables нашел способ:
Решил добавить туда же эти правила,

Правил не видим, так что не можем прокоментировать. Покажите, разберем в чем ошибка.

anc ★★★★★
()
Ответ на: комментарий от anc

Ситуация следующая, за сутки работы данной схемы (я->vpn_1->vpn_2->вне) был сбой 2 раза. Изучил ситуацию и понял, что клиент на vpn_1 падает, получается пропадает соединение и все, решаю пока в ручную:

1.Перезагружаю клиента на vpn_1, создается туннель между серверами. 
2.Опять прописываю вот это:
"ip rule add from 192.168.100.0/24 table vpn.out
ip route add default dev tun1 table vpn.out"
Запускаю клиент у себя на машине.
Получается дается сбой связь между серверами. Решение думаю надо следующее: 1. Запустить клиент в фоне и как-то создать ему правило, которое при потери связи между серверами клиент опять пытался присоединиться к серверу vpn_2. 2. Не знаю пока логику этих строк, но без них не работает: «ip rule add from 192.168.100.0/24 table vpn.out ip route add default dev tun1 table vpn.out». Соединение, но без выхода на vpn_2 и во вне. Думаю надо их как-то прописать в авто запуск.

AnonimS
() автор топика
Ответ на: комментарий от AnonimS

1. keepalive 10 120 в конфиги openvpn и будет сам перезапускатся.
2. см. мое сообщение выше пункт2 «up path-to-script»

anc ★★★★★
()
15 июля 2016 г.
16 августа 2016 г.
Ответ на: Конфиги от Retraut

Спасибо всем, разобрался. Пропадала связь с сервером 1 из-за параметра

push "redirect-gateway" 
Получается, что когда клиент(серв 1) подключается к серверу 2 с данным параметром, то я не могу подключиться к серверу 1, убираю данный параметр и все работает, но думаю, что в теории что-то может идти в обход VPN. Конфиг серверов(разница только в параметре и портах)
port 17995
proto tcp 
dev tun 
tls-server
tls-auth /etc/openvpn/ta.key 0 
ca /etc/openvpn/ca.crt 
cert /etc/openvpn/server.crt 
key /etc/openvpn/server.key 
dh /etc/openvpn/dh2048.pem 
server 10.8.0.0 255.255.255.0 
ifconfig-pool-persist ipp.txt 
keepalive 10 120 
#comp-lzo 
persist-key 
persist-tun 
status /var/log/openvpn-status.log 
log /var/log/openvpn.log
verb 3
cipher DES-EDE3-CBC
push "redirect-gateway" 
push "dhcp-option DNS 8.8.8.8"

AnonimS
() автор топика
Ответ на: комментарий от AnonimS

Не меняется IP при подключении к серваку. Sun Sep 04 14:33:26 2016 ROUTE: route addition failed using CreateIpForwardEntry: Ýòîò îáúåêò óæå ñóùåñòâóåò. [status=5010 if_index=10] Sun Sep 04 14:33:26 2016 Route addition via IPAPI failed [adaptive] Sun Sep 04 14:33:26 2016 Route addition fallback to route.exe Sun Sep 04 14:33:26 2016 env_block: add PATH=C:\WINDOWS\System32;C:\WINDOWS;C:\WINDOWS\System32\Wbem Sun Sep 04 14:33:26 2016 Initialization Sequence Completed Sun Sep 04 14:33:26 2016 MANAGEMENT: >STATE:1472988806,CONNECTED,SUCCESS,10.8.0.6,185.26.120.126

kolle
()
Ответ на: комментарий от AnonimS

Запустил от админа, не помогает, ip по прежнему не меняется я пытаюсь обычный впн хотя бы поднять(не double) Конфиг Клиента

Конфиг серва

client dev tun proto udp remote IP VPN SERVER 1194 resolv-retry infinite nobind persist-key persist-tun comp-lzo verb 3 ca C:\\keys\\ca.crt cert C:\\keys\\client.crt key C:\\keys\\client.key

;local a.b.c.d port 1194

proto udp dev tun ca ca.crt cert server.crt key server.key # This file should be kept secret dh dh2048.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push «dhcp-option DNS 8.8.8.8» push «dhcp-option DNS 8.8.4.4» keepalive 10 120 comp-lzo user nobody group nobody persist-key persist-tun status openvpn-status.log log openvpn.log verb 3

Sun Sep 04 14:38:55 2016 OpenVPN 2.3.12 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [PKCS11] [IPv6] built on Aug 23 2016 Sun Sep 04 14:38:55 2016 Windows version 6.2 (Windows 8 or greater) 64bit Sun Sep 04 14:38:55 2016 library versions: OpenSSL 1.0.1t 3 May 2016, LZO 2.09 Sun Sep 04 14:38:55 2016 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25340 Sun Sep 04 14:38:55 2016 Need hold release from management interface, waiting... Sun Sep 04 14:38:55 2016 MANAGEMENT: Client connected from [AF_INET]127.0.0.1:25340 Sun Sep 04 14:38:56 2016 MANAGEMENT: CMD 'state on' Sun Sep 04 14:38:56 2016 MANAGEMENT: CMD 'log all on' Sun Sep 04 14:38:56 2016 MANAGEMENT: CMD 'hold off' Sun Sep 04 14:38:56 2016 MANAGEMENT: CMD 'hold release' Sun Sep 04 14:38:56 2016 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info. Sun Sep 04 14:38:56 2016 Socket Buffers: R=[65536->65536] S=[65536->65536] Sun Sep 04 14:38:56 2016 UDPv4 link local: [undef] Sun Sep 04 14:38:56 2016 UDPv4 link remote: [AF_INET]////IP-VPN-SERVER///:1194 Sun Sep 04 14:38:56 2016 MANAGEMENT: >STATE:1472989136,WAIT,,, Sun Sep 04 14:38:56 2016 MANAGEMENT: >STATE:1472989136,AUTH,,, Sun Sep 04 14:38:56 2016 TLS: Initial packet from [AF_INET]:1194, sid=9e31a813 1dea4a5f Sun Sep 04 14:38:56 2016 VERIFY OK: depth=1, C=US, ST=CA, L=SanFrancisco, O=Fort-Funston, OU=MyOrganizationalUnit, CN=server, name=EasyRSA, emailAddress=me@myhost.mydomain Sun Sep 04 14:38:56 2016 VERIFY OK: depth=0, C=US, ST=CA, L=SanFrancisco, O=Fort-Funston, OU=MyOrganizationalUnit, CN=server, name=EasyRSA, emailAddress=me@myhost.mydomain Sun Sep 04 14:38:56 2016 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key Sun Sep 04 14:38:56 2016 WARNING: this cipher's block size is less than 128 bit (64 bit). Consider using a --cipher with a larger block size. Sun Sep 04 14:38:56 2016 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication Sun Sep 04 14:38:56 2016 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key Sun Sep 04 14:38:56 2016 WARNING: this cipher's block size is less than 128 bit (64 bit). Consider using a --cipher with a larger block size. Sun Sep 04 14:38:56 2016 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication Sun Sep 04 14:38:56 2016 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 DHE-RSA-AES256-GCM-SHA384, 2048 bit RSA Sun Sep 04 14:38:56 2016 [server] Peer Connection Initiated with [AF_INET]////IP-VPN-SERVER///:1194 Sun Sep 04 14:38:57 2016 MANAGEMENT: >STATE:1472989137,GET_CONFIG,,, Sun Sep 04 14:38:58 2016 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1) Sun Sep 04 14:38:58 2016 PUSH: Received control message: 'PUSH_REPLY,dhcp-option DNS 8.8.8.8,dhcp-option DNS 8.8.4.4,route 10.8.0.1,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5' Sun Sep 04 14:38:58 2016 OPTIONS IMPORT: timers and/or timeouts modified Sun Sep 04 14:38:58 2016 OPTIONS IMPORT: --ifconfig/up options modified Sun Sep 04 14:38:58 2016 OPTIONS IMPORT: route options modified Sun Sep 04 14:38:58 2016 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified Sun Sep 04 14:38:58 2016 ROUTE_GATEWAY 192.168.0.1/255.255.255.0 I=9 HWADDR=6c:71:d9:a3:53:0d Sun Sep 04 14:38:58 2016 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0 Sun Sep 04 14:38:58 2016 MANAGEMENT: >STATE:1472989138,ASSIGN_IP,,10.8.0.6, Sun Sep 04 14:38:58 2016 open_tun, tt->ipv6=0 Sun Sep 04 14:38:58 2016 TAP-WIN32 device [Ethernet 3] opened: \\.\Global\{E0C9CA35-E8C6-40C7-B89A-213F31A536C0}.tap Sun Sep 04 14:38:58 2016 TAP-Windows Driver Version 9.21 Sun Sep 04 14:38:58 2016 Notified TAP-Windows driver to set a DHCP IP/netmask of 10.8.0.6/255.255.255.252 on interface {E0C9CA35-E8C6-40C7-B89A-213F31A536C0} [DHCP-serv: 10.8.0.5, lease-time: 31536000] Sun Sep 04 14:38:58 2016 Successful ARP Flush on interface [10] {E0C9CA35-E8C6-40C7-B89A-213F31A536C0} Sun Sep 04 14:39:03 2016 TEST ROUTES: 1/1 succeeded len=1 ret=1 a=0 u/d=up Sun Sep 04 14:39:03 2016 MANAGEMENT: >STATE:1472989143,ADD_ROUTES,,, Sun Sep 04 14:39:03 2016 C:\WINDOWS\system32\route.exe ADD 10.8.0.1 MASK 255.255.255.255 10.8.0.5 Sun Sep 04 14:39:03 2016 ROUTE: CreateIpForwardEntry succeeded with dwForwardMetric1=20 and dwForwardType=4 Sun Sep 04 14:39:03 2016 Route addition via IPAPI succeeded [adaptive] Sun Sep 04 14:39:03 2016 Initialization Sequence Completed Sun Sep 04 14:39:03 2016 MANAGEMENT: >STATE:1472989143,CONNECTED,SUCCESS,10.8.0.6,////IP-VPN-SERVER///

kolle
()
Ответ на: комментарий от anc

Пардон, с разметкой накосячил. в итоге завелся. расскоментил :

 push redirect-gateway def1 bypass-dhcp 
Взял второй сервер, буду пытаться в Double.

кстати,может пригодится кому. рабочий гайд на CentOS 7 (за исключением команды что я написал выше) https://1cloud.ru/help/linux/Kak-ustanovit-i-nastroit-OpenVPN-na-CentOS7

kolle
()
Ответ на: комментарий от AnonimS

Не могу подключится к серверу, как только стартую клиента на сервере 1 . Переустанавливаю, не могу вкурить в чем суть.

Как настраиваю.

1. Ставлю впн

1.2 Ключи сервера и клиента

2. Конфиги клиента и серва.

3. Копирую ключи из второго сервера клиенту первого.

3.1 Сношу firewalld и ставлю iptables

 
yum install iptables-services -y
systemctl mask firewalld
systemctl enable iptables
systemctl stop firewalld
systemctl start iptables
iptables --flush 
4. Стартую
systemctl -f enable openvpn@client.service
systemctl status -l start openvpn@server.service 

после этого серв падает. конфиг клиента

client
dev tun
proto udp
remote IP SERVER VPN2 443
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
verb 3
ca /etc/openvpn/client/ca.crt
cert /etc/openvpn/client/client.crt
key /etc/openvpn/client/client.key
#comp-lzo adaptive
status /var/log/openvpn-status-1client.log
log /var/log/openvpn-1client.log
verb 3 

kolle
()
Ответ на: комментарий от kolle

очепятка не большая стартую так-

systemctl -f enable openvpn@client.service
systemctl status -l start openvpn@client.service 

kolle
()
Ответ на: комментарий от kolle

Я знаю в чем тут секрет, сам голову ломал несколько дней, кинь конфиг все 3 конфига: сервер_1, сервер_2 и клиент на сервере_1, если это то о чем я думаю, то сразу скажу.

AnonimS
() автор топика
Ответ на: комментарий от AnonimS

Весь мозг вынес уже ппц.

клиент сервер1

client
dev tun
proto udp
remote IP_SERVER_2 443
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
verb 3
ca /etc/openvpn/client/ca.crt
cert /etc/openvpn/client/client.crt
key /etc/openvpn/client/client.key
status /var/log/openvpn-status-1client.log
log /var/log/openvpn-1client.log
Сервер 1 конф.

port 443
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
log         openvpn.log
log-append  openvpn.log
verb 3

сервер 2 конф

port 1149
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
log         openvpn.log
log-append  openvpn.log
verb 3
kolle
()
Ответ на: комментарий от kolle

походу перепутал местами название конфигов 1<>2 замылился глаз уже.

kolle
()
Ответ на: комментарий от kolle

на 2-м сервере закомментируй push «redirect-gateway def1 bypass-dhcp» именно из-за этой опции у меня пропадала связь.

AnonimS
() автор топика
Ответ на: комментарий от AnonimS

Не разобрался со скриптами. Прикрутил вот такой костыль в rc.local

sleep 15s
ip rule add from 10.8.0.0/24 table vpn.out
ip route add default dev tun1 table vpn.out

Sleep - дает время на поднятие всех интерфейсов, ну и после запускает роуты.

Все работает =)

kolle
()
Ответ на: комментарий от kolle

Все работает =)

А вот теперь отключите инет и включите назад, мы с вами вместе порадуемся как оно «Все работает =)»

Не разобрался со скриптами.

Там нечего разбираться, все уже описано много раз. Две строки в конфиг ovpn, и две в скрипт.

anc ★★★★★
()
Ответ на: комментарий от anc

Всмысле отключите и включите? Где отключить? После ребута сервера и правила поднимаются, если ребутить рандомный сервер в цепочке, все так же отлично работает. Со скриптом была трабла с permission denied.

То что нужно я получил, или все равно что то не так и отвалится?

kolle
()
Ответ на: комментарий от AnonimS
 ls -s routing
4 routing
port 443
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
#Diffie hellman
dh dh2048.pem
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.8.7.0 255.255.255.0"
client-config-dir ccd
route 10.8.7.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
;tls-auth ta.key 0 # This file is secret
comp-lzo
max-clients 3
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
#LOG
log         openvpn.log
#log-append  openvpn.log
verb 3
script-security 2
up /etc/openvpn/routing
#SpeedUP
sndbuf 0
rcvbuf 0

Поделитесь содержимым скрипта, там просто команды должны быть? или его нужно на баше писать?

kolle
()
Ответ на: комментарий от kolle

Поясню на примерах. Стартует сервак где-то по «дороге» до следующей точки сбой, т.е. доступа к ней нет, и усе, приплыли.
Связь хреновая и ваших 15 секунд оказалось мало.
Несмотря на «keepalive 10 120» говорят бывают случае что может и рухнуть ovpn.
Вам понадобилось опустить ovpn, вы после этого каждый раз ручками команду будете набирать?
У провайдера сбой а ip вы получаете по dhcp, время аренды закончилось, я вот хз как себя ovpn поведет.
Вобщем ваше решение это просто ниибический костыль, в то время как все выше перечисленное решается куда как проще.

anc ★★★★★
()
Ответ на: комментарий от anc

Спасибо за описание. Уважаемый, тыкните носом в пример скрипта, буду очень благодарен.

kolle
()
Ответ на: комментарий от anc
Sat Sep 24 16:13:16 2016 WARNING: Failed running command (--up/--down): could not execute external program
Sat Sep 24 16:13:16 2016 Exiting due to fatal error

Куда копнуть?

И все таки, я не много не понимаю наверное. Допустим следующий сервер в цепочке виснет или сдох, но на первой машине где поднимается rc.local с задержкой, за это время клиент в любом случае создаст tun1 даже с ошибкой. И правила к нему пропишутся?

kolle
()
Ответ на: комментарий от kolle

Куда копнуть?

Ну вроде у вас прописано script-security 2 но еще раз посмотрите.

Допустим следующий сервер в цепочке виснет или сдох, но на первой машине где поднимается rc.local с задержкой, за это время клиент в любом случае создаст tun1 даже с ошибкой. И правила к нему пропишутся?

Нет не создастся, ovpn не стартанет и упадет с ошибкой, а далее как следствие нет и интерфейса, нет интерфейса нет переченек правила в таблице роутинга.

anc ★★★★★
()
Ответ на: комментарий от anc

И еще проверьте, что сам скрипт выполняется без ошибок. Т.е. сначала после поднятия ovpn запустить его вручную (только $1 замените на ваш tun1) Хотя это на уровне бреда, т.к. если бы были ошибки, то они в лог пишутся.

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от anc

А как посмотреть порядок загрузки? я добавил в автозагрузку вот так

systemctl enable openvpn@server.service
systemctl enable openvpn@vpn1_client.service

В таком случае скрипт прописанный в сервере может запускаться до поднятия клиента, на не существующий интерфейс в следствии чего он и крашится.

kolle
()
Ответ на: комментарий от anc

Ок, буду разбираться.

Последний вопрос, как ограничить интернет первому серверу если остальные не доступны, чтоб он не ходил в сеть.

kolle
()
Ответ на: комментарий от kolle

Кстати только что обратил внимание на ваши конфиги. Выже не указываете конкретное название интерфейса в них. Так что ваш вариант именно с tun1 еще бредовее становиться. Если в дальнейшем вам нужно использовать конкретные интерфейсы то и пишите в конфиге dev tun1, а не dev tun

anc ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.