LINUX.ORG.RU
ФорумAdmin

Цепочка openvpn из трёх серверов

 , , кривые ручки


0

1

Привет, лор! Понадобилось настроить очень широкий vpn, и, в общем, ничего пока не получилось. Настроил первый сервер, подключаюсь - всё ок. Настраиваю второй сервер, подключаюсь как отдельный клиент - всё хорошо. Подключаюсь с первого сервера на второй сервер - первый сервер недоступен извне, но доступен по сети openvpn. Захожу по openvpn-адресу на первый сервер, убиваю процесс - всё на месте. А к третьему серверу я пока и не приступал. Прошу помощи, и буду очень-очень-очень благодарен, если мне кто-либо поможет. Понимаю, что нужно разруливать route, надеюсь что кто-нибудь подтолкнёт меня к чему-то конкретному.

Прилагаю конфиги:

Конфиг первого сервера - http://paste.debian.net/79240/

Конфиг второго сервера - http://paste.debian.net/79242/

Конфиг первого сервера как клиента ко второму - http://paste.debian.net/79243/

Ооочень жду ваших ответов.

Ты сначала задачу сформулируй нормально - сетевую связность чего с чем, и на каком уровне, ты хочешь обеспечить? И каким именно образом ты решил это сделать?

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

Клиент подключается к первому серверу, трафик от клиента идёт к первому серверу, от первого сервера на второй, от второго на третий, а от третьего в Интернет. Всё это я хотел бы сделать с помощью openvpn.

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

Почти вся поисковая выдача по этому запросу забита рекламой всяких контор с doublevpn :(

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

Знают, но башка болит и читать километровые конфиги лениво(ты бы хоть комментарии вырезал). Общая идея такая:


client:

tun0(vpn1): 10.0.0.1/30
routes:
10.0.2.0/30 via 10.0.0.2 dev tun0
default via 10.0.2.2
-----------
server1:

tun0(vpn1): 10.0.0.2/30
tun1(vpn2): 10.0.1.1/30
routes:
10.0.2.0/30 via 10.0.1.2
-----------
server2:

tun0(vpn2): 10.0.1.2/30
tun1(vpn3): 10.0.2.1/30
routes:
10.0.0.0/30 via 10.0.1.1
-----------
server3:

tun0(vpn3): 10.0.2.2/30
eth1: 1.2.3.4
routes:
10.0.0.0/30 via 10.0.2.1
iptables -t nat -A POSTROUTING -s 10.0.0.0/30 -o eth1 -j MASQUERADE
selivan ★★★
()
Ответ на: комментарий от selivan

Я так понимаю, что в server1 строка «tun0(vpn1): 10.0.0.2/30» обозначает адрес сервера vpn? Но у меня не получается настроить, в силу незнания, адрес 10.0.0.2. Не подскажете как это сделать? При указании server 10.0.0.2 в конфиге сервера, openvpn отказывается запускаться.

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

tun0(vpn1): 10.0.0.2/30 обозначает, что на server1 у интерфейса tun0, созданного в рамках vpn-соединения vpn1 (я их пронуменовал, чтобы не путсться), имется ip-адрес 10.0.0.2 с маской сети /30.

В man openvpn про параметр server написано:

--server 10.8.0.0 255.255.255.0 expands as follows:

mode server
tls-server
push «topology [topology]»

if dev tun AND (topology == net30 OR topology == p2p):
ifconfig 10.8.0.1 10.8.0.2
if !nopool:
ifconfig-pool 10.8.0.4 10.8.0.251
route 10.8.0.0 255.255.255.0
if client-to-client:
push «route 10.8.0.0 255.255.255.0»
else if topology == net30:
push «route 10.8.0.1»

if dev tap OR (dev tun AND topology == subnet):
ifconfig 10.8.0.1 255.255.255.0
if !nopool:
ifconfig-pool 10.8.0.2 10.8.0.254 255.255.255.0
push «route-gateway 10.8.0.1»

То есть он раскрывается в кучу других параметров, в зависимости от типа туннеля и прочих настроек.

Тебе скорее всего нужен --ifconfig.

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

Ничего страшного в этом нет, openvpn достаточно простой, это ты ещё ipsec не видел.

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

То есть если на server1 у интерфейса tun0 будет адрес 10.0.0.1, а в конфиге будет такая строчка:

server 10.0.0.0 255.255.255.0

Будут ли работоспособны те route-команды, которые вы указали? Или их необходимо будет изменять, в соответствии с изменением адресов? Потому что решения, как изменить адрес сервера, я не нашёл. Если в конфиге указывать

ifconfig 10.0.0.2

то сервер просто не стартует. Если указывать

ifconfig 10.0.0.2 10.0.0.1

то сервер стартует, но интерфейс tun0 всё-равно имеет адрес 10.0.0.1

Простите мне моё незнание. :(

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

server2: tun0(vpn2): 10.0.1.2/30 tun1(vpn3): 10.0.2.1/30 routes: 10.0.0.0/30 via 10.0.1.1

подскажи плиз куда что писать , я пробовал в tun0.conf

dev tun0
secret tun1.key
remote 46.29.18.231
#server 10.0.1.2 255.255.255.0
ifconfig 10.0.1.2 10.0.1.1
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
script-security 2
log /var/log/messages
verb 3
#up /etc/openvpn/up.sh
tin1.conf
dev tun1
secret tun1.key
remote 111.111.111.111
ifconfig 10.0.0.2 10.0.0.1
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
script-security 2
up /etc/openvpn/up.sh
up.sh
#!/bin/bash
/sbin/ip route add 10.0.0.0/24 via 10.0.1.1  dev tun1
но что то не поднимается ВПН

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