Mikrotik gre tunnel за nat

Настройка GRE туннелей в MikroTik RouterOS

Очень часто перед системным администратором стоит задача по объеденению в одну сеть 2 или более офисов находящихся в разных районах города, или вообще в разных городах, чтобы пользователи могли пользоваться общими ресурсами. Если не нужно шифровать данные(что в большинстве случаев так и есть), то наиболее оптимальным вариантом является объеденение двух точек через GRE туннель.

Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.

На рисунке показан пример работы GRE туннеля, между двумя маршрутизаторами A и B находится несколько маршрутизаторов, туннель позволяет обеспечить связь между сегментами сети 192.168.1.0/24 и 192.168.3.0/24 так, как если бы маршрутизаторы A и B были соединены прямым линком.

Для работы GRE туннеля оба маршрутизатора должены иметь внешние ip адреса на маршрутизаторе А это 11.11.11.11 на маршрутизаторе B 33.33.33.33 . Настройку маршрутизаторов А и В будем производить через консоль winbox.

На стройка маршрутизатора A

Создаем новый интерфейс для GRE, для этого заходим в панель interfaces, нажимаем на плюсик и выбираем GRE Tunnel. Указываем Remote Address, ip адрес маршрутизатора В, в нашем случае 33.33.33.33, все остальное оставим как есть.

Затем идем в меню IP->Addresses, нажимаем на плюсик и в строке Address прописываем ip адрес для GRE интерфейса у нас он 192.168.2.1/30, этот адрес может быть любым, мы его сами назначаем для туннеля, в строке interface, из выпадающего списка, выбираем название нашего интерфейса созданного выше, в нашем случае это» gre-tunnel1″

Заходим в меню IP->Routes нажимаем на плюсик и добавляем маршут до локальной сети маршрутизатора В, в строке DST.Address прописываем нашу удаленную сеть, которая настроена на маршрутизаторе В, у нас она 192.168.3.0/24, Gateway указываем ip адрес который мы назначили на GRE туннель на маршрутизаторе В, у нас это 192.168.2.2

Настройка маршрутизатора В

Маршрутизатор В настраивается зеркально маршрутизатору А.

1.Добавляем новый GRE интерфейс, в качестве Remote Address указываем внешний ip маршрутизатора А, у нас он 11.11.11.11

2.Прописываем на созданном GRE интерфейсе адрес, он должен быть в одной сети с адресом GRE интерфейса маршрутизатора А, у нас это 192.168.2.2

3.Прописываем новый маршрут, DST.Address указываем локальную сеть маршрутизатора А(у нас 192.168.1.1), а Gateway прописываем ip адрес на GRE интерфейсе маршрутизатора А(у нас 192.168.2.1).

После этих настроек компьютеры из локальной сети А должны «увидеть» компьютеры из локальной сети В. Это можно проверить командой ping.

Обучающий курс по настройке MikroTik

Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • Настройка туннелей GRE и IPIP на роутерах Mikrotik
Читайте также:  Подсоединить телевизор к роутеру через кабель

Настройка туннелей GRE и IPIP на роутерах Mikrotik

Одна из наиболее часто решаемых системным администратором задач — объединение нескольких сетей в единое пространство, для обеспечения совместной работы с общими ресурсами (site-to-site). Обычно для этих целей используется VPN, тип которого большой роли не играет. Но именно для данной задачи более предпочтительно использовать IPIP или GRE-туннели, особенно если вам требуется хорошая пропускная способность соединения. В данной статье мы расскажем об особенностях настройки и использования данного вида подключений.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Сначала коротко о протоколах. GRE (Generic Routing Encapsulation — общая инкапсуляция маршрутов) — протокол инкапсуляции, разработан компанией Cisco и предназначен для инкапсуляции пакетов сетевого уровня (L3) в IP-пакеты. IPIP (IP Encapsulation within IP — инкапсуляция IP в IP) во многом похож на GRE, но работает только с IPv4-трафиком. Наиболее популярным и используемым протоколом является GRE, его поддержка присутствует во всех современных ОС и сетевом оборудовании. Mikrotik поддерживает оба вида туннелей.

Туннели, созданные с помощью данных протоколов, не имеют никаких механизмов обеспечения безопасности (шифрование, аутентификация), поэтому в чистом виде они практически не используются. Для обеспечения нужного уровня безопасности используется IPsec, поверх которого уже разворачивается GRE или IPIP-туннель ( GRE over IPsec, IPIP over IPsec). Далее, говоря о данном типе туннелей мы будем подразумевать ввиду именно их.

Еще одна особенность указанных протоколов — они работают без сохранения состояния соединения (stateless) и понять в каком состоянии находится туннель невозможно. Мы можем только настроить обе стороны и проверить передачу данных между ними. Кроме очевидных минусов такое решение имеет и свои плюсы, GRE или IPIP-интерфейсы являются статичными и присутствуют в системе вне зависимости от состояния туннелей, что облегчает настройку маршрутизации. А состояние туннеля позволяют контролировать механизмы RouterOS, которые с заданной периодичностью умеют проверять доступность его второго конца.

Ни GRE, ни IPIP не используют порты, поэтому они не могут преодолеть NAT, это требует от обоих узлов иметь выделенные IP-адреса или находиться в одной сети. Проблема NAT частично снимается при использовании IPsec, за счет использования протокола NAT-T, но требование выделенных адресов узлов остается. Кроме того, по этой причине вы не сможете установить более одного GRE или IPIP-соединения между узлами.

Итак, подведем коротко итог: для использования GRE или IPIP-туннелей вам потребуются выделенные IP-адреса с обоих сторон и для защиты передаваемых данных обязательно использовать IPsec. Что касается оборудования, то предпочтительно использовать роутеры с аппаратной поддержкой шифрования — hEX, RB3011/4011 и все остальные модели на базе процессоров ARM. В этом случае вполне достижима пропускная способность туннеля на уровне 300-400 МБит/с. На остальных моделях роутеров (MIPSBE, SMIPS) вы получите не более 30-40 МБит/с. Подробнее об этом вы можете прочитать здесь.

Далее мы будем придерживаться следующей схемы:

Согласно которой у нас имеются две условные сети: A — 192.168.111.0/24, внешний IP-адрес 198.51.100.1 и B — 192.168.222.0/24, внешний адрес 203.0.113.1. Между ними мы будем поднимать GRE или IPIP-туннель с внутренними адресами 10.10.10.1 и 10.10.10.2.

Настройка GRE-туннеля

Открываем Winbox и переходим в Interfaces — Interface где добавляем новый интерфейс с типом GRE Tunnel, в открывшемся окне заполняем поля: Local Address — внешний IP-адрес этого роутера, Remote Address — внешний IP-адрес противоположного роутера, IPsec Secret — общий ключ IPsec, рекомендуется использовать длинную случайную строку из цифр, букв в обоих регистрах и спецсимволов. Также обязательно снимите флаг Allow Fast Path.

Читайте также:  Какие лампочки горят на роутере при работе tp link

В терминале это можно выполнить командой:

Полностью аналогичную настройку выполняем и на втором роутере, только меняем местами Local Address и Remote Address, после чего туннель должен перейти в рабочее состояние. За отслеживание состояние туннеля отвечает параметр Keepalive, по умолчанию он предполагает десять попыток с интервалов в 10 секунд, если за это время с противоположной стороны не будет получен ответ, то туннель будет считаться неработоспособным.

Важный момент связан с настройками IPsec, RouterOS использует для туннелей настройки по умолчанию и нет возможности это переопределить, поэтому на обоих роутерах профили default в IP — IPsec — Proposals и Profiles должны иметь одинаковые настройки.

В противном случае вы будете получать ошибку при согласовании параметров IPsec:

Если все сделано правильно, то в Interfaces — Interface напротив туннеля появится флаг R — running, что означает, что туннель находится в рабочем состоянии.

Настройка IPIP-туннеля

Настройка данного вида туннеля ничем не отличается от GRE, также переходим в Interfaces — Interface и добавляем новый интерфейс с типом IP Tunnel. Указываем все те же параметры: Local Address — внешний IP-адрес этого роутера, Remote Address — внешний IP-адрес противоположного роутера, IPsec Secret — общий ключ IPsec, также снимаем флаг Allow Fast Path.

В терминале это же действие:

Затем дублируем настройки на второй роутер, заменяя местами Local Address и Remote Address, также учитываем все то, что было сказано выше о настройках IPsec.

Настройка маршрутизации

Итак, туннель поднят, теперь нужно пустить в него трафик между сетями. Прежде всего присвоим адреса туннельным интерфейсам. Согласно схеме со стороны роутера А это будет 10.10.10.1, а со стороны роутера B — 10.10.10.2. Переходим в IP — Addresses и добавляем новый адрес: Address — 10.10.10.1/24 — именно так, с указанием префикса (/24, что соответствует маске 255.255.255.0), в противном случае сеть у вас работать не будет. В поле Interface указываем имя интерфейса GRE или IPIP-туннеля.

В терминале для этого же действия выполните команду:

Где вместо interface=gre-tunnel1 укажите имя собственного туннельного интерфейса.

Аналогичные настройки следует выполнить и на втором роутере.

Теперь приступим к указанию маршрутов, для роутера A нам нужно указать маршрут к сети 192.168.222.0/24 через туннель. Переходим в IP — Routes и создаем новый маршрут. В качестве Dst. Address указываем сеть назначения — 192.168.222.0/24, в поле Gateway указываем шлюз в эту сеть — противоположный конец туннеля, который имеет адрес 10.10.10.2, после того как мы нажмем Apply в поле рядом со шлюзом появится исходящий интерфейс, в качестве которого будет выступать наш туннель.

В терминале:

На втором роутере делаем аналогичные настройки с учетом IP-адреса роутера и сети назначения.

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Дополнительные материалы:

Mikrotik

The Dude

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Или подпишись на наш Телеграм-канал:

Источник

Mikrotik gre tunnel за nat

Mon Jul 24, 2017 4:09 am

How do I terminate a Gre tunnel (that’s on a 10.x network) to my Nat

The backstory: I’m using a Mikrotik Router Cloud Switch to connect to a cable modem (not router) in which Mikrotik picks up the public IP.

The current topology thus far is:
ether-WAN: 71.X.X.X (picked up by DHCP)
ether-LAN: 192.168.0.0/16
gre-tunnel: 10.x.x.71 (Provider’s side: gateway: 10.x.x.70; Public IP: 103.x.x.2)

Читайте также:  How to reset mikrotik router

So far, I have port forwarding and masquerading working like a charm, packets inside can transverse the nat and get outside and vice-versa on 71.x.x.x. Then, after a few days I started to get hit by a DNS Amplification DDOS attack. I forced a DHCP update by changing the MAC on ether-WAN — the ip changes class C and I’m good for a few days. Then again, I’m hit.

After 8 attacks over 2 weeks, I decided to purchase DDOS protection for the network which uses a GRE or IPIP tunnel (by hiding the real public IP or not using it and tx/rx traffic over the new public IP from the provider which can take a 800Gbps attack and filter it before it hits my router).

I got the gre tunnel terminated on the Mikrotik router — I can see packets going in and out, the problem is, how does one go about having the NAT (or portions thereof) use it?

My provider has assigned me a 10.x.x.x/30 network, which means I can assign a single IP to the GRE tunnel interface.

Here is what I’ve tried:

Marked Routing — I setup a mangle rule to mark the route for source IP’s (web server and such) and set the router mark on the GRE gateway in the IP > Routes table.

This did not work, even though I could see more traffic I think this method was trying to extend my 192.168.0.0/16 network into my provider’s nat. In this scenario, I could ping the 10.x gateway, but not the router’s assigned 10.x IP on the Gre interface.

Specified src-nat rules — I setup a src-nat rule to direct the webserver 192.168.0.2 to 10.x.x.71 (ip assigned to gre interface) and a rule under that to direct 192.168.0.0/16 to 71.x.x.x (ISP’s interface).

This did not work, in fact when I tried this method all incoming traffic over Gre stopped. I could see my packets leaving but my provider never saw the packets. In this scenario, I could ping both the 10.x gateway and the 10x IP on the gre interface.

Does anyone happen to know what I may be doing wrong here, or if I’m missing something? During all of this, every other computer on the nat works perfectly, just getting traffic to route over the gre interface from the nat based on a single (or multiple) LAN IP’s seems to be virtually impossible But then again, tunneling is something entirely new to me, I can do VLANs, Meshes, etc, but toss in a tunnel condition and I’m absolutely lost

Here is my optimistic setup (what I currently have combined with what we need)

Re: GRE + NAT = WUT?

Tue Jul 25, 2017 8:32 am

I was able to get the nat to work by disabling RP Filtering (having it set to lose or strict causes some issues)

I’m still unable to use port forwarding. Does anyone have any ideas?

I can port forward from ISP Public IP to 192.168.0.100 but I cannot port forward from 10.x to 192.168.0.100. I see the packets coming in on the gre interface through torch but the nat simply doesn’t send the packets over

So far, I was able to get this working with a route mark, as just masquerading based on origin IP didn’t seem to send anything out the GRE tunnel.

So under Mangle I added a rule to mark the route if the source ip was 192.168.0.100 to «filtered». And under gateways I set the 0.0.0.0/0 -> 10.x to the filtered routing mark.

Then I set a masquerading rule that masquerades based on that routing mark.

This began to work, I can view websites (some) though dns seems to fail trying to transverse the nat.

Источник

Adblock
detector