ãLinux-ããããšãOpenBSDã§ãã£ãšãã£ãããããããããŠç§ã¯Kerio WinRouteããããããªãã¯ãã¹ãŠæè ã ããªã©ã®ãããã¯ãåãäžããªãã§ãã ããã
ãã®èšäºã¯ãäœããã®çç±ã§Linuxãéžæããiptablesã®åŠç¿ã«å€ãã®æéãè²»ãããããªãïŒããã³æ··ä¹±ã®äœå°ãããïŒäººã察象ãšããŠããŸãã
ãããã£ãŠãã«ããã·ãŒãã®äž
ãŸã第äžã«ãShorewallãšã¯äœã§ããïŒ
Shorewall-
çŸåšãã·ã§ã¢ãŠã©ãŒã«4.4ã®ææ°ããŒãžã§ã³ãã¬ããŒ-4.0ãã«ã«ããã¯-4.2ã ç§ã«æãè¿ããã·ã³ã¯Ubuntu Server 9.10ã§å®è¡ããããããäž»ã«ããŒãžã§ã³4.2ã«ã€ããŠã話ããŸããäž»èŠãªæ©èœã»ããã¯ããã«Shorewallã«ç»å Žããã®ã§ãShorewallã®ã©ã®ããŒãžã§ã³ã§ãã»ãšãã©ãã¹ãŠãæ©èœããã¯ãã§ãã
ããŒãžã§ã³4.2ããåã®ããŒãžã§ã³ã§ã¯ãShorewallã¯Perlãšã·ã§ã«ã®äž¡æ¹ã䜿çšããŠæ§æãåŠçã§ããŸããã ããŒãžã§ã³4.4ã§ã¯ãã·ã§ã«ã®ãµããŒãã¯å»æ¢ãããŸããïŒãã°ã®ãããšã³ãã£ãã£ãäœæãããã®ããªãããïŒããããã£ãŠãPerlããŒãžã§ã³ã«ã€ããŠã®ã¿èª¬æããŸãã
ã€ã³ã¹ããŒã«
ã·ã§ã¢ãŠã©ãŒã«å šäœãperlã¹ã¯ãªãããšèšå®çšã®ç©ºçœã®ã»ããã§ãããããäŸåé¢ä¿ã«ã€ããŠè©±ãã®ã¯ã°ãããŠããŸãã Perlãšiptablesãå¿ èŠã§ãã ããªãã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã®ãªããžããªã«ããªãã«é©ããshorewall-perlããŒãžã§ã³ãããã°ãããã眮ããŠãããããã§ãªããã°ãå¥ã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ããdebãŸãã¯rpmãåãåºããŠãã ããã
éå§ãšåæ¢
ææ ¢ã§ããªãã®ã§ãããã«æ°ããsoftinkaãç«ã¡äžãããã§ãã ããã¯ãintã¹ã¯ãªããã ãã§ãªããã³ãã³ãã§ãå®è¡ã§ããŸã
shorewall {éå§ãåæ¢ãåèµ·å}ãããã¯ãããã°äžã«ã奜ãŸãã-ãšã©ãŒã«ã€ããŠã¯ã³ã³ãœãŒã«ã«çŽæ¥æžã蟌ãŸããŸãã
æ§æã¡ã¢
ãã¹ãŠã®æšæºæ§æã¯ãå梱ãããŠãããã®ããååŸããå¿ èŠããããŸãã ãã¡ã€ã«ã«ã¯ããã¡ã€ã«ã®ç®çã«é¢ããæå³ã®ããã³ã¡ã³ãã ãã§ãªããããŒãµãŒã®ããŒã«ãŒãå«ãŸããŸããããŒãµãŒã¯ãã·ã¹ãã ã®åäœãä¿èšŒãããã®ã§ã¯ãããŸããã ubuntã§ã¯ããããã¯/ usr / share / doc / shorewall-common / default-configã«ãªããŸããã
ãã¡ã€ã¢ãŠã©ãŒã«æ§æèªäœã¯/ etc / shorewallã«ããããã¹ã®ãªããã¹ãŠã®æ§æãã¡ã€ã«ãããã«ããã¯ãã§ãã
äžè¬çãªããŒã ã«ãŒã¿ãŒã®æ§æ
1.ãŸãŒã³ã
ã·ã§ã¢ãŠã©ãŒã«ãã±ããã«ãŒã«ã¯ããŸãŒã³ã®æœè±¡åã䜿çšããŸããåŠçãããã¹ãŠã®ãããã¯ãŒã¯ã¯ãäœããã®æ¹æ³ã§åŒã³åºãå¿ èŠããããŸãã æåã«ããŸãŒã³ã®ååã決å®ããå¿ èŠããããŸãã ç§ã®å Žåã4ã€ãããŸãããã¡ã€ã¢ãŠã©ãŒã«èªäœãå«ãå¿ èŠãªãŸãŒã³ãDHCPã䜿çšããããŒã ãããã¯ãŒã¯ããããã€ããŒLANãããã³PPPoEãä»ããã€ã³ã¿ãŒãããã§ãã ããã±ãŒãžãããã©ã³ã¯ãã³ããŒããããšãå¿ããªãã§ãã ããïŒ æ§æã¯æ¬¡ã®ããã«ãªããŸããã
ïŒç«ãŸãŒã³|å°Ÿ-7 #Zoneã¿ã€ãã®ãªãã·ã§ã³ ïŒãªãã·ã§ã³ãªãã·ã§ã³ FWãã¡ã€ã¢ãŠã©ãŒã« inet ipv4 nbn ipv4 mork ipv4 ïŒæåŸã®è¡-ãã®1ã€ã®äžã«ãšã³ããªãè¿œå ããŸã-åé€ããªãã§ãã ãã
ããã§ãnbnã¯ãããã€ããŒLANïŒã¯ããnetbaynetïŒãmorkã¯ããŒã govnosetkaã§ãã
2.ã€ã³ã¿ãŒãã§ãŒã¹ãšãã¹ã
䜿çšãããŸãŒã³ã決å®ãããããŸãŒã³éã§ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ïŒl2ïŒãšIPãããã¯ãŒã¯ïŒl3ïŒãåå²ããæ¹æ³ãèšãå¿ èŠããããŸãã
interfacesãã¡ã€ã«ã§ãåŠçäžã®ãã¹ãŠã®ã€ã³ã¿ãŒãã§ã€ã¹ããªã¹ãããå¿ èŠããããŸãã ããã¯ããã®ã€ã³ã¿ãŒãã§ãŒã¹å šäœããã®ãŸãŒã³ã«ããããšãã圢åŒã§è¡ããããããã€ã³ã¿ãŒãã§ãŒã¹ãè€æ°ã®ãŸãŒã³ã«åå²ããå ŽåããŸãŒã³ã®ä»£ããã«ããã·ã¥ãæå®ããå¿ èŠããããŸãã
ç§ã®æãç°¡åãªãªãã·ã§ã³ïŒ
ïŒtail -5ã€ã³ã¿ãŒãã§ã€ã¹ #ZONE INTERFACE BROADCAST OPTIONS mork lanãdhcpãæ€åº inet ppp +æ€åº nbn provæ€åº ïŒæçµè¡-ããããåã«ãšã³ããªãè¿œå ããŸã-åé€ããªãã§ãã ãã
ã¯ããã¯ããç§ã®ãããã¯ãŒã¯ã«ãŒãã¯lanããã³provãšåŒã°ããŸãã ã»ãšãã©ãeth0ãeth1ãªã©ã«ãªããŸãã
äŸãããããããã«ããã¹ã¯ã䜿çšã§ããŸãã ãã®å Žåãppp +ã¯ppp0ãå«ãããŸããŸãªPPPãã³ãã«ãååŸããŸãã
1ã€ã®ã€ã³ã¿ãŒãã§ãŒã¹ãè€æ°ã®ãŸãŒã³ã«åå²ããå Žåããã¹ããã¡ã€ã«ã§ãã©ã®ã€ã³ã¿ãŒãã§ãŒã¹ã®ã©ã®ãµãããããã©ã®ãŸãŒã³ã«å ¥ãããæå®ããŸãã æ§æã¯åçŽã§ã-ããŸãŒã³ã€ã³ã¿ãŒãã§ã€ã¹ïŒãµããããããäŸå€ãè¿œå ããæ©èœã
3.ããªã·ãŒ
äžçããŸãŒã³ã«åå²ãããšããããã©ã«ãã§èª°ã«äœãã§ããããèšãããšãäžå¯æ¬ ã§ãã ãã®ããžãã¹ã¯æ¿æ²»å®¶ãšåŒã°ããããªã·ãŒãã¡ã€ã«ã«ããããã©ãã£ãã¯ãããŒã®ãã¹ãŠã®å¯èœãªæ¹åã®ããªã·ãŒãå®çŸ©ããå¿ èŠããããŸãã ããã©ã«ãããªã·ãŒãæåŸã«è¿œå ããããšããå§ãããŸãããããå°ãé«ãããŸã-äŸå€ïŒ
ïŒããŒã«-6ããªã·ãŒ #SOURCE DESTããªã·ãŒãã°ã®å¶éïŒCONNLIMITïŒ ïŒã¬ãã«ããŒã¹ããã¹ã¯ fw all ACCEPT ãã¹ãŠåãå ¥ãã ãã¹ãŠãã¹ãŠæåŠ ïŒæçµè¡-åé€ããªãã§ãã ãã
ããã§ã¯ãããŒã ã°ãªãããšãã¡ã€ã¢ãŠã©ãŒã«ããä»»æã®å Žæãžã®ãã¹ãŠã®ãã©ãã£ãã¯ãèš±å¯ããä»ã®ãã¹ãŠãçŠæ¢ããŸãã
4.åé£è¡
ãã®æ®µéã§ãæ§æã¯ã³ã³ãã€ã«ããŠç²åŸããã¯ãã§ãã ã€ã³ã¿ãŒãããããã¡ã€ã¢ãŠã©ãŒã«äžã«ããã®ã¯ä»ã ãã§ããçµå±ã®ãšãããNATãæ§æããŠããŸããã ããããäœããæ©èœãããšãããã§ã«åãã§ããŸã:)
5. NATã»ããã¢ãã
ä»®é¢èèžäŒã¯ããã€ãã®ããã«ãåçŽã«å«ãŸããŠããŸãã 泚ïŒãŸãŒã³ã§ã¯ãªããã€ã³ã¿ãŒãã§ãŒã¹ã瀺ãããŠããŸãã IPãµãããããæå®ã§ããäŸå€ãäœæã§ããŸãã Masqãã¡ã€ã«ïŒ
ïŒç«ãã¹ã¯|å°Ÿ-3 #INTERFACE SOURCE ADDRESS PROTO PORTïŒSïŒIPSEC MARK ppp +ãprov lan ïŒæåŸã®è¡-ãã®è¡ã®äžã«ãšã³ããªãè¿œå -åé€ããªãã§ãã ãã
6. shorewall.conf
æåã¯ç»ãå¿ èŠãããå Žæã«çããŸããããããã¯æ wasã§ãããã¯ã£ããããŸããã§ããã ãã®ãã¡ã€ã«ã«ã¯ãããŒãµãŒã®æ§æãåäœã®ããã€ãã®æ©èœãããã³ãã®ä»ã®ãã³ã»ã³ã¹ãå«ãŸããŠããŸãã 次ã®ãã©ã¡ãŒã¿ãä¿®æ£ãã泚æãæã£ãŠããŸãã
STARTUP_ENABLED =ã¯ã-å§ããŸããã VERBOSITY = 1-ã³ã³ãœãŒã«ã®åé·æ§ SHOREWALL_COMPILER = perl-æ··ä¹±ããªãããã«ããã®å Žå * _LOG_LEVEL-ãã¹ãŠãæ£åžžã«æ©èœããå Žåãdmesgãè©°ãŸãããªãããã«noneãå ¥ããŸã LOG_MARTIANS-ãŸã IP_FORWARDING =ãªã³-ãã¹ã«ã¬ãŒãã«ã¯éåžžã«å¿ èŠã§ãã ãã¡ãããsysctl.confã§ãããå®è¡ã§ããŸãããããã§ã¯ããé©åã§ã CLAMPMSS = Yes-ã¢ãããªã³ã¯MTUãããŒã ã°ãªããå ã®ã©ã®ãã·ã³ãããå°ããå Žåãæå¹ã«ããããšããå§ãããŸãã ããã§ã¯ãã³ã³ãã¥ãŒã¿ãŒã®äžéšã§ãŠã£ãããã£ã¢ãå£ããŠãããšããéåžžã«äžå¿«ãªãã°ã«ã€ãªããå¯èœæ§ã¯ãããŸããã ADMINISABSENTMINDED =ã¯ã-Gdãæ³åããªãã§ããã®ãŸãŸã«ããŠãããŸã
7.ã«ãŒã« ïŒæåŸã«ïŒïŒ
å®å šã«æ£ããæäœã®ããã«ãããã§ãã¹ãŠã®ICMPãèš±å¯ããŸãã åæã«å€éšã®SSHã ã«ãŒã«ãã¡ã€ã«ïŒ
ïŒcatã«ãŒã«| tail -11 | grep -v ^ïŒSECTION | head -5 #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATEãŠãŒã¶ãŒ/ MARK CONNLIMIT TIME ïŒPORT PORTïŒSïŒDEST LIMIT GROUP ã»ã¯ã·ã§ã³NEW ãã¹ãŠã®ICMPãåãå ¥ãã ACCEPT inet $ FW tcp 22
7aã ããã§ããŒã転éã«ã€ããŠèª¬æããŸãã
ïŒç«ã®ã«ãŒã«| grep -E 'ïŒ#ACTION | DNATïŒ' #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATEãŠãŒã¶ãŒ/ MARK CONNLIMIT TIME DNAT all morkïŒnavoffïŒ31840 udp 31840 DNAT nbn morkïŒnavoffïŒ7777 UDP 7777 DNAT nbn morkïŒnavoffïŒ7777 tcp 7777
8.å©çïŒ
ãã®æç¹ã§ããã¹ãŠã®æ¹åã®ããŒã ãããã¯ãŒã¯ããã®NATãšããŒã転éãåããå®å šã«æ§æãããããŒã ã«ãŒã¿ãŒãå¿ èŠã§ãã å€éšã§ã¯ãICMPãšSSHã®ã¿ãèš±å¯ãããŸãã ãã¹ãŠã®æ§æãã¡ã€ã«ïŒæ°èŠ5ãä¿®æ£1ïŒã«ã¯ãééããç¯ãã«ããè¡ãå«ãŸããŠããŸããæ§æã¯ããããã¯ãŒã¯ã«ãŒãã®å¥ã®ååãæ¥ç¶ããããããã¯ãŒã¯ã®ä»ã®ã¢ãã¬ã¹ãæã€ãã·ã³ã«ç°¡åã«è»¢éãããŸãã TCPãã±ããã®ãã©ã°ãçä¿¡UDPãã±ããã®çºä¿¡å ïŒåçŽãªiptablesã§DNSãåéããæ¹æ³ãããã³ãçä¿¡ããã¹ãŠçŠæ¢ãããããªã·ãŒïŒã«ã€ããŠå¿é ããå¿ èŠã¯ãããŸããã debianããã³ubuntã§ã¯ã/ etc / default / shorewallãä¿®æ£ããŠãinitã¹ã¯ãªãããæ£åžžã«åäœããããã«ããŸããå Žåã«ãã£ãŠã¯ã奜ã¿ã®ã©ã³ã¬ãã«ã«shorewallãè¿œå ããå¿ èŠããããŸãã
9. PostScriptum
Shorewallã®å¯èœæ§ã¯ããã«éå®ãããŸããã çµã¿èŸŒã¿ã®ã·ã§ãŒãã³ã°ãµããŒãïŒiproute2ã®tcçµç±ïŒãããã€ãã®ã¢ãããªã³ã¯ïŒå¥ã®èšäºã«å€ããïŒãIPv6ãªã©ããããŸãã Webminã䜿çšããŠèšå®ããããšãã§ããŸãã 倧éã®ããã¥ã¡ã³ã ã FAQ ãããã³ããã®è©³çŽ°ãå°è±¡çã§ãã å€ãã®LinuxãŠãŒã¶ãŒïŒåå¿è ã§ãçµéšè±å¯ãªç®¡çè ã§ãïŒããiptablesãžã®ãã®ãã€ã³ãã£ã³ã°ã§èªåèªèº«ã«åœ¹ç«ã€ãã®ãèŠã€ããããšãé¡ã£ãŠããŸãã