Linuxã§ãã¡ã€ã¢ãŠã©ãŒã«ãèšå®ããããã®éåžžã«äŸ¿å©ãªããŒã«ïŒããã³ããªããŒã®
pfã«å¯Ÿãã匷åãªè°è«ïŒã§ããã«ãããããããçªç¶ã
Shorelineãã¡ã€ã¢ãŠã©ãŒã«ã Habréã§ãŸã£ããç¹ç¯ããªãããšãå€æããŸããã
ãLinux-ããããšãOpenBSDã§ãã£ãšãã£ãããããããããŠç§ã¯Kerio WinRouteããããããªãã¯ãã¹ãŠæè
ã ããªã©ã®ãããã¯ãåãäžããªãã§ãã ããã
ãã®èšäºã¯ãäœããã®çç±ã§Linuxãéžæããiptablesã®åŠç¿ã«å€ãã®æéãè²»ãããããªãïŒããã³æ··ä¹±ã®äœå°ãããïŒäººã察象ãšããŠããŸãã
ãããã£ãŠãã«ããã·ãŒãã®äž
ãŸã第äžã«ãShorewallãšã¯äœã§ããïŒ
Shorewall-
å€ãè¯ã iptablesãæšæºã®Linuxãã¡ã€ã¢ãŠã©ãŒã«æ§æããŒã«ãžã®ãã€ã³ãã çŸåšã®ããŒãžã§ã³ã§ã¯
ã Perlã䜿çšã
㊠ãããã€ãã®æ§æãã¡ã€ã«ã®
å
šäœãèªã¿åã£ãŠè§£æããiptables-restoreãšäºææ§ã®ãããã¡ã€ã«ãçæããŠåŸè
ã«ãã£ãŒãããŸãã æ§æã®åçŽããæ§æäžã®æœè±¡åã¬ãã«ã®è¿œå ãå®å®ããDebianã§éåžžã«æ代é
ãã«ãªãç©æ¥µçãªéçºãããã³ããã€ãã®ã¢ãããªã³ã¯ã®ãµããŒããªã©ã®éåžžã«ãããããã®ãç¹åŸŽã§ãã
çŸåšãã·ã§ã¢ãŠã©ãŒã«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. PostScriptumShorewallã®å¯èœæ§ã¯ããã«éå®ãããŸããã çµã¿èŸŒã¿ã®ã·ã§ãŒãã³ã°ãµããŒãïŒiproute2ã®tcçµç±ïŒãããã€ãã®ã¢ãããªã³ã¯ïŒå¥ã®èšäºã«å€ããïŒãIPv6ãªã©ããããŸãã
Webminã䜿çšããŠèšå®ããããšãã§ããŸãã 倧éã®
ããã¥ã¡ã³ã ã
FAQ ãããã³ããã®è©³çŽ°ãå°è±¡çã§ãã å€ãã®LinuxãŠãŒã¶ãŒïŒåå¿è
ã§ãçµéšè±å¯ãªç®¡çè
ã§ãïŒããiptablesãžã®ãã®ãã€ã³ãã£ã³ã°ã§èªåèªèº«ã«åœ¹ç«ã€ãã®ãèŠã€ããããšãé¡ã£ãŠããŸãã