ΠœΡƒΠ»ΡŒΡ‚ΠΈΠ²Π°Π½ ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ Π½Π° Mikrotik RouterOS

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π’Π·ΡΡ‚ΡŒΡΡ Π·Π° ΡΡ‚Π°Ρ‚ΡŒΡŽ, ΠΏΠΎΠΌΠΈΠΌΠΎ тщСславия, ΠΏΠΎΠ±ΡƒΠ΄ΠΈΠ»Π° ΡƒΠ΄Ρ€ΡƒΡ‡Π°ΡŽΡ‰Π°Ρ частота возникновСния вопросов ΠΏΠΎ этой Ρ‚Π΅ΠΌΠ΅ Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏΠ°Ρ… русскоязычного Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ-сообщСства. Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π° Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… администраторов Mikrotik RouterOS (Π΄Π°Π»Π΅Π΅ ROS). Π’ Π½Π΅ΠΉ рассматриваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ²Π°Π½, с Π°ΠΊΡ†Π΅Π½Ρ‚ΠΎΠΌ Π½Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ. Бонусом ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ минимально достаточныС настройки для обСспСчСния бСзопасной ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’Π΅, ΠΊΡ‚ΠΎ ΠΈΡ‰Π΅Ρ‚ раскрытия Ρ‚Π΅ΠΌ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ, балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π²Π»Π°Π½ΠΎΠ², Π±Ρ€ΠΈΠ΄ΠΆΠ΅ΠΉ, многоступСнчатого Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° состояния ΠΊΠ°Π½Π°Π»Π° ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ β€” ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ сил Π½Π° ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅

Π’ качСствС ΠΏΠΎΠ΄ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠ³ΠΎ, Π²Ρ‹Π±Ρ€Π°Π½ пятипортовый ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€ Mikrotik с ROS вСрсии 6.45.3. Он Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ сСтями (LAN1 ΠΈ LAN2) ΠΈ трСмя ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°ΠΌΠΈ (ISP1, ISP2, ISP3). Канал ΠΊ ISP1 ΠΈΠΌΠ΅Π΅Ρ‚ статичСский β€œΡΠ΅Ρ€Ρ‹ΠΉβ€ адрСс, ISP2 β€” β€œΠ±Π΅Π»Ρ‹ΠΉβ€, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹ΠΉ ΠΏΠΎ DHCP, ISP3 β€” β€œΠ±Π΅Π»Ρ‹ΠΉβ€ с PPPoE Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Π‘Ρ…Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ прСдставлСна Π½Π° рисункС:

ΠœΡƒΠ»ΡŒΡ‚ΠΈΠ²Π°Π½ ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ Π½Π° Mikrotik RouterOS

Π—Π°Π΄Π°Ρ‡Π° Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€ΠΎΡƒΡ‚Π΅Ρ€ β€œΠœΠ’Πšβ€ Π½Π° основС схСмы Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹:

  1. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ автоматичСскоС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°. Основной ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ β€” ISP2, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π΅Π·Π΅Ρ€Π² β€” ISP1, Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ€Π΅Π·Π΅Ρ€Π² β€” ISP3.
  2. ΠžΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄ сСти LAN1 Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· ISP1.
  3. ΠŸΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтСй Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° Π½Π° основС address-list.
  4. ΠŸΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ сСрвисов ΠΈΠ· локальной сСти Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ (DSTNAT)
  5. ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Ρ„Π°ΠΉΠ΅Ρ€Π²ΠΎΠ»Π»Π° для обСспСчСния минимально достаточной бСзопасности со стороны Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚.
  6. Π ΠΎΡƒΡ‚Π΅Ρ€ ΠΌΠΎΠ³ Π²Ρ‹ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ собствСнный Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Ρ‡Π΅Ρ€Π΅Π· любого ΠΈΠ· Ρ‚Ρ€Π΅Ρ… ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² Π² зависимости ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ адрСса источника.
  7. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΎΡ‚Π²Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² ΠΊΠ°Π½Π°Π», с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΡˆΠ»ΠΈ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ LAN).

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ΠΠ°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Ρ€ΠΎΡƒΡ‚Π΅Ρ€ Π±ΡƒΠ΄Π΅ΠΌ β€œΡ чистого листа”, Π΄Π°Π±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ отсутствиС ΡΡŽΡ€ΠΏΡ€ΠΈΠ·ΠΎΠ² Π² ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΡ…ΡΡ ΠΎΡ‚ вСрсии ΠΊ вСрсии стартовых конфигурациях β€œΠΈΠ· коробки”. Π’ качСствС инструмСнта настройки Π²Ρ‹Π±Ρ€Π°Π½ Winbox, Π³Π΄Π΅ Π±ΡƒΠ΄ΡƒΡ‚ наглядно ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ измСнСния. Π‘Π°ΠΌΠΈ настройки Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Winbox. ЀизичСскоС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ для настройки осущСствляСтся прямым соСдинСниСм с интСрфСйсом Ether5.

НСмного рассуТдСний ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ²Π°Π½, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π»ΠΈ это ΠΈΠ»ΠΈ Ρ…ΠΈΡ‚Ρ€Ρ‹Π΅ ΡƒΠΌΠ½ΠΈΠΊΠΈ Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΏΠ»Π΅Ρ‚ΡƒΡ‚ сСти Π·Π°Π³ΠΎΠ²ΠΎΡ€ΠΎΠ²

ΠŸΡ‹Ρ‚Π»ΠΈΠ²Ρ‹ΠΉ ΠΈ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Π΄ΠΌΠΈΠ½, ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ настраивая Ρ‚Π°ΠΊΡƒΡŽ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ схСму, Π²Π΄Ρ€ΡƒΠ³ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ осознаСт, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ ΠΈ Ρ‚Π°ΠΊ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π”Π°-Π΄Π°, Π±Π΅Π· этих Π²Π°ΡˆΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… route rules, ΠΊΠΎΠΈΠΌΠΈ пСстрят Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ статСй Π½Π° эту Ρ‚Π΅ΠΌΡƒ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ?

ΠΠ΄Ρ€Π΅ΡΠ°Ρ†ΠΈΡŽ Π½Π° интСрфСйсах ΠΈ ΡˆΠ»ΡŽΠ·Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠΎΠΆΠ΅ΠΌ? Π”Π°:

На ISP1 прописали адрСс ΠΈ шлюз с distance=2 ΠΈ check-gateway=ping.
На ISP2 настройка dhcp ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ β€” соотвСтствСнно distance Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅.
На ISP3 Π² настройках pppoe ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΈ add-default-route=yes ставим default-route-distance=3.

NAT Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ:

/ip firewall nat add action=masquerade chain=srcnat out-interface-list=WAN

По ΠΈΡ‚ΠΎΠ³Ρƒ, Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π»ΠΎΠΊΠ°Π»ΠΎΠΊ ΠΊΠΎΡ‚ΠΈΠΊΠΈ вСсСло грузятся Ρ‡Π΅Ρ€Π΅Π· основного ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° ISP2 ΠΈ Π΅ΡΡ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°Π½Π°Π»Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° check gateway Π‘ΠΌ. ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ 1

ΠŸΡƒΠ½ΠΊΡ‚ 1 Π·Π°Π΄Π°Ρ‡ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½. Π“Π΄Π΅ ΠΆΠ΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ²Π°Π½ со своими ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ? НСт…

Π”Π°Π»ΡŒΡˆΠ΅. НуТно Π²Ρ‹ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ· LAN Ρ‡Π΅Ρ€Π΅Π· ISP1:

/ip firewall mangle add action=route chain=prerouting dst-address-list=!BOGONS
passthrough=yes route-dst=100.66.66.1 src-address-list=Via_ISP1
/ip firewall mangle add action=route chain=prerouting dst-address-list=!BOGONS
passthrough=no route-dst=100.66.66.1 src-address=192.168.88.0/24

ΠŸΡƒΠ½ΠΊΡ‚Ρ‹ 2 ΠΈ 3 Π·Π°Π΄Π°Ρ‡ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹. ΠœΠ΅Ρ‚ΠΊΠΈ, ΠΌΠ°Ρ€ΠΊΠΈ, route rules, Π³Π΄Π΅ Π²Ρ‹?!

НуТно Π΄Π°Ρ‚ΡŒ доступ ΠΊ Π»ΡŽΠ±ΠΈΠΌΠΎΠΌΡƒ OpenVPN сСрвСру с адрСсом 172.17.17.17 для ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚? ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°:

/ip cloud set ddns-enabled=yes

ΠšΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ Π² качСствС ΠΏΠΈΡ€Π° Π΄Π°Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π°: β€œ:put [ip cloud get dns-name]”

ΠŸΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌ проброс ΠΏΠΎΡ€Ρ‚Π° ΠΈΠ· ΠΈΠ½Π΅Ρ‚Π°:

/ip firewall nat add action=dst-nat chain=dstnat dst-port=1194
in-interface-list=WAN protocol=udp to-addresses=172.17.17.17

ΠŸΡƒΠ½ΠΊΡ‚ 4 Π³ΠΎΡ‚ΠΎΠ².

НастраиваСм Ρ„Π°Π΅Ρ€Π²ΠΎΠ» ΠΈ ΠΏΡ€ΠΎΡ‡ΡƒΡŽ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ для ΠΏΡƒΠ½ΠΊΡ‚Π° 5, ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ радуСмся Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΡƒΠΆΠ΅ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ тянСмся ΠΊ Смкости с Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΌ напитком…
А! Π’ΡƒΠ½Π½Π΅Π»ΠΈ ΠΆΠ΅ Π΅Ρ‰Π΅ Π·Π°Π±Ρ‹Π»ΠΈ.

l2tp-ΠΊΠ»ΠΈΠ΅Π½Ρ‚, настроСнный ΠΏΠΎ Π½Π°Π³ΡƒΠ³Π»Π΅Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅, Π΄ΠΎ любимого голландского VDS поднялся? Π”Π°.
l2tp-сСрвСр с IPsec поднялся ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎ ДНБ-ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ· IP Cloud(см Π²Ρ‹ΡˆΠ΅.) Ρ†Π΅ΠΏΠ»ΡΡŽΡ‚ΡΡ? Π”Π°.
ΠžΡ‚ΠΊΠΈΠ½ΡƒΠ²ΡˆΠΈΡΡŒ Π½Π° спинку стула, прихлСбывая Π½Π°ΠΏΠΈΡ‚ΠΎΠΊ, Π»Π΅Π½ΠΈΠ²ΠΎ рассматриваСм ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ 6 ΠΈ 7 Π·Π°Π΄Π°Ρ‡ΠΈ. Π”ΡƒΠΌΠ°Π΅ΠΌ β€” Π° ΠΎΠ½ΠΎ Π½Π°ΠΌ Π½Π°Π΄ΠΎ? ВсС ΠΆ ΠΈ Ρ‚Π°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ (с)… Π’Π°ΠΊ Π²ΠΎΡ‚ Ссли ΠΎΠ½ΠΎ Ρ‚Π°ΠΊΠΈ Π½Π΅ Π½Π°Π΄ΠΎ, Ρ‚ΠΎ Π½Π° этом всС. ΠœΡƒΠ»ΡŒΡ‚ΠΈΠ²Π°Π½ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ²Π°Π½? Π­Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠ°Π½Π°Π»ΠΎΠ² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ Ρ€ΠΎΡƒΡ‚Π΅Ρ€Ρƒ.

Π”Π°Π»ΡŒΡˆΠ΅ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ ΠΊΡ€ΠΎΠΌΠ΅ Π²Ρ‹ΠΏΠ΅Π½Π΄Ρ€Π΅ΠΆΠ° ΡΠΎΠΌΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ примСнимости ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ?

Π‘ Ρ‚Π΅ΠΌΠΈ, ΠΊΡ‚ΠΎ остался, ΠΊΡ‚ΠΎ заинтСрСсован ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ 6 ΠΈ 7 Π·Π°Π΄Π°Ρ‡ΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‰ΡƒΡ‰Π°Π΅Ρ‚ Π·ΡƒΠ΄ ΠΏΠ΅Ρ€Ρ„Π΅ΠΊΡ†ΠΈΠΎΠ½ΠΈΠ·ΠΌΠ°, погруТаСмся Π³Π»ΡƒΠ±ΠΆΠ΅.

Π’Π°ΠΆΠ½Π΅ΠΉΡˆΠ΅ΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ²Π°Π½ являСтся коррСктная ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. А ΠΈΠΌΠ΅Π½Π½ΠΎ: нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΉ (ΠΈΠ»ΠΈ Π² ΠΊΠ°ΠΊΠΈΠ΅)Π‘ΠΌ. ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ 3 ΠΊΠ°Π½Π°Π»(Ρ‹) ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° смотрит ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π° нашСм Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π΅, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Ρ‚ΠΎΡ‚ ΠΊΠ°Π½Π°Π», с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΡ€ΠΈΡˆΠ΅Π». Π—Π°Π΄Π°Ρ‡Π° понятна. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°-Ρ‚ΠΎ Π³Π΄Π΅? Π’Π΅Π΄ΡŒ Π² простой локальной сСти Π·Π°Π΄Π°Ρ‡Π° Ρ‚Π° ΠΆΠ΅, Π½ΠΎ Π½ΠΈΠΊΡ‚ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ настройками Π½Π΅ заморачиваСтся ΠΈ Π±Π΅Π΄Ρ‹ Π½Π΅ ΠΎΡ‰ΡƒΡ‰Π°Π΅Ρ‚. ΠžΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ любой ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΡƒΠ·Π΅Π» Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ доступСн Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½Π°ΡˆΠΈΡ… ΠΊΠ°Π½Π°Π»ΠΎΠ², Π° Π½Π΅ Ρ‡Π΅Ρ€Π΅Π· строго ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ, ΠΊΠ°ΠΊ Π² простой Π»ΠΎΠΊΠ°Π»ΠΊΠ΅. А β€œΠ±Π΅Π΄Π°β€ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ссли ΠΊ Π½Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ΅Π» запрос Π½Π° IP адрСс ISP3, Ρ‚ΠΎ Π² нашСм случаС ΠΎΡ‚Π²Π΅Ρ‚ ΡƒΠΉΠ΄Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°Π½Π°Π» ISP2, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚ΡƒΠ΄Π° Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ шлюз ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π£ΠΉΠ΄Π΅Ρ‚ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π±Ρ€ΠΎΡˆΠ΅Π½ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠΌ, ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ. Π‘ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈΡΡŒ. Как Π΅Π΅ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ?

РСшСниС Ρ€Π°Π·Π΄Π΅Π»ΠΈΠΌ Π½Π° Ρ‚Ρ€ΠΈ этапа:

  1. ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ настройка. На этом этапС Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π΄Π°Π½Ρ‹ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ настройки ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°: локальная ΡΠ΅Ρ‚ΡŒ, Ρ„Π°Π΅Ρ€Π²ΠΎΠ», address lists, hairpin NAT ΠΈ ΠΏΡ€.
  2. ΠœΡƒΠ»ΡŒΡ‚ΠΈΠ²Π°Π½. На этом этапС Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΈ рассортированы ΠΏΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½ΡƒΠΆΠ½Ρ‹Π΅ соСдинСния.
  3. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ ISP. На этом этапС Π±ΡƒΠ΄ΡƒΡ‚ настроСны интСрфСйсы, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, задСйствована ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ рСзСрвирования ΠΊΠ°Π½Π°Π»ΠΎΠ² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚.

1. ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ настройка

1.1. ΠžΡ‡ΠΈΡ‰Π°Π΅ΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

/system reset-configuration skip-backup=yes no-defaults=yes

соглашаСмся с β€œDangerous! Reset anyway? [y/N]:” ΠΈ, послС ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ Winbox-ΠΎΠΌ ΠΏΠΎ MAC. На Π΄Π°Π½Π½ΠΎΠΌ этапС конфигурация ΠΈ Π±Π°Π·Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎΡ‡ΠΈΡ‰Π΅Π½Ρ‹.

1.2. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ:

/user add group=full name=knight password=ultrasecret comment=”Not horse”

логинимся ΠΏΠΎΠ΄ Π½ΠΈΠΌ ΠΈ удаляСм Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΠΎΠ³ΠΎ:

/user remove admin

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ИмСнно ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π° Π½Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π°Π²Ρ‚ΠΎΡ€ считаСт Π±ΠΎΠ»Π΅Π΅ бСзопасным ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ.

1.3. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ interface lists для удобства опСрирования Π² Ρ„Π°ΠΉΠ΅Ρ€Π²ΠΎΠ»Π»Π΅, настройках discovery ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… MAC сСрвСрах:

/interface list add name=WAN comment="For Internet"
/interface list add name=LAN comment="For Local Area"

ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌ коммСнтариями интСрфСйсы

/interface ethernet set ether1 comment="to ISP1"
/interface ethernet set ether2 comment="to ISP2"
/interface ethernet set ether3 comment="to ISP3"
/interface ethernet set ether4 comment="to LAN1"
/interface ethernet set ether5 comment="to LAN2"

и заполняСм interface lists:

/interface list member add interface=ether1 list=WAN comment=ISP1
/interface list member add interface=ether2 list=WAN comment=ISP2 
/interface list member add interface=ether3 list=WAN comment="to ISP3"
/interface list member add interface=ether4 list=LAN  comment="LAN1"
/interface list member add interface=ether5 list=LAN  comment="LAN2"

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ΠŸΠΈΡΠ°Ρ‚ΡŒ понятныС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ стоит ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° это Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ плюс сильно ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Ρ‚Ρ€Π°Π±Π»ΡˆΡƒΡ‚ΠΈΠ½Π³ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Автор считаСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ, Π² цСлях бСзопасности, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² interface list β€œWAN” интСрфСйс ether3, Π½Π΅ смотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎ Π½Π΅ΠΌΡƒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ip.

НС Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π½Π° ether3 Π±ΡƒΠ΄Π΅Ρ‚ поднят интСрфСйс PPP, Π΅Π³ΠΎ Ρ‚ΠΎΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² interface list β€œWAN”

1.4. Π‘ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ€ΠΎΡƒΡ‚Π΅Ρ€ ΠΎΡ‚ обнаруТСния сосСдства ΠΈ управлСния ΠΈΠ· сСтСй ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² ΠΏΠΎ МАБ:

/ip neighbor discovery-settings set discover-interface-list=!WAN
/tool mac-server set allowed-interface-list=LAN
/tool mac-server mac-winbox set allowed-interface-list=LAN

1.5. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ минимально достаточный Π½Π°Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ» Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Ρ„Π°ΠΉΡ€Π²ΠΎΠ»Π»Π° для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π°:

/ip firewall filter add action=accept chain=input comment="Related Established Untracked Allow" 
connection-state=established,related,untracked

(ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ обСспСчиваСт Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ²ΡˆΠΈΡ…ΡΡ ΠΈ родствСнных соСдинСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΊΠ°ΠΊ ΠΈΠ· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… сСтСй, Ρ‚Π°ΠΊ ΠΈ самим Ρ€ΠΎΡƒΡ‚Π΅Ρ€ΠΎΠΌ)

/ip firewall filter add action=accept chain=input comment="ICMP from ALL" protocol=icmp

(ΠΏΠΈΠ½Π³ ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΈΠ½Π³. Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ вСсь icmp Π½Π° Π²Ρ…ΠΎΠ΄. Π’Π΅ΡΡŒΠΌΠ° ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для нахоТдСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с MTU)

/ip firewall filter add action=drop chain=input comment="All other WAN Drop" in-interface-list=WAN

(Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ input ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»Π΅Ρ‚Π°Π΅Ρ‚ ΠΈΠ· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚)

/ip firewall filter add action=accept chain=forward 
comment="Established, Related, Untracked allow" 
connection-state=established,related,untracked

(ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ²ΡˆΠΈΠ΅ΡΡ ΠΈ родствСнныС соСдинСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ проходят сквозь Ρ€ΠΎΡƒΡ‚Π΅Ρ€)

/ip firewall filter add action=drop chain=forward comment="Invalid drop" connection-state=invalid

(ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ сбрасываСт соСдинСния, с connection-state=invalid, проходящиС сквозь Ρ€ΠΎΡƒΡ‚Π΅Ρ€. Оно Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ Mikrotik, Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π΅Π΄ΠΊΠΈΡ… ситуациях ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°)

/ip firewall filter add action=drop chain=forward comment="Drop all from WAN not DSTNATed"  
connection-nat-state=!dstnat connection-state=new in-interface-list=WAN

(ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ сквозь Ρ€ΠΎΡƒΡ‚Π΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ΄ΡƒΡ‚ ΠΈΠ· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΈ Π½Π΅ ΠΏΡ€ΠΎΡˆΠ»ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ dstnat. Π­Ρ‚ΠΎ ΡƒΠ±Π΅Ρ€Π΅ΠΆΠ΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ сСти ΠΎΡ‚ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, Π½Π°Ρ…ΠΎΠ΄ΡΡΡŒ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ²Π΅Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ Π΄ΠΎΠΌΠ΅Π½Π΅ с нашими внСшними сСтями, ΠΏΡ€ΠΎΠΏΠΈΡˆΡƒΡ‚ Π² качСствС шлюза наши внСшниС IP ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ β€œΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒβ€ наши Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ сСти. )

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ΠŸΡ€ΠΈΠΌΠ΅ΠΌ Π·Π° условиС, Ρ‡Ρ‚ΠΎ сСти LAN1 ΠΈ LAN2 ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΈ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ΠΈ с Π½ΠΈΡ… Π½Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ΡΡ.

1.6. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ список с ΠΏΠ΅Ρ€Π΅Ρ‡Π½Π΅ΠΌ Π½Π΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… сСтСй:

/ip firewall address-list
add address=0.0.0.0/8 comment=""This" Network" list=BOGONS
add address=10.0.0.0/8 comment="Private-Use Networks" list=BOGONS
add address=100.64.0.0/10 comment="Shared Address Space. RFC 6598" list=BOGONS
add address=127.0.0.0/8 comment=Loopback list=BOGONS
add address=169.254.0.0/16 comment="Link Local" list=BOGONS
add address=172.16.0.0/12 comment="Private-Use Networks" list=BOGONS
add address=192.0.0.0/24 comment="IETF Protocol Assignments" list=BOGONS
add address=192.0.2.0/24 comment=TEST-NET-1 list=BOGONS
add address=192.168.0.0/16 comment="Private-Use Networks" list=BOGONS
add address=198.18.0.0/15 comment="Network Interconnect Device Benchmark Testing"
 list=BOGONS
add address=198.51.100.0/24 comment=TEST-NET-2 list=BOGONS
add address=203.0.113.0/24 comment=TEST-NET-3 list=BOGONS
add address=224.0.0.0/4 comment=Multicast list=BOGONS
add address=192.88.99.0/24 comment="6to4 Relay Anycast" list=BOGONS
add address=240.0.0.0/4 comment="Reserved for Future Use" list=BOGONS
add address=255.255.255.255 comment="Limited Broadcast" list=BOGONS

(Π­Ρ‚ΠΎ список адрСсов ΠΈ сСтСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΈ, соотвСтствСнно, ΠΌΡ‹ Ρ‚ΠΎΠΆΠ΅ Π±ΡƒΠ΄Π΅ΠΌ этому ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ. )

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Бписок ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ, поэтому ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ пСриодичСски ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

1.7. НастраиваСм DNS для самого Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π°:

/ip dns set servers=1.1.1.1,8.8.8.8

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π’ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсии ROS динамичСскиС сСрвСры ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ статичСски Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Запрос Π½Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ отсылаСтся ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ сСрвСру ΠΏΠΎ порядку слСдования Π² спискС. На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ сСрвСр ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ осущСствляСтся ΠΏΡ€ΠΈ нСдоступности Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ. Π’Π°ΠΉΠΌΠ°ΡƒΡ‚ большой β€” Π±ΠΎΠ»Π΅Π΅ 5 сСк. Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, ΠΏΡ€ΠΈ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ β€œΡƒΠΏΠ°Π²ΡˆΠ΅Π³ΠΎ сСрвСра”, автоматичСски Π½Π΅ происходит. Π‘ ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ этого Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈ наличия ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ²Π°Π½Π°, Π°Π²Ρ‚ΠΎΡ€ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сСрвСры, Π²Ρ‹Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°ΠΌΠΈ.

1.8. НастраиваСм Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ.
1.8.1. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌ статичСскиС IP адрСса Π½Π° интСрфСйсах Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтСй:

/ip address add interface=ether4 address=192.168.88.254/24 comment="LAN1 IP"
/ip address add interface=ether5 address=172.16.1.0/23 comment="LAN2 IP"

1.8.2. Π—Π°Π΄Π°Π΅ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ² ΠΊ нашим Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ сСтям Ρ‡Π΅Ρ€Π΅Π· Π³Π»Π°Π²Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ:

/ip route rule add dst-address=192.168.88.0/24 table=main comment=”to LAN1”
/ip route rule add dst-address=172.16.0.0/23 table=main comment="to LAN2"

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π­Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· простых ΠΈ быстрых способов ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ адрСсам Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтСй с соурсами Π²Π½Π΅ΡˆΠ½ΠΈΡ… IP адрСсов интСрфСйсов Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π°, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠ΄Π΅Ρ‚ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

1.8.3. Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Hairpin NAT для LAN1 ΠΈ LAN2:

/ip firewall nat add action=src-nat chain=srcnat comment="Hairpin to LAN1" 
out-interface=ether4 src-address=192.168.88.0/24 to-addresses=192.168.88.254
/ip firewall nat add action=src-nat chain=srcnat comment="Hairpin to LAN2" 
out-interface=ether5 src-address=172.16.0.0/23 to-addresses=172.16.1.0

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π­Ρ‚ΠΎ позволяСт ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ Ρ‡Π΅Ρ€Π΅Π· внСшний IP Π½Π° свои рСсурсы (dstnat), Π½Π°Ρ…ΠΎΠ΄ΡΡΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ сСти.

2. БобствСнно, рСализация Ρ‚ΠΎΠ³ΠΎ самого ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ²Π°Π½

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ β€œΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Ρ‚ΡƒΠ΄Π° ΠΎΡ‚ΠΊΡƒΠ΄Π° спросили” Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π° инструмСнта ROS: connection mark ΠΈ routing mark. Connection mark позволяСт ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎΠ΅ соСдинСниС ΠΈ Π² дальнСйшСм Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с этой ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ, ΠΊΠ°ΠΊ условиСм для примСнСния routing mark. А ΡƒΠΆΠ΅ с routing mark Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ip route ΠΈ route rules. Π‘ инструмСнтами Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΡƒΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ соСдинСния ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ β€” Ρ€Π°Π·, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ β€” Π΄Π²Π°.

Π‘ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ всС просто β€” ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ всС соСдинСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приходят Π½Π° Ρ€ΠΎΡƒΡ‚Π΅Ρ€ ΠΈΠ· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΏΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΊΠ°Π½Π°Π»Ρƒ. Π’ нашСм случаС это Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚Ρ€ΠΈ ΠΌΠ΅Ρ‚ΠΊΠΈ (ΠΏΠΎ количСству ΠΊΠ°Π½Π°Π»ΠΎΠ²): β€œconn_isp1”, β€œconn_isp2” ΠΈ β€œconn_isp3”.

Нюанс со Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ входящиС соСдинСния Π±ΡƒΠ΄ΡƒΡ‚ Π΄Π²ΡƒΡ… Π²ΠΈΠ΄ΠΎΠ²: Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚Π½Ρ‹Π΅ ΠΈ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ самому Ρ€ΠΎΡƒΡ‚Π΅Ρ€Ρƒ. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ connection mark Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ mangle. Рассмотрим Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π° ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅, любСзно собранной спСциалистами рСсурса mikrotik-trainings.com (Π½Π΅ Ρ€Π΅ΠΊΠ»Π°ΠΌΠ°):

ΠœΡƒΠ»ΡŒΡ‚ΠΈΠ²Π°Π½ ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ Π½Π° Mikrotik RouterOS

БлСдуя ΠΏΠΎ стрСлкам, ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚, приходящий Π² β€œinput interface”, ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ β€œPrerouting” ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ раздСляСтся Π½Π° Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚Π½Ρ‹ΠΉ ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π² Π±Π»ΠΎΠΊΠ΅ β€œRouting Decision”. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, для убиСния Π΄Π²ΡƒΡ… Π·Π°ΠΉΡ†Π΅Π², задСйствуСм Connection Mark Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Mangle Prerouting Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ Prerouting.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π’ ROS ΠΌΠ΅Ρ‚ΠΊΠΈ β€œRouting mark” ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Ip/Routes/Rules ΠΊΠ°ΠΊ β€œTable”, Π° Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ…, ΠΊΠ°ΠΊ β€œRouting Mark”. Π‘ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ внСсти Π½Π΅ΠΊΡƒΡŽ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρƒ Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π½ΠΎ, ΠΏΠΎ сути, это ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅, ΠΈ являСтся Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ rt_tables Π² iproute2 Π½Π° linux.

2.1. ΠœΠ΅Ρ‚ΠΈΠΌ входящиС соСдинСния ΠΎΡ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ²:

/ip firewall mangle add action=mark-connection chain=prerouting 
comment="Connmark in from ISP1" connection-mark=no-mark in-interface=ether1  new-connection-mark=conn_isp1 passthrough=no

/ip firewall mangle add action=mark-connection chain=prerouting 
comment="Connmark in from ISP2" connection-mark=no-mark in-interface=ether2  new-connection-mark=conn_isp2 passthrough=no

/ip firewall mangle add action=mark-connection chain=prerouting 
comment="Connmark in from ISP3" connection-mark=no-mark in-interface=pppoe-isp3  new-connection-mark=conn_isp3 passthrough=no

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΡƒΠΆΠ΅ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ соСдинСния я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ условиС connection-mark=no-mark вмСсто connection-state=new ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΡΡ‡ΠΈΡ‚Π°ΡŽ это Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ, ΠΊΠ°ΠΊ ΠΈ ΠΎΡ‚ΠΊΠ°Π· ΠΎΡ‚ drop invalid соСдинСний Π² Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π΅ input.

passthrough=no β€” ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π² этом способС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΈ для ускорСния ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ» послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΆΠ΅ совпадСния.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠΎΠΊΠ° Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ вмСшиваСмся Π² ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ. БСйчас ΠΈΠ΄ΡƒΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ этапы ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ этапом Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚Π½ΠΎΠ³ΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ возвращаСтся ΠΏΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ²ΡˆΠ΅ΠΌΡƒΡΡ соСдинСнию ΠΎΡ‚ адрСсата Π² локальной сСти. Π’.Π΅. Ρ‚Π΅Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ (см Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ) ΠΏΡ€ΠΎΡˆΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· Ρ€ΠΎΡƒΡ‚Π΅Ρ€ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ:

β€œInput Interface”=>”Prerouting”=>”Routing Decision”=>”Forward”=>”Post Routing”=>”Output Interface” ΠΈ ΠΏΠΎΠΏΠ°Π»ΠΈ ΠΊ своСму адрСсату Π² локальной сСти.

Π’Π°ΠΆΠ½ΠΎ! Π’ ROS Π½Π΅Ρ‚ логичСского дСлСния Π½Π° внСшний ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ интСрфСйсы. Если ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΡŒ двиТСния ΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΏΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅, Ρ‚ΠΎ ΠΎΠ½ ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚ ΠΏΠΎ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ логичСскому ΠΏΡƒΡ‚ΠΈ, Ρ‡Ρ‚ΠΎ ΠΈ запрос:

β€œInput Interface”=>”Prerouting”=>”Routing Decision”=>”Forward”=>”Post Routing”=>”Output Interface” просто для запроса β€œInput Interface” Π±Ρ‹Π» интСрфСйс ISP, Π° для ΠΎΡ‚Π²Π΅Ρ‚Π° β€” LAN

2.2. НаправляСм ΠΎΡ‚Π²Π΅Ρ‚Π½Ρ‹ΠΉ Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚Π½Ρ‹ΠΉ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΏΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ:

/ip firewall mangle add action=mark-routing chain=prerouting 
comment="Routemark transit out via ISP1" connection-mark=conn_isp1 
dst-address-type=!local in-interface-list=!WAN new-routing-mark=to_isp1 passthrough=no

/ip firewall mangle add action=mark-routing chain=prerouting 
comment="Routemark transit out via ISP2" connection-mark=conn_isp2 
dst-address-type=!local in-interface-list=!WAN new-routing-mark=to_isp2 passthrough=no

/ip firewall mangle add action=mark-routing chain=prerouting 
comment="Routemark transit out via ISP3" connection-mark=conn_isp3 
dst-address-type=!local in-interface-list=!WAN new-routing-mark=to_isp3 passthrough=no

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. in-interface-list=!WAN β€” ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ ΠΈΠ· локальной сСти ΠΈ dst-address-type=!local Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌ адрСс назначСния адрСса интСрфСйсов самого Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π°.

Π’ΠΎ ΠΆΠ΅ самоС для Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΈ Π½Π° Ρ€ΠΎΡƒΡ‚Π΅Ρ€ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ:

β€œInput Interface”=>”Prerouting”=>”Routing Decision”=>”Input”=>”Local Process”

Π’Π°ΠΆΠ½ΠΎ! ΠžΡ‚Π²Π΅Ρ‚ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΏΡƒΡ‚ΠΈ:

”Local Process”=>”Routing Decision”=>”Output”=>”Post Routing”=>”Output Interface”

2.3. НаправляСм ΠΎΡ‚Π²Π΅Ρ‚Π½Ρ‹ΠΉ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΏΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ:

/ip firewall mangle add action=mark-routing chain=output 
comment="Routemark local out via ISP1" connection-mark=conn_isp1 dst-address-type=!local 
new-routing-mark=to_isp1 passthrough=no

/ip firewall mangle add action=mark-routing chain=output 
comment="Routemark local out via ISP2" connection-mark=conn_isp2 dst-address-type=!local 
new-routing-mark=to_isp2 passthrough=no

/ip firewall mangle add action=mark-routing chain=output 
comment="Routemark local out via ISP3" connection-mark=conn_isp3 dst-address-type=!local 
new-routing-mark=to_isp3 passthrough=no

На этом этапС Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΊ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Π° Π² Ρ‚ΠΎΡ‚ ΠΊΠ°Π½Π°Π» Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΡˆΠ΅Π» запрос ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½Π½ΠΎΠΉ. ВсС ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½ΠΎ, ΠΏΡ€ΠΎΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ.
ΠžΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ β€œΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΌβ€ эффСктом Ρ‚Π°ΠΊΠΎΠΉ настройки являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ проброса ΠΏΠΎΡ€Ρ‚ΠΎΠ² DSNAT с ΠΎΠ±ΠΎΠΈΡ… (ISP2, ISP3) ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. НС Π½Π° всСх, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π° ISP1 Ρƒ нас Π½Π΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ адрСс. Π­Ρ‚ΠΎΡ‚ эффСкт Π²Π°ΠΆΠ΅Π½, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ сСрвСра с двумя MΠ₯, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ смотрят Π² Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠ°Π½Π°Π»Ρ‹ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚.

Для устранСния нюансов Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтСй с внСшними IP Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈΠ· ΠΏΠΏ. 1.8.2 ΠΈ 3.1.2.6.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ инструмСнт с ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ ΠΈ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡƒΠ½ΠΊΡ‚Π° 3 Π·Π°Π΄Π°Ρ‡ΠΈ. Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ Ρ‚Π°ΠΊ:

2.4. НаправляСм Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΎΡ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ· списков ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹:

/ip firewall mangle add action=mark-routing chain=prerouting 
comment="Address List via ISP1" dst-address-list=!BOGONS new-routing-mark=to_isp1 
passthrough=no src-address-list=Via_ISP1

/ip firewall mangle add action=mark-routing chain=prerouting 
comment="Address List via ISP2" dst-address-list=!BOGONS new-routing-mark=to_isp2 
passthrough=no src-address-list=Via_ISP2

/ip firewall mangle add action=mark-routing chain=prerouting 
comment="Address List via ISP3" dst-address-list=!BOGONS new-routing-mark=to_isp3 
passthrough=no src-address-list=Via_ISP3

По ΠΈΡ‚ΠΎΠ³Ρƒ, это выглядит ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊ:

ΠœΡƒΠ»ΡŒΡ‚ΠΈΠ²Π°Π½ ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ Π½Π° Mikrotik RouterOS

3. НастраиваСм ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ ISP ΠΈ задСйствуСм ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΌΠ°Ρ€ΠΊΠ°ΠΌ

3.1. НастраиваСм ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ ISP1:
3.1.1. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌ статичСский IP адрСс:

/ip address add interface=ether1 address=100.66.66.2/30 comment="ISP1 IP"

3.1.2. НастраиваСм ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ:
3.1.2.1. ДобавляСм β€œΠ°Π²Π°Ρ€ΠΈΠΉΠ½Ρ‹ΠΉβ€ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

/ip route add comment="Emergency route" distance=254 type=blackhole

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π­Ρ‚ΠΎΡ‚ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ позволяСт Ρ‚Ρ€Π°Ρ„ΠΈΠΊΡƒ ΠΎΡ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… процСссов ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ этап Route Decision нСзависимо ΠΎΡ‚ состояния ΠΊΠ°Π½Π°Π»ΠΎΠ² любого ΠΈΠ· ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ². Нюанс исходящСго локального Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚ Ρ…ΠΎΡ‚ΡŒ ΠΊΡƒΠ΄Π°-Ρ‚ΠΎ двинулся, Π² основной Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ Π΄ΠΎ шлюза ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Если Π΅Π³ΠΎ Π½Π΅Ρ‚, Ρ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ просто Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½.

Π’ качСствС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ инструмСнта check gateway для Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° состояния ΠΊΠ°Π½Π°Π»Π° ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ рСкурсивных ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ². Π‘ΡƒΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρƒ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ своСму ΡˆΠ»ΡŽΠ·Ρƒ Π½Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π° Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ шлюз. Π’ качСствС Ρ‚Π°ΠΊΠΈΡ… β€œΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΡ‡Π½Ρ‹Ρ…β€ шлюзов Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ 4.2.2.1, 4.2.2.2 ΠΈ 4.2.2.3 соотвСтствСнно для ISP1, ISP2 ΠΈ ISP3.

3.1.2.2. ΠœΠ°Ρ€ΡˆΡ€ΡƒΡ‚ Π΄ΠΎ β€œΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΡ‡Π½ΠΎΠ³ΠΎβ€ адрСса:

/ip route add check-gateway=ping comment="For recursion via ISP1"  
distance=1 dst-address=4.2.2.1 gateway=100.66.66.1 scope=10

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ scope ΠΏΠΎΠ½ΠΈΠΆΠ°Π΅ΠΌ Π΄ΠΎ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΠΎΠ³ΠΎ Π² ROS target scope, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² дальнСйшСм 4.2.2.1 Π² качСствС рСкурсивного шлюза. ΠŸΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°ΡŽ: scope ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π° Π΄ΠΎ β€œΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΡ‡Π½ΠΎΠ³ΠΎβ€ адрСса Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ target scope Ρ‚ΠΎΠ³ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΡ‡Π½Ρ‹ΠΉ.

3.1.2.3. РСкурсивный ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π±Π΅Π· routing mark:

/ip route add comment="Unmarked via ISP1" distance=2 gateway=4.2.2.1

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ distance=2 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ISP1 ΠΏΠΎ условиям Π·Π°Π΄Π°Ρ‡ΠΈ заявлСн ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹ΠΉ.

3.1.2.4. РСкурсивный ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° c routing mark β€œto_isp1”:

/ip route add comment="Marked via ISP1 Main" distance=1 gateway=4.2.2.1 
routing-mark=to_isp1

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. БобствСнно, здСсь ΠΌΡ‹ Π½Π°ΠΊΠΎΠ½Π΅Ρ†-Ρ‚ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠ»ΠΎΠ΄Π°ΠΌΠΈ Ρ‚ΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ 2.

По этому ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρƒ вСсь Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ mark route β€œto_isp1”, Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ Π½Π° шлюз ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° Π½Π΅ зависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ шлюз ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ main.

3.1.2.5. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹ΠΉ рСкурсивный ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² ISP2 ΠΈ ISP3:

/ip route add comment="Marked via ISP2 Backup1" distance=2 gateway=4.2.2.1 
routing-mark=to_isp2
/ip route add comment="Marked via ISP3 Backup1" distance=2 gateway=4.2.2.1 
routing-mark=to_isp3

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π­Ρ‚ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹ Π½ΡƒΠΆΠ½Ρ‹, Π² Ρ‚ΠΎΠΌ числС, для рСзСрвирования Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ состоят Ρ‡Π»Π΅Π½Π°ΠΌΠΈ address list β€œto_isp*”’

3.1.2.6. ΠŸΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ для локального Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π° Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· ISP1:

/ip route rule add comment="From ISP1 IP to Inet" src-address=100.66.66.2 table=to_isp1

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π’ сочСтании с ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ ΠΈΠ· ΠΏΡƒΠ½ΠΊΡ‚Π° 1.8.2, обСспСчиваСтся Π²Ρ‹Ρ…ΠΎΠ΄ Π² Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π» с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ соурсом. Π­Ρ‚ΠΎ являСтся ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΌ для построСния Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… задаСтся IP-адрСс локальной стороны(EoIP, IP-IP, GRE). ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π² ip route rules Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ свСрху Π²Π½ΠΈΠ·, Π΄ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ совпадСния условий, Ρ‚ΠΎ Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ послС ΠΏΡ€Π°Π²ΠΈΠ» ΠΈΠ· ΠΏΡƒΠ½ΠΊΡ‚Π° 1.8.2.

3.1.3. ΠŸΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ NAT для исходящСго Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°:

/ip firewall nat add action=src-nat chain=srcnat comment="NAT via ISP1"  
ipsec-policy=out,none out-interface=ether1 to-addresses=100.66.66.2

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. NATΠΈΠΌ всС выходящСС, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ IPsec. Π― ΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ action=masquerade Π±Π΅Π· ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ нСобходимости. Оно Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ рСсурсоСмко, Ρ‡Π΅ΠΌ src-nat, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ соСдинСния вычисляСт адрСс для NAT.

3.1.4. ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ· списка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ Π²Ρ‹Ρ…ΠΎΠ΄ Ρ‡Π΅Ρ€Π΅Π· ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² сразу Π½Π° шлюз ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° ISP1.

/ip firewall mangle add action=route chain=prerouting comment="Address List via ISP1 only" 
dst-address-list=!BOGONS passthrough=no route-dst=100.66.66.1 
src-address-list=Via_only_ISP1 place-before=0

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. action=route ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ высокий ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΈ примСняСтся Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ» ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ.

place-before=0 β€” ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ нашС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π² спискС.

3.2. НастраиваСм ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ ISP2.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ ISP2 настройки Π½Π°ΠΌ Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΏΠΎ DHCP, Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ измСнСния Π΄Π΅Π»Π°Ρ‚ΡŒ скриптом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ стартуСт ΠΏΡ€ΠΈ срабатывании DHCP ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°:

/ip dhcp-client
add add-default-route=no disabled=no interface=ether2 script=":if ($bound=1) do={r
    n    /ip route add check-gateway=ping comment="For recursion via ISP2" distance=1 
           dst-address=4.2.2.2/32 gateway=$"gateway-address" scope=10r
    n    /ip route add comment="Unmarked via ISP2" distance=1 gateway=4.2.2.2;r
    n    /ip route add comment="Marked via ISP2 Main" distance=1 gateway=4.2.2.2 
           routing-mark=to_isp2;r
    n    /ip route add comment="Marked via ISP1 Backup1" distance=2 gateway=4.2.2.2 
           routing-mark=to_isp1;r
    n    /ip route add comment="Marked via ISP3 Backup2" distance=3 gateway=4.2.2.2 
           routing-mark=to_isp3;r
    n    /ip firewall nat add action=src-nat chain=srcnat ipsec-policy=out,none 
           out-interface=$"interface" to-addresses=$"lease-address" comment="NAT via ISP2" 
           place-before=1;r
    n    if ([/ip route rule find comment="From ISP2 IP to Inet"] ="") do={r
    n        /ip route rule add comment="From ISP2 IP to Inet" 
               src-address=$"lease-address" table=to_isp2 r
    n    } else={r
    n       /ip route rule set [find comment="From ISP2 IP to Inet"] disabled=no 
              src-address=$"lease-address"r
    n    }      r
    n} else={r
    n   /ip firewall nat remove  [find comment="NAT via ISP2"];r
    n   /ip route remove [find comment="For recursion via ISP2"];r
    n   /ip route remove [find comment="Unmarked via ISP2"];r
    n   /ip route remove [find comment="Marked via ISP2 Main"];r
    n   /ip route remove [find comment="Marked via ISP1 Backup1"];r
    n   /ip route remove [find comment="Marked via ISP3 Backup2"];r
    n   /ip route rule set [find comment="From ISP2 IP to Inet"] disabled=yesr
    n}r
    n" use-peer-dns=no use-peer-ntp=no

Π‘Π°ΠΌ скрипт Π² ΠΎΠΊΠ½Π΅ Winbox:

ΠœΡƒΠ»ΡŒΡ‚ΠΈΠ²Π°Π½ ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ Π½Π° Mikrotik RouterOS
Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ΠŸΠ΅Ρ€Π²Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ скрипта срабатываСт ΠΏΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ Π°Ρ€Π΅Π½Π΄Ρ‹, вторая β€” послС освобоТдСния Π°Ρ€Π΅Π½Π΄Ρ‹.Π‘ΠΌ. ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ 2

3.3. НастраиваСм ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρƒ ISP3.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ настройки Π½Π°ΠΌ Π²Ρ‹Π΄Π°Π΅Ρ‚ динамичСскиС, Ρ‚ΠΎ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ измСнСния Π΄Π΅Π»Π°Ρ‚ΡŒ скриптами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡ‚Π°Ρ€Ρ‚ΡƒΡŽΡ‚ послС поднятия ΠΈ послС падСния интСрфСйса ppp.

3.3.1. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ:

/ppp profile
add comment="for PPPoE to ISP3" interface-list=WAN name=isp3_client 
on-down="/ip firewall nat remove  [find comment="NAT via ISP3"];r
    n/ip route remove [find comment="For recursion via ISP3"];r
    n/ip route remove [find comment="Unmarked via ISP3"];r
    n/ip route remove [find comment="Marked via ISP3 Main"];r
    n/ip route remove [find comment="Marked via ISP1 Backup2"];r
    n/ip route remove [find comment="Marked via ISP2 Backup2"];r
    n/ip route rule set [find comment="From ISP3 IP to Inet"] disabled=yes;" 
on-up="/ip route add check-gateway=ping comment="For recursion via ISP3" distance=1 
    dst-address=4.2.2.3/32 gateway=$"remote-address" scope=10r
    n/ip route add comment="Unmarked via ISP3" distance=3 gateway=4.2.2.3;r
    n/ip route add comment="Marked via ISP3 Main" distance=1 gateway=4.2.2.3 
    routing-mark=to_isp3;r
    n/ip route add comment="Marked via ISP1 Backup2" distance=3 gateway=4.2.2.3 
    routing-mark=to_isp1;r
    n/ip route add comment="Marked via ISP2 Backup2" distance=3 gateway=4.2.2.3 
    routing-mark=to_isp2;r
    n/ip firewall mangle set [find comment="Connmark in from ISP3"] 
    in-interface=$"interface";r
    n/ip firewall nat add action=src-nat chain=srcnat ipsec-policy=out,none 
    out-interface=$"interface" to-addresses=$"local-address" comment="NAT via ISP3" 
    place-before=1;r
    nif ([/ip route rule find comment="From ISP3 IP to Inet"] ="") do={r
    n   /ip route rule add comment="From ISP3 IP to Inet" src-address=$"local-address" 
    table=to_isp3 r
    n} else={r
    n   /ip route rule set [find comment="From ISP3 IP to Inet"] disabled=no 
    src-address=$"local-address"r
    n};r
    n"

Π‘Π°ΠΌ скрипт Π² ΠΎΠΊΠ½Π΅ Winbox:

ΠœΡƒΠ»ΡŒΡ‚ΠΈΠ²Π°Π½ ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ Π½Π° Mikrotik RouterOS
Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π‘Ρ‚Ρ€ΠΎΠΊΠ°
/ip firewall mangle set [find comment=Β«Connmark in from ISP3Β»] in-interface=$Β«interfaceΒ»;
позволяСт ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ интСрфСйса, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π΅Π³ΠΎ ΠΊΠΎΠ΄ΠΎΠΌ Π° Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ.

3.3.2. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ, создаСм ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ppp:

/interface pppoe-client add allow=mschap2 comment="to ISP3" disabled=no 
interface=ether3 name=pppoe-isp3 password=isp3_pass profile=isp3_client user=isp3_client

Π’ качСствС послСднСго ΡˆΡ‚Ρ€ΠΈΡ…Π° настроим часы:

/system ntp client set enabled=yes server-dns-names=0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org

Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π΄ΠΎΡ‡ΠΈΡ‚Π°Π» Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ способ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ²Π°Π½ β€” Π΅ΡΡ‚ΡŒ Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ Π°Π²Ρ‚ΠΎΡ€Π° ΠΈ Π½Π΅ являСтся СдинствСнно Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ROS ΠΎΠ±ΡˆΠΈΡ€Π΅Π½ ΠΈ Π³ΠΈΠ±ΠΎΠΊ, Ρ‡Ρ‚ΠΎ с ΠΎΠ΄Π½ΠΎΠΉ стороны Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ слоТности для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ β€” ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° популярности. Π˜Π·ΡƒΡ‡Π°ΠΉΡ‚Π΅, ΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΠΉΡ‚Π΅ для сСбя Π½ΠΎΠ²Ρ‹Π΅ инструмСнты ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. НапримСр, Π² качСствС примСнСния ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π·Π½Π°Π½ΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ²Π°Π½ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ инструмСнт Π‘heck-gateway с рСкурсивными ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°ΠΌΠΈ Π½Π° Netwatch.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ

  1. Check-gateway β€” ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ послС Π΄Π²ΡƒΡ… подряд Π½Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ шлюза Π½Π° Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° осущСствляСтся Ρ€Π°Π· Π² 10 сСкунд, плюс Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ ΠΎΡ‚Π²Π΅Ρ‚Π°. Π˜Ρ‚ΠΎΠ³ΠΎ, фактичСский Ρ‚Π°ΠΉΠΌΠΈΠ½Π³ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π»Π΅ΠΆΠΈΡ‚ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 20-30 сСкунд. Если Ρ‚Π°ΠΊΠΎΠΉ Ρ‚Π°ΠΉΠΌΠΈΠ½Π³ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π΅ достаточСн β€” Π΅ΡΡ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ инструмСнтом Netwatch, Π³Π΄Π΅ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

    ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Check-gateway Π½Π΅ срабатываСт ΠΏΡ€ΠΈ пСриодичСских потСрях ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² ΠΊΠ°Π½Π°Π»Π΅.

    Π’Π°ΠΆΠ½ΠΎ! ДСактивация основного ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π° Π²Π»Π΅Ρ‡Π΅Ρ‚ Π·Π° собой Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π° Π½Π΅Π³ΠΎ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для Π½ΠΈΡ… ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ check-gateway=ping Π½Π΅Ρ‚ нСобходимости.

  2. Π‘Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ DHΠ‘P происходит сбой, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выглядит, ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ подвисший Π² состоянии renew. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС вторая Ρ‡Π°ΡΡ‚ΡŒ скрипта Π½Π΅ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΡƒ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡˆΠ°Π΅Ρ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ состояниС отслСТиваСт ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ рСкурсивный ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚.
  3. ECMP (Equal Cost Multi-Path) β€” Π² ROS Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ с нСсколькими шлюзами ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ distance. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС соСдинСния Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ ΠΏΠΎ ΠΊΠ°Π½Π°Π»Π°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ round robin, ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ количСству ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… шлюзов.

Π—Π° Ρ‚ΠΎΠ»Ρ‡ΠΎΠΊ ΠΊ написанию ΡΡ‚Π°Ρ‚ΡŒΠΈ, ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΅Π΅ структуры ΠΈ расстановкС Π°ΠΊΡ†Π΅Π½Ρ‚ΠΎΠ² β€” личная Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½ΠΎΡΡ‚ΡŒ Π•Π²Π³Π΅Π½ΠΈΡŽ @jscar

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com