LINUX.ORG.RU
ФорумAdmin

MikroTik - как направить трафик через IPSec-туннель

 , , , ,


0

2

Доброй ночи, уважаемые!

Продолжаю препарировать MikroTik и вот какая задача у меня нарисовалась.

Дома у меня интернет и телефон от ОнЛайма. На даче интернет от Трайтэка. Дома и на даче стоят роутеры MikroTik, между ними поднят IPSec-туннель. На даче стоит сервер Asterisk и несколько IP-телефонов. У ОнЛайма имеется SIP-сервер tel2.moscow.rt.ru. Он доступен из сети ОнЛайма, но не доступен из сети Трайтэка.

Теперь к сути. Необходимо завернуть трафик, идущий с дачи на SIP-сервер tel2.moscow.rt.ru в IPSec-туннель, чтобы таки достучаться до SIP-сервера.

Как это сделать - ума не приложу. Гуру MikroTik-а, помогите!

Ответ на: комментарий от mogwai

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

ravdinve ()

У тебя IPSec в режиме туннеля или IPSec/L2tp(ipip, gre)? если первое, то переключай на второе. Если второе, то /ip route rule или pbr в помощь.

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

log4tmp

У тебя IPSec в режиме туннеля или IPSec/L2tp(ipip, gre)? если первое, то переключай на второе.

Первое. А в IPSec-туннель нельзя трафик завернуть? Неужели не существует способов?

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

log4tmp

Вроде можно через mangle/nat завернуть, но я так никогда не делал, с тунелями проще.

Спасибо за наводку, покопаюсь в Wiki MikroTik-а еще.

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

ну тебе скорее всего поможет запрет nat на пакеты в удаленную подсеть, при условии что ты правильно прописал peer и policie

voltmod ★★ ()
Последнее исправление: voltmod (всего исправлений: 1)

Присоединяюсь к вопросу....

Схожая с ТС ситуация, прошу помощи.

Есть два офиса, в них - микротики в качестве роутеров. Нужно добиться сетевой видимости между хостами в офисных подсетях.

IPSec настроен по инструкции: http://wiki.mikrotik.com/wiki/Manual:IP/IPsec#Site_to_Site_IpSec_Tunnel. Оба роутера пингуются с обоих сторон, хосты в подсетях - нет.

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

Кстати, нужно ли что-то настраивать на компьютерах в подсетях (роутеры сейчас являются шлюзами по-умолчанию)?

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

Не совсем. В этом нет необходимости. Я напишу, как поднять IPsec корректно чуть позже, как приеду домой, там, на самом деле, ничего сложного.

ravdinve ()

Читай про Policy based routing на Микротике. Тебе в зависимости от адреса источника нужно завернуть его на нужный тебе хоп.

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

Как и обещал. Допустим, у нас есть два офиса, офис «35» (подсеть 10.35.1.0/24) и офис «54» (подсеть 10.54.1.0/24).

В офисе «35» на роутере сделаем следующие настройки:

/ip ipsec policy
add dst-address=10.54.1.0/24 sa-dst-address=\
    xxx.xxx.xxx.xxx sa-src-address=yyy.yyy.yyy.yyy src-address=10.35.1.0/24 tunnel=\
    yes

/ip ipsec peer
add address=xxx.xxx.xxx.xxx/32 secret=zzzzzzzz
/ip firewall nat
add action=accept chain=srcnat dst-address=10.54.1.0/24 src-address=10.35.1.0/24
add action=masquerade chain=srcnat out-interface=ether1 src-address=10.35.1.0/24

В офисе «54» на роутере сделаем следующие настройки:

/ip ipsec policy
add dst-address=10.35.1.0/24 sa-dst-address=\
    yyy.yyy.yyy.yyy sa-src-address=xxx.xxx.xxx.xxx src-address=10.54.1.0/24 tunnel=\
    yes

/ip ipsec peer
add address=yyy.yyy.yyy.yyy/32 secret=zzzzzzz
/ip firewall nat
add action=accept chain=srcnat dst-address=10.35.1.0/24 src-address=\
    10.54.1.0/24
add action=masquerade chain=srcnat out-interface=ether1 src-address=10.54.1.0/24

Где xxx.xxx.xxx.xxx - это IP-адрес роутера в офисе «54», а «yyy.yyy.yyy.yyy» - это IP-адрес роутера в офисе «35», zzzzzzzz - это общий ключ. Прошу обратить внимание, что в секции /ip firewall nat правило с action masquerade должно идти после правила с action accept. Иначе туннель поднимется, но пакеты идти не будут. Никаких других тонкостей и сложностей нет. Удачи в настройке!

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

Собственно да. Я решил просто расписать еще раз поподробнее, надеюсь ТСу это поможет.

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

ravdinve, спасибо за развёрнутый ответ!

Сделал всё по инструкции, связи между подсетями по-прежнему нет.

Что можно сделать для отладки?

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

Harliff

Что можно сделать для отладки?

Сделайте в консоли каждого роутера /export и скопируйте вывод сюда. Посмотрим, что у вас там в настройках...

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

Harliff

Если актуальны broadcast'ы, то, может быть, есть смысл в L2 VPN?

Я думал на тему IPIP, но решил, что в моем случае это не даст никаких плюсов...

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

Недавно столкнулся с той же историей, что и вы. А история вот какая: допустим, у вас /ip firewall filter настроен по-умолчанию. Т.е. примерно следующим образом:

/ip firewall filter
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment="defconf: accept established,related" connection-state=established,related
add action=accept chain=input comment="allow l2tp" dst-port=1701 protocol=udp
add action=accept chain=input comment="allow pptp" dst-port=1723 protocol=tcp
add action=accept chain=input comment="allow sstp" dst-port=443 protocol=tcp
add action=drop chain=input comment="defconf: drop all from WAN" in-interface=ether1
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related
add action=accept chain=forward comment="defconf: accept established,related" connection-state=established,related
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
add action=drop chain=forward comment="defconf:  drop all from WAN not DSTNATed" connection-nat-state=!dstnat connection-state=new in-interface=ether1

В этом случае, если вы создадите туннель по моей инструкции ничего работать не будет. Для того, чтобы заработало, необходимо перед правилом add action=drop chain=input comment=«defconf: drop all from WAN» in-interface=ether1 прописать следующие правила:

add action=accept chain=input dst-address=xxx.xxx.xxx.xxx dst-port=500 in-interface=ether1 protocol=udp
add action=accept chain=input dst-address=xxx.xxx.xxx.xxx in-interface=ether1 protocol=ipsec-esp
add action=accept chain=input dst-address=xxx.xxx.xxx.xxx in-interface=ether1 protocol=ipsec-ah

Интересно следующее: если не прописать эти правила, то туннель будет в статусе established, но трафик через него идти не будет.

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

rdp ipsec mikrotik

Добрый день! Поднят gre over ipsec site-to-site на микротиках. Все работает, кроме rdp. Разрешен весь трафик из сети А в сеть Б. При попытке зайти на на компьютер в другой сети, выскакивает окно с вводом пароля и логина, пароль проходит, но дальше все зависает и не грузится. Пробовал на нескольких компьютерах, где rdp из локалки работало 100%, а через ipsec такая фигня. В чем косяк понять не могу.

vladme ()
Ответ на: rdp ipsec mikrotik от vladme

Посмотри сниффером на виндовой машине, что ей приходит, и что и _куда_ она в ответ отправляет.

Harliff ★★★★★ ()
Ответ на: rdp ipsec mikrotik от vladme

rdp ipsec mikrotik Добрый день! Поднят gre over ipsec site-to-site на микротиках. Все работает, кроме rdp. Разрешен весь трафик из сети А в сеть Б. При попытке зайти на на компьютер в другой сети, выскакивает окно с вводом пароля и логина, пароль проходит, но дальше все зависает и не грузится. Пробовал на нескольких компьютерах, где rdp из локалки работало 100%, а через ipsec такая фигня. В чем косяк понять не могу.

Отключите fastpath в /ip firewall filter. Все должно заработать.

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

Помогите. Всю голову сломал уже. Два офиса соединены на микротиках по VLAN (в обоих на 5 порту). В офисе А интернет подключен в 1 порт. Поднят IPSec между VLAN. Офисы друг друга видят. Офис B выходит через интернет офиса А. Трафик при обращениях к компам идет по IPSEC, но интернет от офиса B идет по вне IPSEС через А Как его завернуть то же в IPSEC ?

lyadov ()
Ответ на: Присоединяюсь к вопросу.... от Harliff

Re: Присоединяюсь к вопросу....

на обоих микротиках В таблице filter, надо создать два разрешающих правила в цепочке forward scr.addr 192.168.7.0/24 dst.addr 192.168.8.0/24 scr.addr 192.168.8.0/24 dst.addr 192.168.7.0/24

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