3 j iptables Netfilter j iptables Ü iptables ¾
Linux j iptables ô ô ƒ j Ã Ñ Î ~ t d ~ Linux v Netfilter j ˆ Ãlî iptables v¹rûn á à v ~ Õ Ä~ ví s { f ¾ lœ v à 3-1 Netfilter j Ÿ 2.4.x é Linux Kernel þëì Á Netfilter ÌΞ iptables Ð Ð õëì Ñ IPFW žî ë ª ipfwadm 2.0.x ipchains 2.1.x/2.2.x iptables ЫÍë Ý 2.4.x éœë Š Œ ΞíΞ éë ipchains ªÎ ØÌ ³ Ξ õ ipchains ipchains þ ó Ξ ipchains ª # ipchains -F # ipchains X # rmmod ipchains Ÿõ Netfilter Š Îë Ñ ipchains ë ² Î Î Ÿëü ØΞí PID Ñ ë Ò 3-2
j iptables 3 Øü Ÿð õ ë š þ ««ë ëü iptables Þ«6 TCP Ì Ø ±ëî ÝŸë ò «Ý ë ±¹ MAC Address ë Ø Îë Ñ à Þ â ëá Ñ ë ½ ë â ë ½ ù TOS Í ½ÐŠ ë â ë ý ³ï Î Source NAT SNAT Destination NAT DNAT ë 3-1 SNAT DNAT µ Network Address Translation NAT rû ¹ RFC 1631 à Internet lîûv ffë IP ro t ¾ l vd IP Ãl ol nã Internet 3-3
Linux j iptables iptables ªë áü ë ³ Í ³ µ žš ë öð Rule Tables ÎØ iptables Š 3 þë öð Filter Table NAT Table Mangle Table š ð Ì ëü Á ë ³ à öð Ÿ Chain Þ ª ÎÎ Filter Table Š ë š 3 þë INPUT Chain OUTPUT Chain Ô FORWARD Chain 3-2 ÉýÔÎ Filter Table iptables Šë öð Å «ØÐ ö iptables ž Filter Table Šë ö Ð öð ëîž Ì ë ž iptables Ξ ë Filter Table Þ «š ü Packet Filter Filter Table ü Ò þ Ø ë öîµ ü Ÿáš ³á Þ Š ü Š Ðü Šë 3-4
º Ý j iptables 3 ð Filter Table Š þë 3 ö Ì ü ë 3-3 ªq ÚuÉå Šð ü à Šë ² ö ü ÄØþ ë Î Ý Ò ž Î ë Ÿ â ðþ j w ¹ Ôndà ˆj oœvã ƒ wã~ o Ônd ¹ à ov ˆj à wn wã~ ÙÜ Ù Ñà NetFilter ol ˆj à ƒ TCP UDP ICMP dñ ÙÔn µ n vã dño} e Èx Ôn~ i r à d Ône á dã î o ÔnÃî ˆ zj 3-5
Linux j iptables Ð Ã á š µž Øë öî ü µ µ ë ãš Match ö Ÿ Šë ö Ð þ Å«² ö ε ö µž ë öî³ ÄØ ³ Ýë ö à ü Ì ü ëã â 1 j ÔnÖ hò{ Ý ÔnÃwÃ~ ô ÝÃ Ë á v Routing 2»wÃ~ át Î Ôn ß} INPUT vt î Öyv OUTPUT» Ôno à ε ª Î ôôno rµù}ãäñ 3» hœƒ n Forwarding µû à Š Ôn Î ôôn x 4 ëû n Î Ôn Ù}q ô äñ ß} FORWARD» Ôno à ε ª Î ô Ôno rµù}ãäñ 3-6
3-2 iptables Ü j iptables 3 Ð iptables Š 3 þ öð Š ùëü Í öð ë Module ù È Š öðëîž Ã È þë öðš Ø ë Û² Module Extension Í Û² ë È Filter Table ūΞ ë Ì Îžë öð Filter Table Filter Table ë Í œ Ý þë INPUT Chain OUTPUT Chain FORWARD Chain ΞíØ ë â ACCEPT DROP Ÿ Target Û² Logging ë Ξ ë ± ë /etc/syslog.conf Š Ø Ý Ø TCP é Þ«ë TCP é þ ë ãîäø ù Û²ëü ICMP Ý TCP ë RST Reset Š Ø REJECT ë ³ IPv4 Š Ø TCP œ Ò RST Ý ICMP ë Ô 3-7
Linux j iptables ü á± QUEUE ± ë ³ š ü œ ë± ªŠ Å«² þ ë ž ª ö ü µž IP ð Šë ÑØ Î Ÿë IP ±¹ Œ Ÿ TCP UDP ICMP ð ±ë Filter Table Š Û² target match õí REJECT ü ³ LOG þ íö ùë Ÿõ é µž TCP UDP ICMP ë é ü ë Ý ð þ þ þ ëü Ò Multiport ëî Ÿ ë ë ª á ó ë MAC Î ±¹ ª Ξ œ ë Authentication MAC ±¹ ë Ÿ ëîží ½Ý ½ œ ë ü µž ž ü ë ž ª IP ð ë TOS Type of Service ± TOS ± žî Øœ ü ë ½ Priority Î œ œ Ÿ ü mark ± žî ü ü ª ±ë Ø Î ü ˆŠ 4294967296 3-8
j iptables 3 ü Ñ ü Ñ ü ë ¹ Î Ã Ý ë à ¹ ü ë š ª Ø ü ë ³ üîž Flooding Á æ â ò Mangle Table Mangle Table Š ùë ³Û² ð Û²ë â ²Š} ¹ TTL õ Time-To-Live MARK d ~Ôn à mark Ù ôó TOS i IP È TOS óã ë ³Û²š Mangle Table «þë ÎΞ PREROUTING ð ü Ÿõ ü Ÿ þ Ø Ÿµ ë ˆ Ÿë IP ë ³ DNAT OUTPUT Ÿœ ½ žëü Š ë NAT Table NAT Table «PREROUTING POSTROUTING OUTPUT þ ¹ ³ Ÿá ³ë Ý Ÿë ¹ ëü Š 3-9
Linux j iptables Î ¹ ŽÁ ü ë Ì ³ à ü öð ü ë öø ª æ ü öð ³ ¹ š Š Ð ž NAT Table Š þë â PREROUTING Ÿë IP ë ³ DNAT OUTPUT Ÿœ ½ žëü Š ë POSTROUTING ëîž Ÿðþ Œ õ ˆ Î IP ë ³ SNAT š NAT Table Ÿë ëû² š žî Î ± ¹ Ÿë ±¹ ë ³ ë NAT ùª Source NAT SNAT Á ü ëî ±¹ Destination NAT DNAT Á ü ëÿë ±¹ MASQUERADE š á SNAT ë ù IP Masquerade Ð Internet öð ë µî嫪 Øë IP ±¹ Internet REDIRECT š á DNAT ë ù Ð ü œ ë Š IP ü ð Ÿë ±Š ë±¹ ² 3-10
j iptables 3 3-4 IP Masquerade t Ôn (Masquerading) Û SNAT à rqv¹ e à IP ~ ûv IP ~ Î v SNA T ¹ ~ masquerading ~ ~ár vôn näñ á ~ ðîãû» Î } { v à IP ~ n 3-3 iptables ¾ iptables ªë œ þ Î Œ iptables ªëΞ æ ëœ iptable ë æ iptables [-t table] command [match] [-j target/jump] 3-11