MikroTikの内郚および倖郚通信チャネル、静的ルヌティング、䌁業ネットワヌクの予玄

ISPでテクニカルサポヌト゚ンゞニアずしお働いおいたす。 この蚘事では、小売店チェヌンの限られた予算で、静的ルヌティングず通信チャネルの予玄、および電子メヌルによる事故の自動報告を䜿甚しお䌁業ネットワヌクを構築した経隓を共有したす。 経隓豊富なネットワヌク゚ンゞニアにずっお、この蚘事は興味深いものではありたせん。 同様のタスクを持っおいる管理者にずっお、この蚘事は圹に立぀かもしれたせん。



この特定のタスクでの動的ルヌティングは、プロゞェクトが必芁ずするほど速く、おそらく確実に動䜜しないず思いたす。 ダむナミックルヌティングに反察するこずはありたせんが、MikroTik機噚での操䜜ずいく぀かのネットワヌク仕様これに぀いおは以䞋で詳しく説明したすに぀いおの吊定的なレビュヌが、静的およびスクリプトの方向の遞択に圱響を䞎えたした。



パヌト0.提䟛されるもの



お客様から連絡がありたした-ロヌカル取匕ネットワヌク。 垂内党域に分散した店舗間の通信甚にロヌカルネットワヌクを線成するためのサヌビスを提䟛したす。



技術的な芳点から、プロバむダヌはネットワヌク内に個別のVLANを提䟛したす。 すべおの店舗12店舗は、FTTHずPONの2぀のテクノロゞヌを䜿甚しお、光孊系を介しおISPに接続されおいたす。



近代化前の䌁業のネットワヌク図を図に瀺したす。







2぀の店舗ず䞭倮オフィスには、むヌサネットFTTH接続がありたす。 残りの9店舗では、接続はPONPassive Optical Networkテクノロゞヌを介しお行われたす。 PON経由で接続する堎合、Huawei端末が䜿甚され、HG810モデルもONUOptical Network Unitです。 PONテクノロゞヌに぀いおはこちらをご芧ください 。



この䌚瀟の機噚には特定の機胜がありたす。 これは、䞀方ではISPナヌザヌには䞍芁であり、加入者アクセスネットワヌクの蚭蚈に関しお積極的な圹割を果たしたす。 䞀方、これらの機胜は䌁業顧客に悪圱響を及がす可胜性がありたす。



それらを詳しく芋おみたしょう



  1. Huawei機噚䞊に構築されたPONネットワヌクでは、同じベヌスステヌションOLT-Optical Line Terminalから動䜜しおいるONU間のトラフィック亀換はデフォルトで犁止されおいたす。 䌁業VLANの特別なプロファむルを䜿甚しお、この問題を解決するこずができたした。
  2. ONUは、加入者からプロバむダヌネットワヌクに向けおDHCPパケットを枡したせん。 プロバむダヌのネットワヌクから加入者に向かっお-すべおが進みたす。 メむンオフィスをDHCPサヌバヌでONUを介しお分散䌁業ネットワヌクに接続するず、オフィスにあるサヌバヌはオフィスの倖にあるノヌドにアドレスを配垃できなくなりたす。
  3. クロスカントリヌマルチキャスト-パッケヌゞに関する同様の問題。 すべおのマルチキャストパケットはONUを通過せず、ネットワヌクの他の郚分では芋えたせん。


他のトラフィックに問題はなく、フィルタリングや制限もありたせん。



問題2および3に぀いお、読者がネットワヌクでHuaweiのPONを䜿甚し、そのようなトラフィックの通過を蚱可する方法を知っおいる゚ンゞニアがいる堎合、私は喜んでアドバむスしたす。



私に連絡した時点では、店舗のチェヌンは、Kerio Control Serverを実行しおいる1぀のルヌタヌを持぀、管理されおいないフラットなネットワヌクでした。



ネットワヌク䞊では、すべおの店舗のすべおのIPデバむスが盞互に認識されおいたした。 プロバむダヌのスむッチのFDBテヌブルには、VLAN内の合蚈で350を超えるデバむスがありたす。 これらのデバむスはすべお、1぀の倧きなブロヌドキャストドメむンに属しおいたした。



このため、ネットワヌクでさたざたな障害が発生し、店舗の運営に干枉したため、ネットワヌクではセグメンテヌションが必芁でした。



プロバむダヌで事故が発生し、オフィスず個々の店舗ずの接続が倱われたこずがありたした。



さらに悪いこずに、セントラルオフィスずプロバむダヌのネットワヌクずの間で通信が倱われた堎合。 この堎合、垂内に分散しおいる12店舗すべおが、オフィスにあるサヌバヌず通信せず、むンタヌネットにアクセスできたせん。 この期間䞭、店の仕事は非垞に限られおおり、機䌚は消えたす



  1. 銀行振蟌による支払いを受け入れたす。
  2. 商品の受け取りず修正。
  3. 䟡栌ず残高を同期したす。


セントラルオフィスはむヌサネット経由で接続されたした。 すべおの店舗のデバむスにDHCPを配垃する必芁があるため。 オフィスからの光孊機噚は、プロバむダヌの通信センタヌがある最寄りのアパヌトに送られたす。 この家たたはさらに接続された家で電力が倱われるず、12店舗すべおがオフィスずの通信なしで残されたす。



停電の堎合に機胜するために、PONラむンが本瀟に蚭眮されおいたす。 むヌサネットドロップの堎合の予備ずしおのみ䜿甚されたした。 DHCPパケットは通過したせんでした。 むヌサネットずPON通信チャネルの切り替えは手動で行われたした 。



私はタスクを割り圓おられたした



  1. ネットワヌクをセグメント化し、倚くの小さなブロヌドキャストドメむンに分割しお、共通ネットワヌクぞの悪圱響を排陀したす。
  2. 本瀟ずプロバむダヌの間でむヌサネットずPON間の通信が倱われた堎合に、内郚通信チャネルを自動的に切り替える方法を導入したす。
  3. 特定の店舗でISPずの接続が倱われた堎合に備えお、オフィスずの通信を自動的に切り替える方法を導入したす。これは、オフィスずのむンタヌネット通信およびロヌカルアクセスを意味したす。
  4. ネットワヌクの特定のセクションでの事故オフィスずの連絡が倱われた、たたはバックアップむンタヌネットが倱われたに぀いお、䌁業のシステム管理者に自動的に通知する機胜を実装したす。


パヌト1.タスクを解決する



これらのタスクを達成するために、 MikroTik機噚が賌入されたした。 RB1100AHx2モデルは䞭倮オフィスで賌入し、 MikroTik hExRB750Gr2 は12店舗それぞれで賌入したした。



セントラルオフィスずすべおの店舗では、2番目のプロバむダヌが接続されおいたす-Rostelecom。 この䌚瀟はむンタヌネットアクセス のみを賌入したす 。 セントラルオフィスでは、ADSL経由の店舗でケヌブルFTTHによっお接続が行われたす。 モデムはプロバむダヌからレンタルされ、ブリッゞモヌドでのみ動䜜したす。



分散アドレッシングスキヌムが゚ンタヌプラむズネットワヌクに導入されたした。





オフィス間のルヌティングのために、MikroTikルヌタヌ間の通信が線成される2぀の補助ネットワヌクが導入されたした。





メむンオフィスには、3぀のチャネルを介したむンタヌネットアクセスがありたす。







以䞋に蚭定䟋を瀺したす。



[s@MAIN-BORDER-ROUTER] > ip address export # nov/27/2015 22:43:50 by RouterOS 6.32.2 # /ip address add address=10.10.10.1/24 comment=ISP-LOCAL-ADDRESS interface=eth-1 network=10.10.10.0 add address=10.10.20.1/24 comment=ISP-RESERVE-LOCAL-ADDRESS interface=eth-2 network=10.10.20.0 add address=1.1.1.1/30 comment=ISP1-MAIN-INET-ADDRESS interface=eth-1 network=1.1.1.0 add address=2.2.2.2/30 comment=ISP1-RESERVE-INET interface=eth-2 network=2.2.2.0 add address=192.168.1.1/24 comment=OFFICE-LOCAL-ADDRESS interface=bridge-MAIN-OFFICE network=192.168.1.0
      
      





2番目のプロバむダヌからのPPPoEの堎合



 [s@MAIN-BORDER-ROUTER] > interface pppoe-client print Flags: X - disabled, R - running 0 R name="RT-PPPoE" max-mtu=1480 max-mru=1480 mrru=1600 interface=eth-3 user="U" password="P" profile=default keepalive-timeout=30 service-name="" ac-name="" add-default-route=no dial-on-demand=no use-peer-dns=no allow=pap,chap,mschap1,mschap2
      
      





店舗ずISP-1間の通信が倱われた堎合にリモヌトストアの䜜業を敎理するために、各店舗に2人のVPNナヌザヌがオフィスのメむンルヌタヌに䜜成されたした。 これは、各ストアが倖郚むンタヌネットネットワヌクを介しお、䞡方のプロバむダヌからオフィス内の2぀の倖郚IPアドレスぞの2぀のアクティブな接続を同時に持぀ようにするためです。



VPNを介したオフィスず店舗間のトラフィック亀換のために、さらに2぀の補助ネットワヌクを導入したす。





ルヌタヌでL2TPサヌバヌを有効にし、ナヌザヌプロファむルを䜜成したすここでは、1぀のストアの䟋を瀺したす。



 /interface l2tp-server server set enabled=yes keepalive-timeout=15 add local-address=10.20.30.1 name=VERTOLET-VPN password=Pass profile=default-encryption remote-address=10.20.30.15 service=l2tp add local-address=10.30.40.1 name=VERTOLET-VPN-RESERVE password=Pass profile=default-encryption remote-address=10.30.40.15 service=l2tp /interface l2tp-server add name=15.VERTOLET-VPN user=VERTOLET-VPN add name=15.VERTOLET-VPN-RESERVE user=VERTOLET-VPN-RESERVE
      
      





/ interface l2tp-serverコマンドを䜿甚しお、各ストアのPPPセクションにハヌドバむンディングを远加したす。 これは、接続されおいるストアを簡単に刀別するために行われたす。 そしお、どのトラフィックが通過しおいるか。



トラフィック亀換のために4぀のネットワヌクを取埗したす。



 [s@MAIN-BORDER-ROUTER] > ip address print Flags: X - disabled, I - invalid, D - dynamic 0 ;;; IT-MAIN-LOCAL-ADDRESS 10.10.10.1/24 10.10.10.0 eth-1 1 ;;; IT-RESERVE-LOCAL-ADDRESS 10.10.20.1/24 10.10.20.0 eth-2 2 D 10.30.40.1/32 10.30.40.15 2.VERTOLET-VPN-RESERVE 3 D 10.20.30.1/32 10.20.30.15 2.VERTOLET-VPN
      
      





䟿宜䞊、ネットワヌクが192.168。になるようにアドレス指定を蚈画したした 15 .0 / 24は10.10.10たで利甚可胜です。 15.10.10.20。 15、10.20.30。 15および10.30.40。 15 、他のサブネットはそれぞれ異なるアドレスを持ちたす。



次に、ルヌトを䜜成したす。



 [sbl@MAIN-BORDER-ROUTER] > ip route export # nov/27/2015 23:24:47 by RouterOS 6.32.2 # /ip route add comment=1.VERTOLET distance=10 dst-address=192.168.15.0/24 gateway=10.10.10.15 add comment=2.VERTOLET distance=20 dst-address=192.168.15.0/24 gateway=10.10.20.15 add comment=3.VERTOLET distance=30 dst-address=192.168.15.0/24 gateway=10.20.30.15 add comment=4.VERTOLET distance=40 dst-address=192.168.15.0/24 gateway=10.30.40.15
      
      





ルヌトごずに異なるアドミニストレヌティブディスタンスを䜿甚しおいたす。 通垞モヌドでは、デヌタは10.10.10.15のネットワヌク経由でストアに送られたす。 圌女の管理距離は最も短く、 10です。 ネットワヌク10.10.10.0/24はeth-1を介しおアクセスできたす。これは、 ISP-1からのメむンむヌサネットチャネルを意味したす。



eth-1通信チャネルに障害が発生した堎合、デヌタはPONを介しおeth-2ネットワヌクを通過したす。問題が発生した堎合、ISP-2からPPPoEを介しおVPNを支揎したす。



オフィスでのネットワヌク接続の䟋を䞋の図に瀺したす。







リモヌトストアで同じ蚭定を実行したす。 アドレスを割り圓おたす



 [s@VERTOLET-GW] > ip address export # nov/27/2015 23:47:45 by RouterOS 6.32.3 # /ip address add address=192.168.15.2/24 interface=bridge-VERTOLET network=192.168.15.0 add address=10.10.10.15/24 comment=LOCAL-MAIN-ADDRESS interface=ether1 network=10.10.10.0 add address=10.10.20.15/24 comment=LOCAL-RESERVE-ADDRESS interface=ether1 network=10.10.20.0 add address=192.168.15.253/30 interface=ether2 network=192.168.15.252
      
      





l2tp VPN接続を䜜成する

 [s@VERTOLET-GW] > interface l2tp-client export # nov/27/2015 23:54:11 by RouterOS 6.32.3 # /interface l2tp-client add connect-to=2.2.2.2 disabled=no keepalive-timeout=45 mrru=1600 name=VPN-OFFICE password=Pass user=VERTOLET-VPN add connect-to=3.3.3.3 disabled=no keepalive-timeout=45 mrru=1600 name=VPN-OFFICE-RESERVE password=Pass user=VERTOLET-VPN-RESERVE
      
      





ストア接続図をご芧になるこずをお勧めしたす。







チャネルがリモヌトストアでeth-1に倱敗するず、ISP-1を経由する䞡方のロヌカルルヌトを通じおオフィスずの接続が自動的に倱われたす。 ここでは、VPNネットワヌク10.20.30.1および10.30.40.1が私たちの助けになりたす。これらは垞に発生し、ストアのバックアップむンタヌネットチャネルを介しお垞に発生したす。



このトリックを実装するために、 ISP-2甚に別のルヌティングテヌブルを䜜成したした。 これは、ルヌタヌが垞に同じむンタヌフェむスを介しおISP-2偎からの芁求に応答できるようにするためにも行われたすが、これに぀いおは詳しく説明したせん。



ストアにISP-2のルヌティングテヌブルを䜜成したす。



 [s@VERTOLET-GW] > ip route export # nov/28/2015 00:13:41 by RouterOS 6.32.3 # /ip route add distance=1 gateway=RT-INET-Reserve routing-mark=ISP2-Reserve
      
      





たた、オフィス内の䞡方のIP VPNサヌバヌぞのトラフィックがバックアップむンタヌネットのみを通過するルヌティングルヌルを䜜成したす。



 [s@VERTOLET-GW] > ip route export # nov/28/2015 00:13:41 by RouterOS 6.32.3 /ip route rule add action=lookup-only-in-table dst-address=2.2.2.2/32 table=ISP2-Reserve add action=lookup-only-in-table dst-address=3.3.3.3/32 table=ISP2-Reserve
      
      





これで、オンラむンストアずルヌタヌがどのチャネルを䜿甚するかに関係なく、VPNが垞に利甚可胜になりたす。 VPNネットワヌクは垞にバックアップチャネルを介しおのみ機胜し、垞にオフィスず通信するずいう䜿呜を匕き受ける準備ができおいたす。



むンタヌネット自䜓は、デフォルトでオフィスからISP-1を介しお機胜するため、オフィスを介しおむンタヌネットにアクセスするために2぀の個別のルヌティングテヌブルが䜜成されおいたす。



 [s@VERTOLET-GW] > ip route export # nov/28/2015 00:13:41 by RouterOS 6.32.3 # /ip route add distance=1 gateway=10.10.10.1 pref-src=10.10.10.2 routing-mark=ISP1-A add distance=1 gateway=10.10.20.1 pref-src=10.10.20.2 routing-mark=ISP1-B
      
      





10.10.10.1および10.10.20.1たでのトラフィックがデフォルトルヌトを通過しないこずを確認する必芁がありたす。デフォルトルヌトから、ある皋床の確率で回答が到着する堎合がありたす。 これを行うには、アドレス10.10.10.1および10.10.20.1を怜玢するリゞッドバむンディングを䜜成したす。



 [s@VERTOLET-GW] > ip route rule export # nov/28/2015 00:13:41 by RouterOS 6.32.3 /ip route rule add action=lookup-only-in-table dst-address=10.10.10.1/32 table=ISP1-A add action=lookup-only-in-table dst-address=10.10.20.1/32 table=ISP1-B
      
      





ストアの最埌-オフィスぞのルヌトを䜜成したす。



 [s@VERTOLET-GW] > ip route export # nov/28/2015 00:13:41 by RouterOS 6.32.3 /ip route add comment=1.Local-NET-MAIN-IT distance=10 dst-address=192.168.1.0/24 gateway=10.10.10.1 add comment=2.Local-NET-RESERVE-IT distance=20 dst-address=192.168.1.0/24 gateway=10.10.20.1 add comment=3.Local-NET-RESERVE-INET distance=30 dst-address=192.168.1.0/24 gateway=10.20.30.1 add comment=4.Local-NET-RESERVE-INET distance=40 dst-address=192.168.1.0/24 gateway=10.30.40.1
      
      





ルヌティングテヌブルがすべおです。 次に、これらの通信チャネル間の自動か぀最速の切り替えを構成する必芁がありたす。



パヌト2.自動切り替えのセットアップ



蚘事の冒頭で、この堎合、動的ルヌティングはあたり適切ではないずいう意芋を曞きたした。 セットアップの容易さの点では 勝ち たすが、䜜成ず曞き蟌みを少なくするこずは簡単です。



ただし、たず、ほずんどの店舗はPONを介しお接続されおいたすが、 PONはマルチキャストを通過したせん。 OSPFずRIPの䞡方がLANを介しお離陞するこずはありたせん。



第二に、OSPFの経隓がほずんどありたせん。 たた、 ISP-1を介したチャネルがロヌカルで利甚可胜な堎合の動䜜はわかりたせんが、20〜25以䞊の損倱が発生したす。 トラフィックは送信され、ルヌタヌHelloのパケットは衚瀺されたすが、ラむブトラフィックには問題が発生したす。



3番目は、デフォルトでは、OSPF蚭定の反応ずスむッチング速床であり、 ルヌタヌデッド間隔の倀は40秒です。 なんお長い間店そういうお客様。 もちろん、それをねじっお瞮小するこずもできたすが、OSPFはどの皋床安定したすか



そしお、静力孊を支持する最埌の評決ずしお、OSPFの安定性に関するMikroTikのナヌザヌ間のかなりの批刀ず䞍満を呌びたす。 たずえば、 ここに曞かれたもの 。



正盎なずころ、私はOSPFに反察するものは䜕もありたせん。 しかし、この堎合、私はそれを安党にプレむし、スクリプトを介しお切り替えるこずにしたした。



そのため、残念ながら、スクリプトの䜜成経隓はありたせん。したがっお、借甚したスクリプト䞻芁な情報源が提䟛されたすに察する線集の䞀郚は、あたりにもぎこちないように芋えるかもしれたせん。 批刀するのはい぀でも嬉しいです。



ロヌカル通信チャネルの可甚性を確認するためのスクリプトは、 Habrauser magnitudoの スクリプトから取られたした。



ロヌカルチャネルの可甚性を確認するスクリプト
 name="CHECK-LOCAL-ALARM" owner="admin" policy=read,write,policy,test,sniff,sensitive #DEFINE GLOBAL VARIABALES for LOCAL-REACHIBLE-STATUS :global GlobalITFail #DEFINE INTERNAL PING TARGETS :local PingCount 7 #       # MAIN LOCAL CENTRAL-GW IP ADDRESS :local PingTarget1 10.10.10.1 #        # RESERVE LOCAL CENTRAL-GW IP ADDRESS :local PingTarget2 10.10.20.1 #        # RESERVE VPN LOCAL CENTRAL-GW IP ADDRESS :local PingTarget3 10.20.30.1 #     VPN     IP ISP1-B #CHECK MAIN LOCAL SERVER ADDRESS :local MainLocalServerOK false; #            :local PingResult1 [/ping $PingTarget1 count=$PingCount size=1500 ] #  7   1500    5     :set MainLocalServerOK ( $PingResult1 >= 5) #CHECK RESERVE LOCAL SERVER ADDRESS :local ReserveLocalServerOK false; :local PingResult2 [/ping $PingTarget2 count=$PingCount size=1500 ] :set ReserveLocalServerOK ( $PingResult2 >= 5) #        #CHECK VPN LOCAL SERVER ADDRESS :local VpnLocalServerOK false; #    VPN        ,   :local PingResult3 [/ping $PingTarget3 count=5 ] :set VpnLocalServerOK ( $PingResult3 >= 4) ###        /system script run <> :put "MainLocalServerOK=$MainLocalServerOK" :put "ReserveLocalServerOK=$ReserveLocalServerOK" :put "VpnLocalServerOK=$VpnLocalServerOK" #DEFINE GATEWAYS Administrative Distances #       :local MainLocalServerGWDistance [/ip route get [find comment="1.Local-NET-MAIN-IT"] distance] :local ReserveLocalServerGWDistance [/ip route get [find comment="2.Local-NET-RESERVE-IT"] distance] :local VpnLocalServerGWDistance [/ip route get [find comment="3.Local-NET-RESERVE-INET"] distance] ###        /system script run <> :put "MainLocalServerGWDistance=$MainLocalServerGWDistance" :put "ReserveLocalServerGWDistance=$ReserveLocalServerGWDistance" :put "VpnLocalServerGWDistance=$VpnLocalServerGWDistance" ### #SETUP ADMINISTRATIVE DISTANCE # FROM MAIN LOCAL SERVER if ($MainLocalServerOK) do={ if ($MainLocalServerGWDistance != 10) do={ /log warning "Switch LOCAL-ROUTE to MAIN LOCAL SERVER" } /ip route set [find comment="1.Local-NET-MAIN-IT"] distance=10 } if (!$MainLocalServerOK) do={ /ip route set [find comment="1.Local-NET-MAIN-IT"] distance=110 } ### # FROM RESERVE LOCAL SERVER if (!$MainLocalServerOK && $ReserveLocalServerOK) do={ /log warning "Switch LOCAL-ROUTE to RESERVE LOCAL SERVER" } if ($ReserveLocalServerOK && ($ReserveLocalServerGWDistance != 20)) do={ /ip route set [find comment="2.Local-NET-RESERVE-IT"] distance=20 } if (!$ReserveLocalServerOK && ($ReserveLocalServerGWDistance != 120)) do={ /ip route set [find comment="2.Local-NET-RESERVE-IT"] distance=120 } ### #FROM VPN LOCAL SERVER if (!$MainLocalServerOK && !$ReserveLocalServerOK && $VpnLocalServerOK) do={ /log warning "Switch LOCAL-ROUTE to RESERVE LOCAL SERVER" } if ($VpnLocalServerOK && ($VpnLocalServerGWDistance != 30)) do={ /ip route set [find comment="3.Local-NET-RESERVE-INET"] distance=30 } if (!$VpnLocalServerOK && ($VpnLocalServerGWDistance != 130)) do={ /ip route set [find comment="3.Local-NET-RESERVE-INET"] distance=130 } #### ###   ,    .         .   ,   . ####INFORMING############################################ :local ITfail false; #         10.10.10.0/24  10.10.20.0/4,          ISP-1   ( )   VPN. if (!$MainLocalServerOK && !$ReserveLocalServerOK) do={ :set ITfail true; } #      -     ,        ISP       ,        if ($MainLocalServerOK) do={ :set ITfail false; } if ($ReserveLocalServerOK) do={ :set ITfail false; } #       email #    ,       :put "1.ITfail=$ITfail" :put "1.1.GlobalITFail=$GlobalITFail" #       ,          if ($ITfail != $GlobalITFail) do={ if ($ITfail && !$GlobalITFail) do={ :set GlobalITFail true; /log error "WARNING!!!! IT-MAIN LIK IS DOWN!!!!" :delay 8 /system script run EMAIL-IT-FAIL } if (!$ITfail && $GlobalITFail) do={ :set GlobalITFail false; /log warning " IT-MAIN LINK RECOVERED!!!!!" /system script run EMAIL-IT-RECOVER } }
      
      







スクリプトの原理は単玔です。 メむンルヌタで、1500バむトの倧きなパケットで各むンタヌフェむスに7回pingを実行したす。 少なくずも5぀のパケットが返される堎合、満足のいく結果が考慮されたす。 この方法は、チャネル内の通信に関する問題の可胜性に非垞に敏感です。 問題がある堎合、チャネルは䜿甚䞍可ず芋なされたす。



結果に応じお、アドミニストレヌティブディスタンスの倀を蚭定したす。 チャネルが䜿甚できない堎合は、100ず぀増やしたす。

ロヌカルに接続された䞡方のチャネルが消えた堎合、スクリプトはクラッシュたたはリカバリに関する通知を送信する別のスクリプトの起動を開始したす。



誰かが私には4぀のルヌトがあり、スクリプトは3぀しかチェックしおいないこずに気付きたした。 これは時間を節玄するために行われたす、なぜなら 3぀のむンタヌフェむスロヌカルに2぀、むンタヌネット経由で1぀はすべおメむンプロバむダヌに関連付けられおいたす。 たた、3぀のむンタヌフェむスすべおで障害が発生した堎合、ISP-2を介した最埌のスタンバむ倖郚VPNのみが残りたす。 垞にAD = 40です。



ストアからのスクリプトを次に瀺したす。同様のスクリプトがメむンルヌタヌ䞊で回転し、各ストアには独自のスクリプトがありたす。



誰かが同じくらい倚くのスクリプトが絶えず回転しおいるず考えるでしょうか 䞀般に、スクリプトが機胜するのにどれくらい時間がかかりたすか どの間隔で実行する必芁がありたすか



私にずっお、ルヌト利甚可胜性のための応答時間は重芁です。 スクリプトをチェックするずき、䜜業時間を怜出しようずしたした。 すべおが暙準である堎合、玄7秒です。



いずれかのチャネルが䜿甚できず、スクリプトがタむムアりトたでに応答を埅機しおいる堎合、時間は玄15秒に増加したす。

これは、OSPFがデフォルトの40秒埅機するよりもはるかに高速です。



どの間隔でスクリプトを実行したすか そしお、方法はありたせん このスクリプトのスケゞュヌラヌはしたせんでした



これにより、反応時間がさらに短瞮されたした。 NetWatchケヌスぞの接続のおかげで、ほが瞬時に反応時間実際には玄5秒 を達成できたした



チャンネルの信頌性ず事故通知を確認するためにルヌトが䜜成され、スクリプトが䜜成されたら、これらのスクリプトを起動するトリガヌを考え出す必芁がありたす。



3぀のアドレスすべおに察しおNetwatchを䜜成したす。



 [s@VERTOLET-GW] > tool netwatch export # nov/28/2015 01:53:17 by RouterOS 6.32.3 /tool netwatch add down-script="/ip route set [find comment="1.Local-NET-MAIN-IT"] distance=110\r\ \n/system script run CHECK-INET-ALARM\r\ \n/system script run CHECK-LOCAL-ALARM\r\ \n" host=10.10.10.1 interval=10s timeout=2s up-script=\ "/system script run CHECK-INET-ALARM\r\ \n/system script run CHECK-LOCAL-ALARM"
      
      





説明しおください-NetWatchは、10秒ごずにホスト10.10.10.1にpingを送信し、タむムアりトは2秒です。 転倒した堎合、すぐにプロアクティブにアドミニストレヌティブディスタンスを+100に蚭定したす-ルヌトを非アクティブにしたす。



その埌、ロヌカルネットワヌクの可甚性ステヌタスをより正確にチェックしお、スクリプトの起動を初期化したす。 誀ったアラヌムが発生した堎合、ルヌトの優先床を返し、䞡方のロヌカルチャネルが実際に萜ちた堎合、 管理者に手玙を送信したす。



pingリカバリの堎合、ルヌトをすぐにアクティブずしお返したせん 。 たた、より詳现なチェックを開始したす。これにより、メむンチャネルに戻るこずが可胜かどうかがすでに決定されたす。



これらのNetWatchは、ISP-1ネットワヌクの3぀の内郚アドレスすべおに察しお䜜成されたす。 定期的に盞互にpingを送信し、問題が発生した堎合、即座にADを倉曎し、より詳现なスクリプトチェックを実行したす。



以䞋は、ドロップを通知し、オフィスずの通信を埩元するスクリプトのリストです。 通知甚のスクリプトの基瀎ずしお、 7番目の 蚘事を䜿甚したした。



ストア内の通信チャネルの䜎䞋を通知するスクリプト
    EMAIL-IT-FAIL :local sysname [/system identity get name]; :local smtpserv [:resolve "you_mail_server "]; :local Eaccount "you_username"; :local pass "you_password"; :local date [/system clock get date]; :local time [/system clock get time]; :local mailto you@mail.yu /tool e-mail send to=$mailto from=you@mail. \ user=$Eaccount password=$pass server=$smtpserv port=587 start-tls=yes \ subject=("$sysname-ALARM!!!") \ body=("   $sysname    !     ,     VPN.    $time $date")
      
      







EMAIL-IT-RECOVER回埩スクリプトは、テキストを陀いお同䞀です。



終わり



それだけです。 私が望んでいたすべおのこずに぀いおは話したせんでしたが。 問題は、オフィスず支店でのむンタヌネット自䜓の予玄の実装、むンタヌネットに関連する事故の通知ずその回埩でした。 時間のカりンタヌ-むンタヌネット䞊のチャネルはいくらですか。 OSPFを介しおWi-Fiプリンタヌショッピングをキャッチした方法。



最埌たで読んでくれたみんなに感謝したす。 あなたの批刀、アドバむス、提案を楜しみにしおいたす。 質問がありたすが、喜んでお答えしたす。

興味深い堎合は、このプロゞェクトに関する蚘事をさらにいく぀か曞いお、ネットワヌク内のいく぀かの束葉杖に぀いお説明したす。これは簡単な方法で解決する必芁がありたした。



埌者は、オフィスず12店舗のうち1店舗を接続するための䞀般的なスキヌムです。










All Articles