Доступ к mikrotik c 2 WAN + L2TP сервер

Обсуждение оборудования и его настройки
antikiller_bm
Сообщения: 6
Зарегистрирован: 05 янв 2016, 14:42

Не так давно была поставлена задача разделить трафик от двух провайдеров на 2 группы пользователей в одной локальной сети.
Использую RB950-2n и 2 ADSL модема в режиме rout и включенным DMZ. Условно, интернет приходит на 2 WAN интерфейса от двух провайдеров со шлюзами 192.168.10.1 и 20.1
Оба интернета имеют белые статические IP

Пакеты маркируются в соответствии с группами клиентов в локалке MyLAN1, MyLAN2
Пакеты для MyLAN1 исключаются из маршрута к MyLAN2 и наоборот.

 Текущая конфигурация:
Addresses

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

ADDRESS            NETWORK         INTERFACE                              
 0   192.168.0.1/24     192.168.0.0     BRIDGE                                 
 1   192.168.20.2/24    192.168.20.0    WAN2                                   
 2   192.168.10.2/24    192.168.10.0    WAN1


mangle

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

 0    ;;; mrk_routing
      chain=prerouting action=mark-routing new-routing-mark=WAN1 passthrough=no src-address-list=WAN1 log=no log-prefix=""

 1    ;;; mrk_routing
      chain=prerouting action=mark-routing new-routing-mark=WAN2 passthrough=no src-address-list=WAN2 log=no log-prefix=""

 2    chain=prerouting action=add-src-to-address-list src-address-list=!exclude address-list=WAN2 address-list-timeout=2m in-interface=WAN2 log=no log-prefix=""

 3    chain=input action=add-src-to-address-list src-address-list=!exclude address-list=WAN2 address-list-timeout=2m in-interface=WAN2 log=no log-prefix=""

 4    chain=prerouting action=add-src-to-address-list src-address-list=!exclude address-list=WAN1 address-list-timeout=2m in-interface=WAN1 log=no log-prefix=""

 5    chain=input action=add-src-to-address-list src-address-list=!exclude address-list=WAN1 address-list-timeout=2m in-interface=WAN1 log=no log-prefix=""

 6    chain=output action=mark-routing new-routing-mark=route_WAN2 passthrough=no dst-address-list=WAN2 log=no log-prefix=""

 7    chain=output action=mark-routing new-routing-mark=route_WAN1 passthrough=no dst-address-list=WAN1 log=no log-prefix=""

 8    ;;; excl_1
      chain=prerouting action=mark-routing new-routing-mark=route_WAN1 passthrough=no src-address-list=MyLAN1 dst-address-list=!exclude log=no log-prefix=""

 9    ;;; excl_2
      chain=prerouting action=mark-routing new-routing-mark=route_WAN2 passthrough=no src-address-list=MyLAN2 dst-address-list=!exclude log=no log-prefix=""


Routes

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

 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
 0 A S  0.0.0.0/0                          192.168.20.1              1
 1 A S  0.0.0.0/0                          192.168.10.1              1
 2 A S  0.0.0.0/0                          192.168.10.1              1
 3 ADC  192.168.0.0/24     192.168.0.1     BRIDGE                    0
 4 ADC  192.168.10.0/24    192.168.10.2    WAN1                      0
 5 ADC  192.168.20.0/24    192.168.20.2    WAN2                      0


Adresses-List

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

 #   LIST                  ADDRESS                         TIMEOUT             
 0   ;;; DHCP 1/2     
     MyLAN1                192.168.0.10-192.168.0.49                   
 1   ;;; DHCP 2/2
     MyLAN2                192.168.0.50-192.168.0.64     


Когда мне потребовалось поднять сервер L2TP на микротике, я выяснил, что к нему совершенно невозможно достучаться из интернета.
WAN не пингуется даже из подсети в которой висят ADSL-модемы. SSH и другие сервисы доступны только из локальной сети.

Если пингануть 8.8.8.8 с каждого из WAN, то пингуется то с одного, то с другого, и меняются они рандомно.

При попытке поднять VPN соединение с удаленной машины на микротик - пишет что просто нет связи.
Попробовал добавить правила mark-connection, найденные на просторах форумов - VPN клиент пишет, что сервер разорвал соединение ранее, чем оно могло быть установлено.

Вероятно, решение с маркировкой пакетов вообще не подходит, надо все переделывать, но знаний пока не хватает...

Подскажите как решить данную задачу?


gmx
Модератор
Сообщения: 3296
Зарегистрирован: 01 окт 2012, 14:48

1. ADSL модемы перевести в режим бриджа.
2. Авторизация на портах WAN должна выполнятся средствами микротика, а не модемов.
3. У потребителей инета внутри сети в качестве шлюза должен быть микротик.

Это три минимальных и необходимых условия для того, чтобы все нормально работало.

То как сейчас настроено у вас - всем рулят модемы, а значит на них нужно настраивать порт-маппинг для работы VPN.
Чтобы в дальнейшем таких проблем не было никогда, выполните три первых пункта и все будет работать.


antikiller_bm
Сообщения: 6
Зарегистрирован: 05 янв 2016, 14:42

1. NAT на модемах в режиме DMZ (пропускает все входящие соединения аки бридж)
Из интернета по внешнему IP я получаю доступ к машинам клиентов без проблем (проброс портов делаю только на микротике), а вот к самому микротику нет.
2. Некоторое время назад, когда стояли провайдерские модемы "промсвязь", мне не удавалось поднять на микротике 2 pppoe, какое-то одно постоянно отваливалось.
3. Так и есть.

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

Update:
Перенастроил.
Теперь 8.8.8.8 пингуется с любого интерфейса. Клиент 1 провайдера может зайти в микротик по SSH по IP 2 провайдера. И наоборот.
Но с удаленной машины до микротика не достучаться по прежнему.
Естественно не устанавливается соединение с L2TP сервером, в логе только пишет first packet from "IP клиента L2TP"
Во время попыток коннекта по SSH в логе
input pppoe-wan1 out (none) proto tcp "IP удаленной машины" -> "стат. IP 1 провайдера" len52


gmx
Модератор
Сообщения: 3296
Зарегистрирован: 01 окт 2012, 14:48

Еще раз. Теперь у вас внешние IP на микротике на интерфейсах WAN???
Так?

Если да, то полностью выключите все правила фаерволла. Хотя бы временно.
Ну а вообще, конфиг микротика надо бы посмотреть.


antikiller_bm
Сообщения: 6
Зарегистрирован: 05 янв 2016, 14:42

Так.

Что вы подразумеваете под конфигом микротика? Я вроде все выложил в первом посте, там где.было WAN, стало pppoe-WAN.

Все правила не пробовал отключать, завтра попробую.
Кроме указанных выше правил там больше нет ничего.


gmx
Модератор
Сообщения: 3296
Зарегистрирован: 01 окт 2012, 14:48

В первую очередь отключить правила в разделе ip firewall filter


antikiller_bm
Сообщения: 6
Зарегистрирован: 05 янв 2016, 14:42

В разделе firewall filter нет правил.
Только в mangle (приведенные выше)


gmx
Модератор
Сообщения: 3296
Зарегистрирован: 01 окт 2012, 14:48

Оооо.

Тогда выключайте мангле, и проверяйте.
Да, проверьте, микротик получает те IP, которые вы думаете? Не может быть, что провайдер выдает не те адреса, или серые адреса.
На всякий случай.


antikiller_bm
Сообщения: 6
Зарегистрирован: 05 янв 2016, 14:42

Итак. Туннель поднят, 10.0.0.1 -> 10.0.0.2
Правда под PPTP (на роутере клиента не хватило памяти для установки пакетов IPsec)
Теперь мне нужно пробросить соединения на статический адрес на определенный порт в мой туннель.

netmap правило сделал, но через него пакеты не идут.
VPN клиента в список MyLAN1 добавил

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

 0    chain=srcnat action=masquerade out-interface=PPPoE-WAN1 log=no 
      log-prefix=""

 1    chain=srcnat action=masquerade out-interface=PPPoE-WAN2 log=no
      log-prefix=""

 2    chain=dstnat action=netmap to-addresses=192.168.0.41 to-ports=80
      protocol=tcp in-interface=PPPoE-WAN1 dst-port=55580 log=no log-prefix=""

 3    chain=dstnat action=netmap to-addresses=10.0.0.2 to-ports=4009 protocol=tcp
      in-interface=PPPoE-WAN1 dst-port=4009 log=yes log-prefix=""


В результате постучавшись в порт 4009 на микротике, VPN клиент должен получить широковещательный вброс в свою сеть.
Собственно говоря нужно разбудить машину, на которую инет приходит через провайдерский NAT (серый IP динамический)
Пока не работает.


wolf_ktl
Сообщения: 417
Зарегистрирован: 25 июн 2013, 18:12

Зачем используете 80 порт? и что это за ip 10.0.0.2 ?


Ответить