ãã®ç¹å®ã®ã¿ã¹ã¯ã§ã®åçã«ãŒãã£ã³ã°ã¯ããããžã§ã¯ããå¿ èŠãšããã»ã©éãããããã確å®ã«åäœããªããšæããŸãã ãã€ãããã¯ã«ãŒãã£ã³ã°ã«å察ããããšã¯ãããŸããããMikroTikæ©åšã§ã®æäœãšããã€ãã®ãããã¯ãŒã¯ä»æ§ïŒããã«ã€ããŠã¯ä»¥äžã§è©³ãã説æããŸãïŒã«ã€ããŠã®åŠå®çãªã¬ãã¥ãŒããéçããã³ã¹ã¯ãªããã®æ¹åã®éžæã«åœ±é¿ãäžããŸããã
ããŒã0.æäŸããããã®
ã客æ§ããé£çµ¡ããããŸãã-ããŒã«ã«ååŒãããã¯ãŒã¯ã åžå å šåã«åæ£ããåºèéã®éä¿¡çšã«ããŒã«ã«ãããã¯ãŒã¯ãç·šæããããã®ãµãŒãã¹ãæäŸããŸãã
æè¡çãªèŠ³ç¹ããããããã€ããŒã¯ãããã¯ãŒã¯å ã«åå¥ã®VLANãæäŸããŸãã ãã¹ãŠã®åºèïŒ12åºèïŒã¯ãFTTHãšPONã®2ã€ã®ãã¯ãããžãŒã䜿çšããŠãå åŠç³»ãä»ããŠISPã«æ¥ç¶ãããŠããŸãã
è¿ä»£ååã®äŒæ¥ã®ãããã¯ãŒã¯å³ãå³ã«ç€ºããŸãã

2ã€ã®åºèãšäžå€®ãªãã£ã¹ã«ã¯ãã€ãŒãµãããïŒFTTHïŒæ¥ç¶ããããŸãã æ®ãã®9åºèã§ã¯ãæ¥ç¶ã¯PONïŒPassive Optical NetworkïŒãã¯ãããžãŒãä»ããŠè¡ãããŸãã PONçµç±ã§æ¥ç¶ããå ŽåãHuawei端æ«ã䜿çšãããHG810ã¢ãã«ãONUïŒOptical Network UnitïŒã§ãã PONãã¯ãããžãŒã«ã€ããŠã¯ãã¡ããã芧ãã ãã ã
ãã®äŒç€Ÿã®æ©åšã«ã¯ç¹å®ã®æ©èœããããŸãã ããã¯ãäžæ¹ã§ã¯ISPãŠãŒã¶ãŒã«ã¯äžèŠã§ãããå å ¥è ã¢ã¯ã»ã¹ãããã¯ãŒã¯ã®èšèšã«é¢ããŠç©æ¥µçãªåœ¹å²ãæãããŸãã äžæ¹ããããã®æ©èœã¯äŒæ¥é¡§å®¢ã«æªåœ±é¿ãåãŒãå¯èœæ§ããããŸãã
ãããã詳ããèŠãŠã¿ãŸãããïŒ
- Huaweiæ©åšäžã«æ§ç¯ãããPONãããã¯ãŒã¯ã§ã¯ãåãããŒã¹ã¹ããŒã·ã§ã³ïŒOLT-Optical Line TerminalïŒããåäœããŠããONUéã®ãã©ãã£ãã¯äº€æã¯ããã©ã«ãã§çŠæ¢ãããŠããŸãã äŒæ¥VLANã®ç¹å¥ãªãããã¡ã€ã«ã䜿çšããŠããã®åé¡ã解決ããããšãã§ããŸããã
- ONUã¯ãå å ¥è ãããããã€ããŒãããã¯ãŒã¯ã«åããŠDHCPãã±ãããæž¡ããŸããã ãããã€ããŒã®ãããã¯ãŒã¯ããå å ¥è ã«åãã£ãŠ-ãã¹ãŠãé²ã¿ãŸãã ã¡ã€ã³ãªãã£ã¹ãDHCPãµãŒããŒã§ONUãä»ããŠåæ£äŒæ¥ãããã¯ãŒã¯ã«æ¥ç¶ãããšããªãã£ã¹ã«ãããµãŒããŒã¯ãªãã£ã¹ã®å€ã«ããããŒãã«ã¢ãã¬ã¹ãé åžã§ããªããªããŸãã
- ã¯ãã¹ã«ã³ããªãŒãã«ããã£ã¹ã-ããã±ãŒãžã«é¢ããåæ§ã®åé¡ã ãã¹ãŠã®ãã«ããã£ã¹ããã±ããã¯ONUãééããããããã¯ãŒã¯ã®ä»ã®éšåã§ã¯èŠããŸããã
ä»ã®ãã©ãã£ãã¯ã«åé¡ã¯ãªãããã£ã«ã¿ãªã³ã°ãå¶éããããŸããã
åé¡2ããã³3ã«ã€ããŠãèªè ããããã¯ãŒã¯ã§Huaweiã®PONã䜿çšãããã®ãããªãã©ãã£ãã¯ã®ééãèš±å¯ããæ¹æ³ãç¥ã£ãŠãããšã³ãžãã¢ãããå Žåãç§ã¯åãã§ã¢ããã€ã¹ããŸãã
ç§ã«é£çµ¡ããæç¹ã§ã¯ãåºèã®ãã§ãŒã³ã¯ãKerio Control Serverãå®è¡ããŠãã1ã€ã®ã«ãŒã¿ãŒãæã€ã管çãããŠããªããã©ãããªãããã¯ãŒã¯ã§ããã
ãããã¯ãŒã¯äžã§ã¯ããã¹ãŠã®åºèã®ãã¹ãŠã®IPããã€ã¹ãçžäºã«èªèãããŠããŸããã ãããã€ããŒã®ã¹ã€ããã®FDBããŒãã«ã«ã¯ãVLANå ã®åèšã§350ãè¶ ããããã€ã¹ããããŸãã ãããã®ããã€ã¹ã¯ãã¹ãŠã1ã€ã®å€§ããªãããŒããã£ã¹ããã¡ã€ã³ã«å±ããŠããŸããã
ãã®ããããããã¯ãŒã¯ã§ããŸããŸãªé害ãçºçããåºèã®éå¶ã«å¹²æžããããããããã¯ãŒã¯ã§ã¯ã»ã°ã¡ã³ããŒã·ã§ã³ãå¿ èŠã§ããã
ãããã€ããŒã§äºæ ãçºçãããªãã£ã¹ãšåã ã®åºèãšã®æ¥ç¶ã倱ãããããšããããŸããã
ããã«æªãããšã«ãã»ã³ãã©ã«ãªãã£ã¹ãšãããã€ããŒã®ãããã¯ãŒã¯ãšã®éã§éä¿¡ã倱ãããå Žåã ãã®å Žåãåžå ã«åæ£ããŠãã12åºèãã¹ãŠãããªãã£ã¹ã«ãããµãŒããŒãšéä¿¡ãããã€ã³ã¿ãŒãããã«ã¢ã¯ã»ã¹ã§ããŸããã ãã®æéäžãåºã®ä»äºã¯éåžžã«éãããŠãããæ©äŒã¯æ¶ããŸãïŒ
- éè¡æ¯èŸŒã«ããæ¯æããåãå ¥ããŸãã
- ååã®åãåããšä¿®æ£ã
- äŸ¡æ Œãšæ®é«ãåæããŸãã
ã»ã³ãã©ã«ãªãã£ã¹ã¯ã€ãŒãµãããçµç±ã§æ¥ç¶ãããŸããã ãã¹ãŠã®åºèã®ããã€ã¹ã«DHCPãé åžããå¿ èŠãããããã ãªãã£ã¹ããã®å åŠæ©åšã¯ããããã€ããŒã®éä¿¡ã»ã³ã¿ãŒãããæå¯ãã®ã¢ããŒãã«éãããŸãã ãã®å®¶ãŸãã¯ããã«æ¥ç¶ããã家ã§é»åã倱ããããšã12åºèãã¹ãŠããªãã£ã¹ãšã®éä¿¡ãªãã§æ®ãããŸãã
åé»ã®å Žåã«æ©èœããããã«ãPONã©ã€ã³ãæ¬ç€Ÿã«èšçœ®ãããŠããŸãã ã€ãŒãµãããããããã®å Žåã®äºåãšããŠã®ã¿äœ¿çšãããŸããã DHCPãã±ããã¯ééããŸããã§ããã ã€ãŒãµããããšPONéä¿¡ãã£ãã«ã®åãæ¿ãã¯æåã§è¡ãããŸãã ã
ç§ã¯ã¿ã¹ã¯ãå²ãåœãŠãããŸããïŒ
- ãããã¯ãŒã¯ãã»ã°ã¡ã³ãåããå€ãã®å°ããªãããŒããã£ã¹ããã¡ã€ã³ã«åå²ããŠãå ±éãããã¯ãŒã¯ãžã®æªåœ±é¿ãæé€ããŸãã
- æ¬ç€Ÿãšãããã€ããŒã®éã§ã€ãŒãµããããšPONéã®éä¿¡ã倱ãããå Žåã«ãå éšéä¿¡ãã£ãã«ãèªåçã«åãæ¿ããæ¹æ³ãå°å ¥ããŸãã
- ç¹å®ã®åºèã§ISPãšã®æ¥ç¶ã倱ãããå Žåã«åããŠããªãã£ã¹ãšã®éä¿¡ãèªåçã«åãæ¿ããæ¹æ³ãå°å ¥ããŸããããã¯ããªãã£ã¹ãšã®ã€ã³ã¿ãŒãããéä¿¡ããã³ããŒã«ã«ã¢ã¯ã»ã¹ãæå³ããŸãã
- ãããã¯ãŒã¯ã®ç¹å®ã®ã»ã¯ã·ã§ã³ã§ã®äºæ ïŒãªãã£ã¹ãšã®é£çµ¡ã倱ãããããŸãã¯ããã¯ã¢ããã€ã³ã¿ãŒãããã倱ãããïŒã«ã€ããŠãäŒæ¥ã®ã·ã¹ãã 管çè ã«èªåçã«éç¥ããæ©èœãå®è£ ããŸãã
ããŒã1.ã¿ã¹ã¯ã解決ãã
ãããã®ã¿ã¹ã¯ãéæããããã«ã MikroTikæ©åšãè³Œå ¥ãããŸããã RB1100AHx2ã¢ãã«ã¯äžå€®ãªãã£ã¹ã§è³Œå ¥ãã MikroTik hExïŒRB750Gr2 ïŒã¯12åºèããããã§è³Œå ¥ããŸããã
ã»ã³ãã©ã«ãªãã£ã¹ãšãã¹ãŠã®åºèã§ã¯ã2çªç®ã®ãããã€ããŒãæ¥ç¶ãããŠããŸã-Rostelecomã ãã®äŒç€Ÿã¯ã€ã³ã¿ãŒãããã¢ã¯ã»ã¹ ã®ã¿ãè³Œå ¥ããŸã ã ã»ã³ãã©ã«ãªãã£ã¹ã§ã¯ãADSLçµç±ã®åºèã§ã±ãŒãã«ïŒFTTHïŒã«ãã£ãŠæ¥ç¶ãè¡ãããŸãã ã¢ãã ã¯ãããã€ããŒããã¬ã³ã¿ã«ãããããªããžã¢ãŒãã§ã®ã¿åäœããŸãã
åæ£ã¢ãã¬ãã·ã³ã°ã¹ããŒã ããšã³ã¿ãŒãã©ã€ãºãããã¯ãŒã¯ã«å°å ¥ãããŸããã
- 192.168.1.0/24-ã»ã³ãã©ã«ãªãã£ã¹ã®ãããã¯ãŒã¯ã
- 192.168.2.0/24-12åºèããããã®192.168.13.0/24ããŒã«ã«ãããã¯ãŒã¯ã
ãªãã£ã¹éã®ã«ãŒãã£ã³ã°ã®ããã«ãMikroTikã«ãŒã¿ãŒéã®éä¿¡ãç·šæããã2ã€ã®è£å©ãããã¯ãŒã¯ãå°å ¥ãããŸããã
- 10.10.10.0/24-ã¡ã€ã³ã€ãŒãµããããã£ãã«ãä»ããŠã¡ã€ã³ãªãã£ã¹ã«å°çãããããã¯ãŒã¯
- 10.10.20.0/24-ããã¯ã¢ãããã£ãã«ïŒPONïŒãä»ããŠæ¬ç€Ÿã«å°çãããããã¯ãŒã¯
ã¡ã€ã³ãªãã£ã¹ã«ã¯ã3ã€ã®ãã£ãã«ãä»ããã€ã³ã¿ãŒãããã¢ã¯ã»ã¹ããããŸãã
- ISP1-A-ã€ãŒãµããããã£ãã«çµç±ã/ 30 IPãã¬ãã£ãã¯ã¹ä»ã-1.1.1.1
- ISP1-B -PONãã£ãã«çµç±ããã¬ãã£ãã¯ã¹/ 30 IP- 2.2.2.2
- ISP-2 ïŒRostelecomïŒ -PPPoE ãIPçµç±-3.3.3.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ã€ã®è£å©ãããã¯ãŒã¯ãå°å ¥ããŸãã
- 10.20.30.0/24-VPNå ã®ãããã¯ãŒã¯ãå€éšãããã¯ãŒã¯ãä»ããŠISP-1ããIPã«åºå·ããåºèçš
- VPNå ã®10.30.40.0/24ãããã¯ãŒã¯ãå€éšãããã¯ãŒã¯ãä»ããŠISP-2ããIPã«ãã£ã€ããŠããåºèçš
ã«ãŒã¿ãŒã§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åºèãæ¥ç¶ããããã®äžè¬çãªã¹ããŒã ã§ãã
