Маршрутизация на туннеле.

Обсуждение ПО и его настройки
Аватара пользователя
podarok66
Модератор
Сообщения: 4360
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

kt72ru писал(а):Зачем маскарад между сетями?

Это ж в Тике маскарад. Не на серваке. Если маскарадить на интерфейс, который смотрит на провайдера, даже на клиентские адреса в ovpn-туннеле не пробиваешься. А в таком виде я по IP клиента могу прицепится ко всем микротикам в туннеле.
kt72ru писал(а):в конфиге выше этого нет и строка


5 A S   192.168.100.0/24                   10.8.0.1                  1

говорит что вы маршрут статикой прописали

Это тоже из Тика строка, вы немного запутались :hi_hi_hi:

С вашим конфигом вообще не поднимается туннель :cry_ing:


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
kt72ru
Сообщения: 141
Зарегистрирован: 23 июн 2017, 07:55

podarok66 писал(а):Это ж в Тике маскарад. Не на серваке. Если маскарадить на интерфейс, который смотрит на провайдера, даже на клиентские адреса в ovpn-туннеле не пробиваешься. А в таком виде я по IP клиента могу прицепится ко всем микротикам в туннеле.

Я в курсе что в тике, поэтому и спрашиваю, если задача стоит объединить сети то зачем усложнять маскарадом.

podarok66 писал(а):Это тоже из Тика строка, вы немного запутались :hi_hi_hi:

и про это тоже в курсе. Если вы правильно прописали push "route ..." в конфиге опенвпн и iroute в конфиге клиента, то микротик получит маршрут на удаленные подсети от опенвпн сервера и в прописывании удаленных подсетей на микротике не будет нужды.

podarok66 писал(а):С вашим конфигом вообще не поднимается туннель :cry_ing:

как вариант ваша версия openvpn не понимает топологию subnet.
Можно посмотреть что не нравится серверу в файле /var/log/openvpn.log


kt72ru
Сообщения: 141
Зарегистрирован: 23 июн 2017, 07:55

ваш конфиг с небольшими правками.
На микротиках удалите статику на удаленные сети и маскарад.

Код: Выделить всё

port 1194
proto tcp
dev tun
ca /etc/openvpn/.keys/ca.crt
cert /etc/openvpn/.keys/DigOceanServer.crt
key /etc/openvpn/.keys/DigOceanServer.key  # This file should be kept secret
dh /etc/openvpn/.keys/dh2048.pem
server 10.8.0.0 255.255.255.0
route 192.168.88.0 255.255.255.0
route 192.168.100.0 255.255.255.0
push "route 192.168.88.0 255.255.255.0"
push "route 192.168.100.0 255.255.255.0"
client-config-dir .ccd
client-to-client
keepalive 10 120
cipher AES-256-CBC   # AES
auth sha1
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
log  /var/log/openvpn.log
verb 3


ccd1 - CN сертификата микротика с подсетью 192.168.88.0/24

Код: Выделить всё

iroute 192.168.88.0 255.255.255.0
ifconfig-push 10.8.0.5 10.8.0.6


ccd2 - CN сертификата микротика с подсетью 192.168.100.0/24

Код: Выделить всё

iroute 192.168.100.0 255.255.255.0
ifconfig-push 10.8.0.9 10.8.0.10


Аватара пользователя
podarok66
Модератор
Сообщения: 4360
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Так, дело сдвинулось :ya_hoo_oo:

Код: Выделить всё

C:\Users\Michael>tracert 192.168.100.33

Трассировка маршрута к 192.168.100.33 с максимальным числом прыжков 30

  1    <1 мс    <1 мс    <1 мс  router.lan [192.168.88.1]
  2    88 ms    88 ms   131 ms  192.168.100.33

Трассировка завершена.

Спасибочки. Устройства с той стороны пингуются. На маршрутизатор можно зайти по адресу, который присвоен бриджу локальной сети (192.168.100.1). Завтра буду смотреть больше. Надо своего человека посадить со второй стороны, чтобы понять что и как


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Аватара пользователя
podarok66
Модератор
Сообщения: 4360
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Так, пришла пора подводить итоги. Усилиями коллективного разума проблема решена. Отдельное спасибо за грамотное ведение консультаций kt72ru, без его помощи было бы значительно сложнее.
Напомню предысторию, есть несколько независимых локальных сетей под маршрутизаторами Микротик. Каждый Микротик обеспечивает выход в интернет для своей локалки, ни один из них не имеет белого адреса. Имеется так же сервер под управлением Debian 9, находящийся вообще чёрти где, мой в Амстердаме, например. Задача, соединить все Микротики с сервером посредством туннеля OVPN и обеспечить свободный доступ к сетевым ресурсам из локалки в локалку.
Приблизительная схема того, что мы собрали общими усилиями:
Изображение
Был поднят OVPN сервер на Debian (процесс описан тысячу и один раз, не будем множить сущности), он получил следующую конфигурацию:

Код: Выделить всё

port 1194
# Mikrotik не умеет работать с UDP
proto tcp
dev tun
ca /etc/openvpn/.keys/ca.crt
cert /etc/openvpn/.keys/DigOceanServer.crt
key /etc/openvpn/.keys/DigOceanServer.key  # This file should be kept secret
dh /etc/openvpn/.keys/dh2048.pem
# Описываем сеть для туннеля
server 10.8.0.0 255.255.255.0
# Прописываем маршруты для каждой из сетей.
route 192.168.88.0 255.255.255.0
route 192.168.100.0 255.255.255.0
route 192.168.101.0 255.255.255.0
push "route 192.168.88.0 255.255.255.0"
push "route 192.168.100.0 255.255.255.0"
push "route 192.168.101.0 255.255.255.0"
# Директория для хранения клиентских конфигов
client-config-dir .ccd
# Разрешаем общение между клиентами
client-to-client
keepalive 10 120
cipher AES-256-CBC   # AES
auth sha1
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
log  /var/log/openvpn.log
verb 3


Замечу, надо обратить внимание на то, что не должно быть локалок с одинаковыми подсетями. В этом случае будет роутится запрос будет на первую из локалок по адресу в туннеле. Далее, оказывается, что прописывание маршрутов в Debian вручную не даст никакого эффекта, так как туннель проигнорирует "искусственный" маршрут. Всё, что ему надо, туннель берет строго в конфиге.
Дальше нужно создать в директории .ccd файлы, имеющие имена такие же, как и имена ovpn-ключей для клиентов. То есть, если на клиента сделали сертификат и ключ с именем client-1.crt и client-1.key, то и имя файла будет client-1.
Содержание

Код: Выделить всё

# Указывает, какая сетка находится за туннелем
iroute 192.168.88.0 255.255.255.0
# Назначает адреса клиенту и туннелю
ifconfig-push 10.8.0.10 10.8.0.9

То есть каждый туннель жрет как минимум два адреса, насколько я понял.
По аналогии создаем и остальные файлы.

Код: Выделить всё

iroute 192.168.100.0 255.255.255.0
ifconfig-push 10.8.0.5 10.8.0.4

Код: Выделить всё

iroute 192.168.101.0 255.255.255.0
ifconfig-push 10.8.0.6 10.8.0.7

Ну теперь идем на Микротики. Создаем профиль с нужным нам именем в ppp -> profiles, у меня ovpn.Остальное по-дефолту. В ppp -> Secrets создаем пользователя vasya без пароля , указываем профиль ovpn и сервис ovpn. Не думаю, что это обязательно, но мне так более понятно, куда и что идет. Дальше импортируем сертификаты и ключ, то есть тащим три файла ca.crt, client-1.crt и client-1.key на микротик и импортируем в System ->Certificates -> Import именно в том порядке, в котором я их привел.
Создаем ovpn-client:

Код: Выделить всё

/interface ovpn-client
add add-default-route=no auth=sha1 certificate=client-1.crt_0 cipher=aes256 connect-to=111.222.111.222 mode=ip name=ovpn-out1 password="" port=1194 profile=ovpn user=vasya

указывая в connect-to белый адрес нашего сервера. Туннель должен подняться. По аналогии проделываем всё то же на остальных компах, лишь сертификат и ключ клиента будут разными.
Кстати, маскарад локалки в том виде, как я приводил выше, никакого влияния на доступ не оказывает.
На этом вроде как можно проверять работоспособность нашего детища. Если всё прошло, как надо, можно пинговать устройства в любой из подключенных локалок. Расшаренные папки становятся доступны, наступает всеобщее ликование.
На Микротике появляется несколько новых маршрутов:

Код: Выделить всё

 #      DST-ADDRESS             PREF-SRC             GATEWAY                 DISTANCE
 0 ADS  0.0.0.0/0                                    10.201.7.254                1
 1 ADS  10.8.0.0/24                                    10.8.0.9                  1
 2 ADC  10.8.0.9/32             10.8.0.10             ovpn-out1                  0
 3 ADC  10.201.7.0/24          10.201.7.18             ether1                    0
 4 ADC  192.168.88.0/24       192.168.88.1             bridge                    0
 5 ADS  192.168.100.0/24                               10.8.0.9                  1
 6 ADS  192.168.101.0/24                               10.8.0.9                  1

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


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
kt72ru
Сообщения: 141
Зарегистрирован: 23 июн 2017, 07:55

podarok66 писал(а):То есть каждый туннель жрет как минимум два адреса, насколько я понял.

при использовании устаревшей топологии. Лучше использовать вариант topology subnet, тогда 1 адрес у сервера и 1 адрес выделяется на клиента.

podarok66 писал(а):Кстати, маскарад локалки в том виде, как я приводил выше, никакого влияния на доступ не оказывает.

Оказывает. Пользователи локалок будут ходить в другие локалки c адреса ВПН туннеля + лишняя нагрузка на железку в ввиде ненужных трансляций.

podarok66 писал(а):В следствие того, что сервак для экспериментов у меня начального уровня и он действительно в Амстердаме, наблюдается некоторая заторможенность в работе туннелей

это из-за кривой реализации openvpn со стороны микротика. Он не умеет строить ВПН по UDP.


vdw
Сообщения: 1
Зарегистрирован: 29 дек 2017, 12:22

Добрый день!

Настраиваю VPN между двумя микротиками и столкнулся с одной проблемой которую не могу победить.

На первом микротике внутренняя сеть 10.10.0.0/22, на нем же поднят PPTP сервер у которого адрес в тоннеле 10.12.0.1
На втором микротике Внутренняя сеть 192.168.88.0/24, он подключается к серверу как PPTP клиент и имеет адрес в тоннеле 10.12.0.2
Маршрут на стороне сервера Dst 192.168.88.0/24 Geteway 10.12.0.2
Маршрут со стороны клиента Dst 10.10.0.0/22 Geteway 10.12.0.1
Задача; получить прохождение пакетов от клиента на любой хост сети 10.10.0.0/22 и обратно.
С выше описанными настройками пакеты с любого хоста сети 10.10.0.0/22 на любой хост сети 192.168.88.0/24 проходят без проблем а вот в обратном направлении, пакеты проходят только к адресам в диапазоне 10.10.2.1 - 10.10.2.254 а в остальных направления сети 10.10.0.0/22 не проходят. Не могу понять как можно победить... Может кто подскажет куда рыть?


Аватара пользователя
podarok66
Модератор
Сообщения: 4360
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

kt72ru писал(а):Лучше использовать вариант topology subnet, тогда 1 адрес у сервера и 1 адрес выделяется на клиента.

Весь вопрос в том, поддержит ли эту топологию Микротик. Тут всё не так здорово, как казалось мне на первый взгляд. Если вам интересно, давайте попробуем поменять топологию :hi_hi_hi:
kt72ru писал(а):Оказывает. Пользователи локалок будут ходить в другие локалки c адреса ВПН туннеля + лишняя нагрузка на железку в ввиде ненужных трансляций.

То есть маскарадить строго от интерфейса? Что-то типа :

Код: Выделить всё

ip firewall nat add action=masquerade chain=srcnat  out-interface=ether1

kt72ru писал(а):это из-за кривой реализации openvpn со стороны микротика. Он не умеет строить ВПН по UDP

Да, это просто таки давняя беда. Кто-то уповает на 7 версию, которую ждут и ждут. Кто-то махнул на это рукой и пользует то, что есть.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
enzain
Сообщения: 291
Зарегистрирован: 26 дек 2017, 22:30

debian/ubuntu ж умеет ipip вроде бы, зачем огород с овпн? ...


Аватара пользователя
podarok66
Модератор
Сообщения: 4360
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Так адреса же на тиках "серые" А там вроде как указание удаленного адреса при создании туннеля обязательно. И куда с Дебиана я цепляться буду? Или я ошибаюсь?


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Ответить