MikroTik EoIP and Bridge

MikroTik EoIP and Bridge

MikroTik EoIP and Bridge

Ethernet over IP (EoIP) е тунелен MikroTik RouterOS протокол, който създава Ethernet тунел между два рутера през IP връзка. EoIP интерфейсът се явява като Ethernet интерфейс. В комбинация с бридж (Bridge) всички Ethernet протоколи ще работят все едно са на физически интерфейс.

  MMM      MMM       KKK                          TTTTTTTTTTT      KKK
  MMMM    MMMM       KKK                          TTTTTTTTTTT      KKK
  MMM MMMM MMM  III  KKK  KKK  RRRRRR     OOOOOO      TTT     III  KKK  KKK
  MMM  MM  MMM  III  KKKKK     RRR  RRR  OOO  OOO     TTT     III  KKKKK
  MMM      MMM  III  KKK KKK   RRRRRR    OOO  OOO     TTT     III  KKK KKK
  MMM      MMM  III  KKK  KKK  RRR  RRR   OOOOOO      TTT     III  KKK  KKK

Когато нещата опрат до тунели едно от най интелигентното решение според мен е EoIP tunnel от едната страна с Bridge. Намирам го за много удобно защото тунела във втория рутер играе ролята на виртуален интерфейс в съседна мрежа който е асоцииран към първия рутер. Така от една страна се избягва неприятния ефект от broadcast на пълния bridge а от друга винаги може да се рутира каквото трябва тъй като двете LAN мрежи на рутерите стават съседи.

Вариант 1 – с един тунел – MikroTik EoIP and Bridge

В примера по долу имаме два рутера които ги дели MAN мрежа 10.0.0.0/8 но остествено това може и да е Интернет. Зад единия рутер имаме клиент а зад другия база данни. Идеята е повече от ясна, клиента трябва да има връзка с мрежата на базата данни все едно тя е съседна мрежа в LAN сегмент.

Много хора тук ще се замислят защо просто не отворим някой порт DNAT към базата данни и готово. Базата данни е само пример а ние всъщност искаме да ползваме пълния ресурс на съседната мрежа през тунела дори и протоколи като Windows share, монтиране на файлови системи и споделяне на принтери. Освен това самата база данни въобще няма да се вижда в Интернет защото както споменах по горе за да стане това трябва да се пренасочи порт от WAN интерфейса към нея. Логично е да се сетим, че двете мрежи се виждат през тунела и не се виждат през Интернет защото са зад NAT на рутерите си.

+------------------+
|    Date Base     |
| 192.168.122.2/24 |
+------------------+
        ||
+------------------+
| 192.168.122.1/24 --------Bridge
|    MikroTik 1    |          |
| 10.129.3.7/24    |          |e
+------------------+          |o
        ||                    |i
 -------------------          |p
/ 10.129.3.1/24     \         |
| NetWork 10.0.0.0/8 |        |t
\ 10.126.2.1/24     /         |u
 -------------------          |n
        ||                    |n
+-------------------+         |e
| 10.126.2.3/24     |         |l
|    MikroTik 2     |         |
| 192.168.123.1/24  ----192.168.122.223/24
+-------------------+
        ||
+-------------------+
|192.168.123.2/24   |
|     Client 1    
+-------------------+

MikroTik 1 – MikroTik EoIP and Bridge

/ip address
add address=10.129.3.7/24 disabled=no interface=ether1-wan
add address=192.168.122.1/24 disabled=no interface=ether2-lan
 
/interface eoip
add disabled=no local-address=10.129.3.7 name=MikroTik2 remote-address=10.126.2.3 tunnel-id=1
 
/interface bridge
add disabled=no name=bridge1
 
/interface bridge port
add bridge=bridge1 disabled=no interface=ether2-lan
add bridge=bridge1 disabled=no interface=Mikrotik2
 
/ip route
add disabled=no dst-address=0.0.0.0/0 gateway=10.129.3.1
add disabled=no dst-address=192.168.123.0/24 gateway=192.168.122.223
 
/ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=ether1-wan

MikroTik 2 – MikroTik EoIP and Bridge

/interface eoip
add disabled=no local-address=10.126.2.3 name=eoip-tunnel1 remote-address=10.129.3.7 tunnel-id=1
 
/ip address
add address=192.168.123.1/24 interface=ether2-master-local
add address=192.168.122.223/24 interface=eoip-tunnel1
add address=10.126.2.3/24 interface=ether1-gateway
 
/ip route
add disabled=no dst-address=0.0.0.0/0 gateway=10.126.2.1
 
/ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=ether1-gateway

вариант 2 – с три тунела – MikroTik EoIP and Bridge

Този сценарии е добър когато имаме централен офис или база данни.

Тук разликата с първия пример е, че клиентите рутират един път мрежа 10.0.0.0/8 през която е вдигнат тунела. А за маршрут по подразбиране (default gateway) е конфигуриран 192.168.122.1 който всъщност е бриджа (bridge) на първия рутер. По този начин от една страна всичкия трафик (Internet) ще потече през MikroTik 1 а от друга няма нужда самите клиенти да си рутират мрежите допълнително защото ще се виждат през 192.168.122.1

Общо взето излиза така, че създаваме мрежа в мрежата в която се виждат всички наши хостове помежду си през бриджа а през WAN порта на MikroTik 1 тече само Internet.

                     +----------------+
                     |   Date Base    |
                     |192.168.122.2/24|
                     +----------------+
                             ||
                   +--------Bridge ------+---------------------+
                  e| +----------------+  |e                    |e
                  o| |192.168.122.1/24|  |o                    |o
                  i| |   MikroTik 1   |  |i                    |i
                  p| |10.129.3.7/24   |  |p                    |p
                   | +----------------+  |                     |
                  t|         ||          |t                    |t
                  u|  -----------------  |u                    |u
                  n| /    NETWORK      \ |n                    |n
                  n| |   10.0.0.0/8    | |n                    |n
                  e| \    NETWORK      / |e                    |e
                  l|  -----------------  |l                    |l
                   |        ||           |                     | 
+----------------+ | +-----------------+ |  +----------------+ | 
|10.126.2.3/24   | | | 10.129.1.8/24   | |  |10.125.20.2/24  | | 
|  MikroTik 2    | | |   MikroTik 3    | |  |  MikroTik 4    | |
| 192.168.122.223/24 |  192.168.122.226/24  | 192.168.122.224/24
|192.168.123.1/24|   |192.168.126.1/24 |    |192.168.124.1/24|
+----------------+   +-----------------+    +----------------+
        ||                   ||                    ||
+----------------+    +-----------------+   +----------------+
|92.168.123.2/24 |    |192.168.126.2/24 |   |192.168.124.2/24|
|   Client 1     |    |    Client 2     |   |     Client 3   |
+----------------+    +-----------------+   +----------------+

MikroTik 1 – MikroTik EoIP and Bridge

/ip address
add address=10.129.3.7/24 interface=ether1-wan
add address=192.168.122.1/24 interface=ether2-lan
 
/interface eoip
add disabled=no local-address=10.129.3.7 name=MikroTik2 remote-address=10.126.2.3 tunnel-id=1
add disabled=no local-address=10.129.3.7 name=MikroTik3 remote-address=10.129.1.8 tunnel-id=2
add disabled=no local-address=10.129.3.7 name=MikroTik4 remote-address=10.125.20.2 tunnel-id=3
 
/interface bridge
add disabled=no name=bridge1
 
/interface bridge port
add bridge=bridge1 disabled=no interface=ether2-lan
add bridge=bridge1 disabled=no interface=Mikrotik2
add bridge=bridge1 disabled=no interface=Mikrotik3
add bridge=bridge1 disabled=no interface=Mikrotik4
 
/ip route
add dst-address=0.0.0.0/0 gateway=10.129.3.1
add dst-address=192.168.123.0/24 gateway=192.168.122.223
add dst-address=192.168.124.0/24 gateway=192.168.122.224
add dst-address=192.168.126.0/24 gateway=192.168.122.226
 
/ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=ether1-wan

MikroTik 2 – MikroTik EoIP and Bridge

/interface eoip
add disabled=no local-address=10.126.2.3 name=eoip-tunnel1 remote-address=10.129.3.7 tunnel-id=1
 
/ip address
add address=192.168.123.1/24 interface=ether2-master-local
add address=192.168.122.223/24 interface=eoip-tunnel1
add address=10.126.2.3/24 interface=ether1-gateway
 
/ip route
add dst-address=0.0.0.0/0 gateway=192.168.122.1
add dst-address=10.0.0.0/8 gateway=10.126.2.1

MikroTik 3 – MikroTik EoIP and Bridge

/interface eoip
add disabled=nolocal-address=10.129.1.8 name=eoip-tunnel1 remote-address=10.129.3.7 tunnel-id=2
 
/ip address
add address=192.168.126.1/24 interface=ether2-local-master
add address=192.168.122.226/24 interface=eoip-tunnel1
add address=10.129.1.8/24 interface=ether1-gateway
 
/ip route
add dst-address=0.0.0.0/0 gateway=192.168.122.1
add dst-address=10.0.0.0/8 gateway=10.129.1.1

MikroTik 4 – MikroTik EoIP and Bridge

/interface eoip
add disabled=no local-address=10.125.20.2 name=eoip-tunnel1 remote-address=10.129.3.7 tunnel-id=3
 
/ip address
add address=192.168.124.1/24 disabled=no interface=ether2-local-master
add address=192.168.122.224/24 disabled=no interface=eoip-tunnel1
add address=10.125.20.2/24 disabled=no interface=ether1-gateway
 
/ip route
add dst-address=0.0.0.0/0 gateway=192.168.122.1
add dst-address=10.0.0.0/8 gateway=10.125.20.1

вариант 3 – пълен бридж – MikroTik EoIP and Bridge

Разбира се има вариант и за пълен бридж тоест и от двете страни на тунела макар, че това в някаква степен е риск защото от една страна ще върви broadcast паразитен трафик а от друга в случай на проблем по трудно се диагностицира мрежата. Примери за това има много, някой без да иска е пуснал DHCP сървър или пък има ip conflict, дублиране на MAC адреси и други. Сами разбирате, че в такъв момент трябва да диагностицирате две мрежи които работят като една но физически не се намират на едно място което пък може да се превърне в кошмар. Въпреки всичко по някой път се налага затова ще изиграем един примерен сценарии.

MikroTik 1 – MikroTik EoIP and Bridge

/ip address
add address=10.129.3.7/24 interface=ether1-wan
add address=192.168.0.1/24 interface=ether2-lan
 
/interface eoip
add disabled=no local-address=10.129.3.7 name=MikroTik2 remote-address=10.126.2.3 tunnel-id=1
 
/interface bridge
add disabled=no name=bridge1
 
/interface bridge port
add bridge=bridge1 disabled=no interface=ether2-lan
add bridge=bridge1 disabled=no interface=Mikrotik2
 
/ip route
add dst-address=0.0.0.0/0 gateway=10.129.3.1
 
/ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=ether1-wan

MikroTik 2 – MikroTik EoIP and Bridge

/interface eoip
add disabled=no local-address=10.126.2.3 name=eoip-tunnel1 remote-address=10.129.3.7 tunnel-id=1
 
/interface bridge
add disabled=no name=bridge1
 
/interface bridge port
add bridge=bridge1 disabled=no interface=ether2-master-local
add bridge=bridge1 disabled=no interface=eoip-tunnel1
 
/ip address
add address=10.126.2.3/24 interface=ether1-gateway
add address=192.168.0.254/24 interface=ether2-master-local
 
/ip route
add dst-address=0.0.0.0/0 gateway=192.168.0.1
add dst-address=10.0.0.0/8 gateway=10.126.2.1

MikroTik EoIP and Bridge

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.