Страница 1 из 1
Прошу помощи с OpenVPN
Добавлено: 2012-08-24 17:36:32
Slik
Доброго времени суток.
Возникла сложность с
OpenVPN
Дано:
Первый сервер, к нему подключаются клиенты по OpenVPN, подключение проходит нормально, все работает. Далее необходимо чтобы клиенты уходили с
tun0 в
tun1, для этого я поднял
ipnat
Код: Выделить всё
ipnat -l
List of active MAP/Redirect filters:
map tun1 20.20.200.0/24 -> 10.10.200.2/32 proxy port ftp ftp/tcp
map tun1 20.20.200.0/24 -> 10.10.200.2/32
Код: Выделить всё
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
options=80000<LINKSTATE>
inet 20.20.200.1 --> 20.20.200.2 netmask 0xffffffff
Opened by PID 946
tun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
options=80000<LINKSTATE>
inet 10.10.200.2 --> 10.10.200.1 netmask 0xffffffff
Opened by PID 939
Так же на первом сервере добавил руками маршрут
Код: Выделить всё
route add -net 10.10.100.0/24 -interface tun1
Второй сервер имеет следующие настройки
Код: Выделить всё
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
options=80000<LINKSTATE>
inet6 fe80::216:3cff:fe9c:9bc7%tun0 prefixlen 64 scopeid 0x4
inet 10.10.200.1 --> 10.10.200.2 netmask 0xffffffff
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
Opened by PID 4926
Код: Выделить всё
ipnat -l
List of active MAP/Redirect filters:
map xn0 10.10.200.0/24 -> INET proxy port ftp ftp/tcp
map xn0 10.10.200.0/24 -> INET
С клиентской машины делаю пинг на шлюз второго сервера, он не проходит
В общем дальше первого шлюза траффик не идет. Помогите разобраться где косяк О_о
Re: Прошу помощи с OpenVPN
Добавлено: 2012-08-25 1:48:09
mak_v_
моя твоя непонимать.... клиенты уходили....нат зачем-то.....
1) топология, адресация, физика
2) что работает, что нет
Re: Прошу помощи с OpenVPN
Добавлено: 2012-08-25 1:56:13
Slik
Ок, попробую разложить по полочкам.
Клиент подключается на первый сервер, его сетка
Код: Выделить всё
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
options=80000<LINKSTATE>
inet 20.20.200.1 --> 20.20.200.2 netmask 0xffffffff
Это серверая часть, так же на этом сервере поднять Опенвпн клиент со следующей сетью
Код: Выделить всё
tun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
options=80000<LINKSTATE>
inet 10.10.200.2 --> 10.10.200.1 netmask 0xffffffff
Opened by PID 25420
Далее идет второй сервер с серверной частью и имеет следующий конфиг на интерфейсе.
Код: Выделить всё
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
options=80000<LINKSTATE>
inet6 fe80::216:3cff:fe9c:9bc7%tun0 prefixlen 64 scopeid 0x4
inet 10.10.200.1 --> 10.10.200.2 netmask 0xffffffff
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
Opened by PID 30203
Необходимо чтобы клиенты подключались на первый сервер и выходили в интернет через второй.
В данный момент траффик дальше первого гейта впн не проходит.
Как то так.
Re: Прошу помощи с OpenVPN
Добавлено: 2012-08-25 9:35:59
mak_v_
Это вопрос маршрутизации.
Re: Прошу помощи с OpenVPN
Добавлено: 2012-08-25 10:03:21
Slik
Это я понимаю, вот тут я и запутался (((
Что и куда завернуть чтобы траффик пошел так как мне необходимо ?
Re: Прошу помощи с OpenVPN
Добавлено: 2012-08-25 12:09:30
mak_v_
Ну раз понимаете ......то трафик от клиентов видимо лезет в дефаулт....а вам надо "навернуть"......и вы думаете что после ната на интерфейсе, куда этот самый трафик не попадает, он все же додумается и "повернет" вспять?
Re: Прошу помощи с OpenVPN
Добавлено: 2012-08-25 13:33:47
Slik
Вот таблица маршрутизации
Клиент
Код: Выделить всё
netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 20.20.200.5 UGS 0 81 tun0
IP Server/32 192.168.0.1 UGS 0 114 em0
10.10.200.0/24 20.20.200.5 UGS 0 15 tun0
20.20.200.1/32 20.20.200.5 UGS 0 0 tun0
20.20.200.5 link#6 UH 0 0 tun0
20.20.200.6 link#6 UHS 0 0 lo0
127.0.0.1 link#5 UH 0 1714 lo0
192.168.0.0/24 link#2 U 0 3363 em0
192.168.0.20 link#2 UHS 0 12 lo0
Первый сервер на который идет подключение по опенвпн
Код: Выделить всё
Internet:
Destination Gateway Flags Refs Use Netif Expire
default GW Server UGS 0 10904 re0
Network/27 link#2 U 0 0 re0
IP Server link#2 UHS 0 0 lo0
10.10.200.0/24 20.20.200.2 UGS 0 0 tun0
10.10.200.1 link#7 UH 0 92 tun1
10.10.200.2 link#7 UHS 0 0 lo0
20.20.200.0/30 20.20.200.2 UGS 0 0 tun0 =>
20.20.200.0/24 20.20.200.2 UGS 0 64 tun0
20.20.200.1 link#6 UHS 0 0 lo0
20.20.200.2 link#6 UH 0 0 tun0
127.0.0.1 link#5 UH 0 1991 lo0
Как видно, запросы на второй сервер есть, и трасса проходит, но как завернуть туда весь траффик пока не придумал, так как если на втором сервере я включаю опцию
то на первом сервере меняется дефол шлюз, и связь с сервером теряется.
Re: Прошу помощи с OpenVPN
Добавлено: 2012-08-25 14:22:53
mak_v_
Добавить на первом сервере статический маршрут ко второму и использовать redirect-gateway
Re: Прошу помощи с OpenVPN
Добавлено: 2012-08-25 14:49:32
Slik
mak_v_ писал(а):Добавить на первом сервере статический маршрут ко второму и использовать redirect-gateway
Это делал, не помогает. Так же отваливается родной шлюз, так как опция
redirect-gateway заменяет его, и клиенты не могут подключиться к первому серверу.
Если зайти на первый сервер по ип ктороый присвоил второй сервер и с него пустить трассу в мир, она идет, работает все через второй сервер, но как его сделать чтобы не отваливался основной шлюз.
Re: Прошу помощи с OpenVPN
Добавлено: 2012-08-25 15:04:05
mak_v_
"родной шлюз"
"отваливается основной шлюз"
"redirect-gateway заменяет его"
"чтобы клиенты подключались на первый сервер и выходили в интернет через второй"
Дефолт нужен для клиентов в 2, для самого сервера в 1, чтоб ещё и маршрутилось все .... Сделайте свой выбор!
Re: Прошу помощи с OpenVPN
Добавлено: 2012-08-25 15:43:58
Slik
Вот более наглядно накидал схему (плохой из меня художник)
Теперь по подробней описание данной схемы.
Клиенты подключаются на первый сервер и получают ИП из сети 20.20.200.0/24, это
tun0, на сервере поднят и сервер опенвпн, который принимает клиентов и опенвпн клиент с сетью 10.10.200.0.24.
После подключения клиент видит второй сервер
Код: Выделить всё
traceroute 10.10.200.1
traceroute to 10.10.200.1 (10.10.200.1), 64 hops max, 40 byte packets
1 20.20.200.1 (20.20.200.1) 37.756 ms 36.584 ms 36.692 ms
2 10.10.200.1 (10.10.200.1) 53.130 ms 53.302 ms 69.932 ms
Но если идти в инет, то он пойдет через сервер 1, а необходимо чтобы выходил через сервер 2.
Re: Прошу помощи с OpenVPN
Добавлено: 2012-08-25 21:57:19
mak_v_
исходя из схемы достаточно достаточно, не забыв стстические маршруты, весь трафик промаршрутизаровать через "тот конец опенвпн"
Re: Прошу помощи с OpenVPN
Добавлено: 2012-08-27 12:35:25
Slik
Решение было простым
Сделал через ipfw, fwd 10.10.200.1 ip from 20.20.200.0/24 to any
Re: Прошу помощи с OpenVPN
Добавлено: 2012-09-03 22:51:06
Slik
Опять возвращаемся к этой теме.
Впн как было задумано работает, но вот скорость, ужасная
до 16кб поднимается, на серверах 100мбит, проверял гоняя файлы на прямую.
Если выходить в интернет только через один сервер скорость порядка 25-40 мбит, если через 2 сервера получаю 16 кб.
Куда рыть дальше ?
Re: Прошу помощи с OpenVPN
Добавлено: 2012-09-03 23:16:25
Slik
Только что прогнал тесты
iperf
Это на сервере
Код: Выделить всё
iperf -s -p 1111
------------------------------------------------------------
Server listening on TCP port 1111
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[ 4] local 10.10.200.2 port 1111 connected with 10.10.200.1 port 28951
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-180.0 sec 571 MBytes 26.6 Mbits/sec
Это со стороны клиента
Код: Выделить всё
iperf -c 10.10.200.2 --format k -m -p 1111 -t 180
------------------------------------------------------------
Client connecting to 10.10.200.2, TCP port 1111
TCP window size: 33.2 KByte (default)
------------------------------------------------------------
[ 3] local 10.10.200.1 port 28951 connected with 10.10.200.2 port 1111
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-180.0 sec 584448 KBytes 26595 Kbits/sec
[ 3] MSS size 1359 bytes (MTU 1399 bytes, unknown interface)
Сеть между шлюзами на FreeBSD по впн, как видно все тянет на ура.