±¾Ìû×îºóÓÉ pig2 ÓÚ 2014-10-25 12:04 ±à¼
µ¼¶Á
iptablesË׳ƷÀ»ðǽ£¬»òÐíÎÒÃÇÒѾ²»ÔÚÄ°Éú£¬µ«ÊÇ×÷Ϊopenstack»ù´¡£¬ÕâÀﻹÊǶÔÆä×öһЩ²¹³ä£¬Á˽â¸ü¶àµÄϸ½Ú
1.ʲôÊÇÆß²ã·À»ðǽ£¿
2.ʲôÊÇÈý²ã·À»ðǽ£¿
3.iptablesµÄÔÀíÊÇʲô£¿
Ò»£ºÇ°ÑÔ
·À»ðǽ£¬Æäʵ˵°×Á˽²£¬¾ÍÊÇÓÃÓÚʵÏÖLinuxÏ·ÃÎÊ¿ØÖƵŦÄܵģ¬Ëü·ÖΪӲ¼þµÄ»òÕßÈí¼þµÄ·À»ðǽÁ½ÖÖ¡£ÎÞÂÛÊÇÔÚÄĸöÍøÂçÖУ¬·À»ðǽ¹¤×÷µÄµØ·½Ò»¶¨ÊÇÔÚÍøÂçµÄ±ßÔµ¡£¶øÎÒÃǵÄÈÎÎñ¾ÍÊÇÐèҪȥ¶¨Òåµ½µ×·À»ðǽÈçºÎ¹¤×÷£¬Õâ¾ÍÊÇ·À»ðǽµÄ²ßÂÔ£¬¹æÔò£¬ÒÔ´ïµ½ÈÃËü¶Ô³öÈëÍøÂçµÄIP¡¢Êý¾Ý½øÐмì²â¡£
Ä¿Ç°ÊÐÃæÉϱȽϳ£¼ûµÄÓÐ3¡¢4²ãµÄ·À»ðǽ£¬½ÐÍøÂç²ãµÄ·À»ðǽ£¬»¹ÓÐ7²ãµÄ·À»ðǽ£¬ÆäʵÊÇ´úÀí²ãµÄÍø¹Ø¡£
¶ÔÓÚTCP/IPµÄÆß²ãÄ£ÐÍÀ´½²£¬ÎÒÃÇÖªµÀµÚÈý²ãÊÇÍøÂç²ã£¬Èý²ãµÄ·À»ðǽ»áÔÚÕâ²ã¶ÔÔ´µØÖ·ºÍÄ¿±êµØÖ·½øÐмì²â¡£µ«ÊǶÔÓÚÆß²ãµÄ·À»ðǽ£¬²»¹ÜÄãÔ´¶Ë¿Ú»òÕßÄ¿±ê¶Ë¿Ú£¬Ô´µØÖ·»òÕßÄ¿±êµØÖ·ÊÇʲô£¬¶¼½«¶ÔÄãËùÓеĶ«Î÷½øÐмì²é¡£ËùÒÔ£¬¶ÔÓÚÉè¼ÆÔÀíÀ´½²£¬Æß²ã·À»ðǽ¸ü¼Ó°²È«£¬µ«ÊÇÕâÈ´´øÀ´ÁËЧÂʸüµÍ¡£ËùÒÔÊÐÃæÉÏͨ³£µÄ·À»ðǽ·½°¸£¬¶¼ÊÇÁ½Õß½áºÏµÄ¡£¶øÓÖÓÉÓÚÎÒÃǶ¼ÐèÒª´Ó·À»ðǽËù¿ØÖƵÄÕâ¸ö¿ÚÀ´·ÃÎÊ£¬ËùÒÔ·À»ðǽµÄ¹¤×÷ЧÂʾͳÉÁËÓû§Äܹ»·ÃÎÊÊý¾Ý¶àÉÙµÄÒ»¸ö×îÖØÒªµÄ¿ØÖÆ£¬ÅäÖõIJ»ºÃÉõÖÁÓпÉÄܳÉΪÁ÷Á¿µÄÆ¿¾±¡£
¶þ£ºiptables µÄÀúÊ·ÒÔ¼°¹¤×÷ÔÀí
1.iptablesµÄ·¢Õ¹:
iptablesµÄÇ°Éí½Ðipfirewall £¨ÄÚºË1.xʱ´ú£©,ÕâÊÇÒ»¸ö×÷Õß´ÓfreeBSDÉÏÒÆÖ²¹ýÀ´µÄ£¬Äܹ»¹¤×÷ÔÚÄں˵±Öеģ¬¶ÔÊý¾Ý°ü½øÐмì²âµÄÒ»¿î¼òÒ×·ÃÎÊ¿ØÖƹ¤¾ß¡£µ«ÊÇipfirewall¹¤×÷¹¦Äܼ«ÆäÓÐÏÞ(ËüÐèÒª½«ËùÓеĹæÔò¶¼·Å½øÄں˵±ÖУ¬ÕâÑù¹æÔò²ÅÄܹ»ÔËÐÐÆðÀ´£¬¶ø·Å½øÄںˣ¬Õâ¸ö×ö·¨Ò»°ãÊǼ«ÆäÀ§ÄѵÄ)¡£µ±Äں˷¢Õ¹µ½2.xϵÁеÄʱºò£¬Èí¼þ¸üÃûΪipchains£¬Ëü¿ÉÒÔ¶¨Òå¶àÌõ¹æÔò£¬½«ËûÃÇ´®ÆðÀ´£¬¹²Í¬·¢»Ó×÷Ó㬶øÏÖÔÚ£¬Ëü½Ð×öiptables£¬¿ÉÒÔ½«¹æÔò×é³ÉÒ»¸öÁÐ±í£¬ÊµÏÖ¾ø¶ÔÏêϸµÄ·ÃÎÊ¿ØÖƹ¦ÄÜ¡£
ËûÃǶ¼Êǹ¤×÷ÔÚÓû§¿Õ¼äÖУ¬¶¨Òå¹æÔòµÄ¹¤¾ß£¬±¾Éí²¢²»ËãÊÇ·À»ðǽ¡£ËüÃǶ¨ÒåµÄ¹æÔò£¬¿ÉÒÔÈÃÔÚÄں˿ռ䵱ÖеÄnetfilterÀ´¶ÁÈ¡£¬²¢ÇÒʵÏÖÈ÷À»ðǽ¹¤×÷¡£¶ø·ÅÈëÄں˵ĵط½±ØÐëÒªÊÇÌض¨µÄλÖ㬱ØÐëÊÇtcp/ipµÄÐÒéÕ»¾¹ýµÄµØ·½¡£¶øÕâ¸ötcp/ipÐÒéÕ»±ØÐë¾¹ýµÄµØ·½£¬¿ÉÒÔʵÏÖ¶ÁÈ¡¹æÔòµÄµØ·½¾Í½Ð×ö netfilter.(ÍøÂç¹ýÂËÆ÷)
×÷ÕßÒ»¹²ÔÚÄں˿ռäÖÐÑ¡ÔñÁË5¸öλÖã¬
1.Äں˿ռäÖУº´ÓÒ»¸öÍøÂç½Ó¿Ú½øÀ´£¬µ½ÁíÒ»¸öÍøÂç½Ó¿ÚÈ¥µÄ
2.Êý¾Ý°ü´ÓÄÚºËÁ÷ÈëÓû§¿Õ¼äµÄ
3.Êý¾Ý°ü´ÓÓû§¿Õ¼äÁ÷³öµÄ
4.½øÈë/À뿪±¾»úµÄÍâÍø½Ó¿Ú
5.½øÈë/À뿪±¾»úµÄÄÚÍø½Ó¿Ú
2.iptablesµÄ¹¤×÷»úÖÆ
´ÓÉÏÃæµÄ·¢Õ¹ÎÒÃÇÖªµÀÁË×÷ÕßÑ¡ÔñÁË5¸öλÖã¬À´×÷Ϊ¿ØÖƵĵط½£¬µ«ÊÇÄãÓÐûÓз¢ÏÖ£¬ÆäʵǰÈý¸öλÖÃÒѾ»ù±¾ÉÏÄܽ«Â·¾¶³¹µ×·âËøÁË£¬µ«ÊÇΪʲôÒѾÔÚ½ø³öµÄ¿ÚÉèÖÃÁ˹ؿ¨Ö®ºó»¹ÒªÔÚÄÚ²¿¿¨ÄØ£¿ ÓÉÓÚÊý¾Ý°üÉÐδ½øÐзÓɾö²ß£¬»¹²»ÖªµÀÊý¾ÝÒª×ßÏòÄÄÀËùÒÔÔÚ½ø³ö¿ÚÊÇû°ì·¨ÊµÏÖÊý¾Ý¹ýÂ˵ġ£ËùÒÔÒªÔÚÄں˿ռäÀïÉèÖÃת·¢µÄ¹Ø¿¨£¬½øÈëÓû§¿Õ¼äµÄ¹Ø¿¨£¬´ÓÓû§¿Õ¼ä³öÈ¥µÄ¹Ø¿¨¡£ÄÇô£¬¼ÈÈ»ËûÃÇûʲôÓã¬ÄÇÎÒÃÇΪʲô»¹Òª·ÅÖÃËûÃÇÄØ£¿ÒòΪÎÒÃÇÔÚ×öNATºÍDNATµÄʱºò£¬Ä¿±êµØַת»»±ØÐëÔÚ·ÓÉ֮ǰת»»¡£ËùÒÔÎÒÃDZØÐëÔÚÍâÍø¶øºóÄÚÍøµÄ½Ó¿Ú´¦½øÐÐÉèÖùؿ¨¡£
ÕâÎå¸öλÖÃÒ²±»³ÆΪÎå¸ö¹³×Óº¯Êý£¨hook functions£©,Ò²½ÐÎå¸ö¹æÔòÁ´¡£
1.PREROUTING (·ÓÉÇ°)
2.INPUT (Êý¾Ý°üÁ÷Èë¿Ú)
3.FORWARD (ת·¢¹Ü¿¨)
4.OUTPUT(Êý¾Ý°ü³ö¿Ú)
5.POSTROUTING£¨Â·Óɺó£©
ÕâÊÇNetFilter¹æ¶¨µÄÎå¸ö¹æÔòÁ´£¬ÈκÎÒ»¸öÊý¾Ý°ü£¬Ö»Òª¾¹ý±¾»ú£¬±Ø½«¾¹ýÕâÎå¸öÁ´ÖеÄÆäÖÐÒ»¸öÁ´¡£
3.·À»ðǽµÄ²ßÂÔ
·À»ðǽ²ßÂÔÒ»°ã·ÖΪÁ½ÖÖ£¬Ò»ÖֽС°Í¨¡±²ßÂÔ£¬Ò»ÖֽС°¶Â¡±²ßÂÔ£¬Í¨²ßÂÔ£¬Ä¬ÈÏÃÅÊǹØ×ŵģ¬±ØÐëÒª¶¨ÒåËÄܽø¡£¶Â²ßÂÔÔòÊÇ£¬´óÃÅÊǶ´¿ªµÄ£¬µ«ÊÇÄã±ØÐëÓÐÉí·ÝÈÏÖ¤£¬·ñÔò²»Äܽø¡£ËùÒÔÎÒÃÇÒª¶¨Ò壬ÈýøÀ´µÄ½øÀ´£¬ÈóöÈ¥µÄ³öÈ¥£¬ËùÒÔͨ£¬ÊÇҪȫͨ£¬¶ø¶Â£¬ÔòÊÇҪѡÔñ¡£µ±ÎÒÃǶ¨ÒåµÄ²ßÂÔµÄʱºò£¬Òª·Ö±ð¶¨Òå¶àÌõ¹¦ÄÜ£¬ÆäÖУº¶¨ÒåÊý¾Ý°üÖÐÔÊÐí»òÕß²»ÔÊÐíµÄ²ßÂÔ£¬filter¹ýÂ˵ŦÄÜ£¬¶ø¶¨ÒåµØַת»»µÄ¹¦ÄܵÄÔòÊÇnatÑ¡ÏΪÁËÈÃÕâЩ¹¦Äܽ»Ì湤×÷£¬ÎÒÃÇÖƶ¨³öÁË¡°±í¡±Õâ¸ö¶¨Ò壬À´¶¨Òå¡¢Çø·Ö¸÷ÖÖ²»Í¬µÄ¹¤×÷¹¦Äܺʹ¦Àí·½Ê½¡£
ÎÒÃÇÏÖÔÚÓõıȽ϶à¸ö¹¦ÄÜÓÐ3¸ö£º
1.filter ¶¨ÒåÔÊÐí»òÕß²»ÔÊÐíµÄ
2.nat ¶¨ÒåµØַת»»µÄ
3.mangle¹¦ÄÜ:Ð޸ı¨ÎÄÔÊý¾Ý
ÎÒÃÇÐ޸ı¨ÎÄÔÊý¾Ý¾ÍÊÇÀ´ÐÞ¸ÄTTLµÄ¡£Äܹ»ÊµÏÖ½«Êý¾Ý°üµÄÔªÊý¾Ý²ð¿ª£¬ÔÚÀïÃæ×ö±ê¼Ç/ÐÞ¸ÄÄÚÈݵġ£¶ø·À»ðǽ±ê¼Ç£¬Æäʵ¾ÍÊÇ¿¿mangleÀ´ÊµÏֵġ£
СÀ©Õ¹:
¶ÔÓÚfilterÀ´½²Ò»°ãÖ»ÄÜ×öÔÚ3¸öÁ´ÉÏ£ºINPUT £¬FORWARD £¬OUTPUT
¶ÔÓÚnatÀ´½²Ò»°ãÒ²Ö»ÄÜ×öÔÚ3¸öÁ´ÉÏ£ºPREROUTING £¬OUTPUT £¬POSTROUTING
¶ømangleÔòÊÇ5¸öÁ´¶¼¿ÉÒÔ×ö£ºPREROUTING£¬INPUT£¬FORWARD£¬OUTPUT£¬POSTROUTING
iptables/netfilter£¨Õâ¿îÈí¼þ£©Êǹ¤×÷ÔÚÓû§¿Õ¼äµÄ£¬Ëü¿ÉÒÔÈùæÔò½øÐÐÉúЧµÄ£¬±¾Éí²»ÊÇÒ»ÖÖ·þÎñ£¬¶øÇÒ¹æÔòÊÇÁ¢¼´ÉúЧµÄ¡£¶øÎÒÃÇiptablesÏÖÔÚ±»×ö³ÉÁËÒ»¸ö·þÎñ£¬¿ÉÒÔ½øÐÐÆô¶¯£¬Í£Ö¹µÄ¡£Æô¶¯£¬Ôò½«¹æÔòÖ±½ÓÉúЧ£¬Í£Ö¹£¬Ôò½«¹æÔò³·Ïú¡£
iptables»¹Ö§³Ö×Ô¼º¶¨ÒåÁ´¡£µ«ÊÇ×Ô¼º¶¨ÒåµÄÁ´£¬±ØÐëÊǸúijÖÖÌض¨µÄÁ´¹ØÁªÆðÀ´µÄ¡£ÔÚÒ»¸ö¹Ø¿¨É趨£¬Ö¸¶¨µ±ÓÐÊý¾ÝµÄʱºòרÃÅÈ¥ÕÒij¸öÌض¨µÄÁ´À´´¦Àí£¬µ±ÄǸöÁ´´¦ÀíÍêÖ®ºó£¬ÔÙ·µ»Ø¡£½Ó×ÅÔÚÌض¨µÄÁ´ÖмÌÐø¼ì²é¡£
×¢Ò⣺¹æÔòµÄ´ÎÐò·Ç³£¹Ø¼ü£¬ËµÄ¹æÔòÔ½Ñϸñ£¬Ó¦¸Ã·ÅµÄÔ½¿¿Ç°£¬¶ø¼ì²é¹æÔòµÄʱºò£¬ÊÇ°´ÕÕ´ÓÉÏÍùϵķ½Ê½½øÐмì²éµÄ¡£
ÉÏÃæÄÚÈÝÁ˽⼴¿É£¬ÓÐÐËȤÁ˽â¸ü¶à£¬¿ÉÒԲο¼ÏÂÃ棺
Èý£®¹æÔòµÄд·¨:
iptables¶¨Òå¹æÔòµÄ·½Ê½±È½Ï¸´ÔÓ:
¸ñʽ£ºiptables [-t table] COMMAND chain CRETIRIA -j ACTION
-t table £º3¸öfilter nat mangle
COMMAND£º¶¨ÒåÈçºÎ¶Ô¹æÔò½øÐйÜÀí
chain£ºÖ¸¶¨Äã½ÓÏÂÀ´µÄ¹æÔòµ½µ×ÊÇÔÚÄĸöÁ´ÉϲÙ×÷µÄ£¬µ±¶¨Òå²ßÂÔµÄʱºò£¬ÊÇ¿ÉÒÔÊ¡ÂÔµÄ
CRETIRIA:Ö¸¶¨Æ¥Åä±ê×¼
-j ACTION :Ö¸¶¨ÈçºÎ½øÐд¦Àí
±ÈÈ磺²»ÔÊÐí172.16.0.0/24µÄ½øÐзÃÎÊ¡£
iptables -t filter -A INPUT -s 172.16.0.0/16 -p udp --dport 53 -j DROP
µ±È»ÄãÈç¹ûÏë¾Ü¾øµÄ¸ü³¹µ×£º
iptables -t filter -R INPUT 1 -s 172.16.0.0/16 -p udp --dport 53 -j REJECT
iptables -L -n -v #²é¿´¶¨Òå¹æÔòµÄÏêϸÐÅÏ¢
ËÄ£ºÏê½âCOMMAND:
1.Á´¹ÜÀíÃüÁÕⶼÊÇÁ¢¼´ÉúЧµÄ£©
-P :ÉèÖÃĬÈϲßÂԵģ¨É趨ĬÈÏÃÅÊǹØ×ŵĻ¹ÊÇ¿ª×ŵģ©
ĬÈϲßÂÔÒ»°ãÖ»ÓÐÁ½ÖÖ
iptables -P INPUT (DROP|ACCEPT) ĬÈÏÊǹصÄ/ĬÈÏÊÇ¿ªµÄ
±ÈÈ磺
iptables -P INPUT DROP Õâ¾Í°ÑĬÈϹæÔò¸ø¾Ü¾øÁË¡£²¢ÇÒûÓж¨ÒåÄĸö¶¯×÷£¬ËùÒÔ¹ØÓÚÍâ½çÁ¬½ÓµÄËùÓйæÔò°üÀ¨XshellÁ¬½ÓÖ®ÀàµÄ£¬Ô¶³ÌÁ¬½Ó¶¼±»¾Ü¾øÁË¡£
-F: FLASH£¬Çå¿Õ¹æÔòÁ´µÄ(×¢Òâÿ¸öÁ´µÄ¹ÜÀíȨÏÞ)
iptables -t nat -F PREROUTING
iptables -t nat -F Çå¿Õnat±íµÄËùÓÐÁ´
-N:NEW Ö§³ÖÓû§Ð½¨Ò»¸öÁ´
iptables -N inbound_tcp_web ±íʾ¸½ÔÚtcp±íÉÏÓÃÓÚ¼ì²éwebµÄ¡£
-X: ÓÃÓÚɾ³ýÓû§×Ô¶¨ÒåµÄ¿ÕÁ´
ʹÓ÷½·¨¸ú-NÏàͬ£¬µ«ÊÇÔÚɾ³ý֮ǰ±ØÐëÒª½«ÀïÃæµÄÁ´¸øÇå¿Õ°ºÁË
-E£ºÓÃÀ´Rename chainÖ÷ÒªÊÇÓÃÀ´¸øÓû§×Ô¶¨ÒåµÄÁ´ÖØÃüÃû
-E oldname newname
-Z£ºÇå¿ÕÁ´£¬¼°Á´ÖÐĬÈϹæÔòµÄ¼ÆÊýÆ÷µÄ£¨ÓÐÁ½¸ö¼ÆÊýÆ÷£¬±»Æ¥Åäµ½¶àÉÙ¸öÊý¾Ý°ü£¬¶àÉÙ¸ö×Ö½Ú£©
iptables -Z :Çå¿Õ
2.¹æÔò¹ÜÀíÃüÁî
-A£º×·¼Ó£¬ÔÚµ±Ç°Á´µÄ×îºóÐÂÔöÒ»¸ö¹æÔò
-I num : ²åÈ룬°Ñµ±Ç°¹æÔò²åÈëΪµÚ¼¸Ìõ¡£
-I 3 :²åÈëΪµÚÈýÌõ
-R num£ºReplaysÌæ»»/Ð޸ĵڼ¸Ìõ¹æÔò
¸ñʽ£ºiptables -R 3 ¡¡¡¡
-D num£ºÉ¾³ý£¬Ã÷È·Ö¸¶¨É¾³ýµÚ¼¸Ìõ¹æÔò
3.²é¿´¹ÜÀíÃüÁî ¡°-L¡±
¸½¼Ó×ÓÃüÁî
-n£ºÒÔÊý×ֵķ½Ê½ÏÔʾip£¬Ëü»á½«ipÖ±½ÓÏÔʾ³öÀ´£¬Èç¹û²»¼Ó-n£¬Ôò»á½«ip·´Ïò½âÎö³ÉÖ÷»úÃû¡£
-v£ºÏÔʾÏêϸÐÅÏ¢
-vv
-vvv :Ô½¶àÔ½Ïêϸ
-x£ºÔÚ¼ÆÊýÆ÷ÉÏÏÔʾ¾«È·Öµ£¬²»×öµ¥Î»»»Ëã
--line-numbers : ÏÔʾ¹æÔòµÄÐкÅ
-t nat£ºÏÔʾËùÓеĹؿ¨µÄÐÅÏ¢
Î壺Ïê½âÆ¥Åä±ê×¼
1.ͨÓÃÆ¥Å䣺ԴµØÖ·Ä¿±êµØÖ·µÄÆ¥Åä
-s£ºÖ¸¶¨×÷ΪԴµØÖ·Æ¥Å䣬ÕâÀï²»ÄÜÖ¸¶¨Ö÷»úÃû³Æ£¬±ØÐëÊÇIP
IP | IP/MASK | 0.0.0.0/0.0.0.0
¶øÇÒµØÖ·¿ÉÒÔÈ¡·´£¬¼ÓÒ»¸ö¡°!¡±±íʾ³ýÁËÄĸöIPÖ®Íâ
-d£º±íʾƥÅäÄ¿±êµØÖ·
-p£ºÓÃÓÚÆ¥ÅäÐÒéµÄ£¨ÕâÀïµÄÐÒéͨ³£ÓÐ3ÖÖ£¬TCP/UDP/ICMP£©
-i eth0£º´ÓÕâ¿éÍø¿¨Á÷ÈëµÄÊý¾Ý
Á÷ÈëÒ»°ãÓÃÔÚINPUTºÍPREROUTINGÉÏ
-o eth0£º´ÓÕâ¿éÍø¿¨Á÷³öµÄÊý¾Ý
Á÷³öÒ»°ãÔÚOUTPUTºÍPOSTROUTINGÉÏ
2.À©Õ¹Æ¥Åä
2.1Òþº¬À©Õ¹£º¶ÔÐÒéµÄÀ©Õ¹
-p tcp :TCPÐÒéµÄÀ©Õ¹¡£Ò»°ãÓÐÈýÖÖÀ©Õ¹
--dport XX-XX£ºÖ¸¶¨Ä¿±ê¶Ë¿Ú,²»ÄÜÖ¸¶¨¶à¸ö·ÇÁ¬Ðø¶Ë¿Ú,Ö»ÄÜÖ¸¶¨µ¥¸ö¶Ë¿Ú£¬±ÈÈç
--dport 21 »òÕß --dport 21-23 (´Ëʱ±íʾ21,22,23)
--sport£ºÖ¸¶¨Ô´¶Ë¿Ú
--tcp-fiags£ºTCPµÄ±ê־루SYN,ACK£¬FIN,PSH£¬RST,URG£©
¶ÔÓÚËü£¬Ò»°ãÒª¸úÁ½¸ö²ÎÊý£º
1.¼ì²éµÄ±ê־λ
2.±ØÐëΪ1µÄ±ê־λ
--tcpflags syn,ack,fin,rst syn = --syn
±íʾ¼ì²éÕâ4¸ö룬Õâ4¸öλÖÐsyn±ØÐëΪ1£¬ÆäËûµÄ±ØÐëΪ0¡£ËùÒÔÕâ¸öÒâ˼¾ÍÊÇÓÃÓÚ¼ì²âÈý´ÎÎÕÊֵĵÚÒ»´Î°üµÄ¡£¶ÔÓÚÕâÖÖרÃÅÆ¥ÅäµÚÒ»°üµÄSYNΪ1µÄ°ü£¬»¹ÓÐÒ»ÖÖ¼òд·½Ê½£¬½Ð×ö--syn
-p udp£ºUDPÐÒéµÄÀ©Õ¹
--dport
--sport
-p icmp£ºicmpÊý¾Ý±¨ÎĵÄÀ©Õ¹
--icmp-type£º
echo-request(ÇëÇó»ØÏÔ)£¬Ò»°ãÓÃ8 À´±íʾ
ËùÒÔ --icmp-type 8 Æ¥ÅäÇëÇó»ØÏÔÊý¾Ý°ü
echo-reply £¨ÏìÓ¦µÄÊý¾Ý°ü£©Ò»°ãÓÃ0À´±íʾ
2.2ÏÔʽÀ©Õ¹£¨-m£©
À©Õ¹¸÷ÖÖÄ£¿é
-m multiport£º±íʾÆôÓöà¶Ë¿ÚÀ©Õ¹
Ö®ºóÎÒÃǾͿÉÒÔÆôÓñÈÈç --dports 21,23,80
Áù£ºÏê½â-j ACTION
³£ÓõÄACTION£º
DROP£ºÇÄÇĶªÆú
Ò»°ãÎÒÃǶàÓÃDROPÀ´Òþ²ØÎÒÃǵÄÉí·Ý£¬ÒÔ¼°Òþ²ØÎÒÃǵÄÁ´±í
REJECT£ºÃ÷ʾ¾Ü¾ø
ACCEPT£º½ÓÊÜ
custom_chain£º×ªÏòÒ»¸ö×Ô¶¨ÒåµÄÁ´
DNAT
SNAT
MASQUERADE£ºÔ´µØַαװ
REDIRECT£ºÖض¨Ïò£ºÖ÷ÒªÓÃÓÚʵÏֶ˿ÚÖض¨Ïò
MARK£º´ò·À»ðǽ±ê¼ÇµÄ
RETURN£º·µ»Ø
ÔÚ×Ô¶¨ÒåÁ´Ö´ÐÐÍê±ÏºóʹÓ÷µ»Ø£¬À´·µ»ØÔ¹æÔòÁ´¡£
Á·Ï°Ìâ1£º
Ö»ÒªÊÇÀ´×ÔÓÚ172.16.0.0/16Íø¶ÎµÄ¶¼ÔÊÐí·ÃÎÊÎÒ±¾»úµÄ172.16.100.1µÄSSHD·þÎñ
·ÖÎö£ºÊ×Ïȿ϶¨ÊÇÔÚÔÊÐí±íÖж¨ÒåµÄ¡£ÒòΪ²»ÐèÒª×öNATµØַת»»Ö®ÀàµÄ£¬È»ºó²é¿´ÎÒÃÇSSHD·þÎñ£¬ÔÚ22ºÅ¶Ë¿ÚÉÏ£¬´¦Àí»úÖÆÊǽÓÊÜ£¬¶ÔÓÚÕâ¸ö±í£¬ÐèÒªÓÐÒ»À´Ò»»ØÁ½¸ö¹æÔò£¬Èç¹ûÎÒÃÇÔÊÐíÒ²ºÃ£¬¾Ü¾øÒ²ºÃ£¬¶ÔÓÚ·ÃÎʱ¾»ú·þÎñ£¬ÎÒÃÇ×îºÃÊǶ¨ÒåÔÚINPUTÁ´ÉÏ£¬¶øOUTPUTÔÙÓèÒÔ¶¨Òå¾ÍºÃ¡£(»á»°µÄ³õʼ¶ËÏȶ¨Òå)£¬ËùÒÔ¼Ó¹æÔò¾ÍÊÇ£º
¶¨Òå½øÀ´µÄ£º iptables -t filter -A INPUT -s 172.16.0.0/16 -d 172.16.100.1 -p tcp --dport 22 -j ACCEPT
¶¨Òå³öÈ¥µÄ£º iptables -t filter -A OUTPUT -s 172.16.100.1 -d 172.16.0.0/16 -p tcp --dport 22 -j ACCEPT
½«Ä¬ÈϲßÂԸijÉDROP:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
Æߣº×´Ì¬¼ì²â£º
ÊÇÒ»ÖÖÏÔʽÀ©Õ¹£¬ÓÃÓÚ¼ì²â»á»°Ö®¼äµÄÁ¬½Ó¹ØϵµÄ£¬ÓÐÁ˼ì²âÎÒÃÇ¿ÉÒÔʵÏֻỰ¼ä¹¦ÄܵÄÀ©Õ¹
ʲôÊÇ״̬¼ì²â£¿¶ÔÓÚÕû¸öTCPÐÒéÀ´½²£¬ËüÊÇÒ»¸öÓÐÁ¬½ÓµÄÐÒ飬Èý´ÎÎÕÊÖÖУ¬µÚÒ»´ÎÎÕÊÖ£¬ÎÒÃǾͽÐNEWÁ¬½Ó£¬¶ø´ÓµÚ¶þ´ÎÎÕÊÖÒÔºóµÄ£¬ack¶¼Îª1£¬ÕâÊÇÕý³£µÄÊý¾Ý´«Ê䣬ºÍtcpµÄµÚ¶þ´ÎµÚÈý´ÎÎÕÊÖ£¬½Ð×öÒѽ¨Á¢µÄÁ¬½Ó£¨ESTABLISHED£©,»¹ÓÐÒ»ÖÖ״̬£¬±È½Ï¹îÒìµÄ£¬±ÈÈ磺SYN=1 ACK=1 RST=1,¶ÔÓÚÕâÖÖÎÒÃÇÎÞ·¨Ê¶±ðµÄ£¬ÎÒÃǶ¼³Æ֮ΪINVALIDÎÞ·¨Ê¶±ðµÄ¡£»¹ÓеÚËÄÖÖ£¬FTPÕâÖÖ¹ÅÀϵÄÓµÓеÄÌØÕ÷£¬Ã¿¸ö¶Ë¿Ú¶¼ÊǶÀÁ¢µÄ£¬21ºÅºÍ20ºÅ¶Ë¿Ú¶¼ÊÇһȥһ»Ø£¬ËûÃÇÖ®¼äÊÇÓйØϵµÄ£¬ÕâÖÖ¹ØϵÎÒÃdzÆ֮ΪRELATED¡£
ËùÒÔÎÒÃǵÄ״̬һ¹²ÓÐËÄÖÖ£º
NEW
ESTABLISHED
RELATED
INVALID
ËùÒÔÎÒÃǶÔÓڸղŵÄÁ·Ï°Ì⣬¿ÉÒÔÔö¼Ó״̬¼ì²â¡£±ÈÈç½øÀ´µÄÖ»ÔÊÐí״̬ΪNEWºÍESTABLISHEDµÄ½øÀ´£¬³öÈ¥Ö»ÔÊÐíESTABLISHEDµÄ״̬³öÈ¥£¬Õâ¾Í¿ÉÒÔ½«±È½Ï³£¼ûµÄ·´µ¯Ê½Ä¾ÂíÓкܺõĿØÖÆ»úÖÆ¡£
¶ÔÓÚÁ·Ï°ÌâµÄÀ©Õ¹£º
½øÀ´µÄ¾Ü¾ø³öÈ¥µÄÔÊÐí£¬½øÀ´µÄÖ»ÔÊÐíESTABLISHED½øÀ´£¬³öÈ¥Ö»ÔÊÐíESTABLISHED³öÈ¥¡£Ä¬ÈϹæÔò¶¼Ê¹Óþܾø
iptables -L -n --line-number £º²é¿´Ö®Ç°µÄ¹æÔòλÓÚµÚ¼¸ÐÐ
¸ÄдINPUT
iptables -R INPUT 2 -s 172.16.0.0/16 -d 172.16.100.1 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -R OUTPUT 1 -m state --state ESTABLISHED -j ACCEPT
´ËʱÈç¹ûÏëÔÙ·ÅÐÐÒ»¸ö80¶Ë¿ÚÈçºÎ·ÅÐÐÄØ£¿
iptables -A INPUT -d 172.16.100.1 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -R INPUT 1 -d 172.16.100.1 -p udp --dport 53 -j ACCEPT
Á·Ï°Ìâ2£º
¼ÙÈçÎÒÃÇÔÊÐí×Ô¼ºping±ðÈË£¬µ«ÊDZðÈËping×Ô¼ºping²»Í¨ÈçºÎʵÏÖÄØ£¿
·ÖÎö£º¶ÔÓÚpingÕâ¸öÐÒ飬½øÀ´µÄΪ8£¨ping£©£¬³öÈ¥µÄΪ0(ÏìÓ¦).ÎÒÃÇΪÁ˴ﵽĿµÄ£¬ÐèÒª8³öÈ¥,ÔÊÐí0½øÀ´
ÔÚ³öÈ¥µÄ¶Ë¿ÚÉÏ£ºiptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT
ÔÚ½øÀ´µÄ¶Ë¿ÚÉÏ£ºiptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
СÀ©Õ¹£º¶ÔÓÚ127.0.0.1±È½ÏÌØÊ⣬ÎÒÃÇÐèÒªÃ÷È·¶¨ÒåËü
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
°Ë£ºSNATºÍDNATµÄʵÏÖ
ÓÉÓÚÎÒÃÇÏÖÔÚIPµØÖ·Ê®·Ö½ôÇΣ¬ÒѾ·ÖÅäÍêÁË£¬Õâ¾Íµ¼ÖÂÎÒÃDZØÐëÒª½øÐеØַת»»£¬À´½ÚÔ¼ÎÒÃǽöÊ£µÄÒ»µãIP×ÊÔ´¡£ÄÇôͨ¹ýiptablesÈçºÎʵÏÖNATµÄµØַת»»ÄØ£¿
1.SNAT»ùÓÚÔµØÖ·µÄת»»
»ùÓÚÔµØÖ·µÄת»»Ò»°ãÓÃÔÚÎÒÃǵÄÐí¶àÄÚÍøÓû§Í¨¹ýÒ»¸öÍâÍøµÄ¿ÚÉÏÍøµÄʱºò£¬ÕâʱÎÒÃǽ«ÎÒÃÇÄÚÍøµÄµØַת»»ÎªÒ»¸öÍâÍøµÄIP£¬ÎÒÃǾͿÉÒÔʵÏÖÁ¬½ÓÆäËûÍâÍøIPµÄ¹¦ÄÜ¡£
ËùÒÔÎÒÃÇÔÚiptablesÖоÍÒª¶¨Òåµ½µ×ÈçºÎת»»£º
¶¨ÒåµÄÑùʽ£º
±ÈÈçÎÒÃÇÏÖÔÚÒª½«ËùÓÐ192.168.10.0Íø¶ÎµÄIPÔÚ¾¹ýµÄʱºòÈ«¶¼×ª»»³É172.16.100.1Õâ¸ö¼ÙÉè³öÀ´µÄÍâÍøµØÖ·£º
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source 172.16.100.1
ÕâÑù£¬Ö»ÒªÊÇÀ´×Ô±¾µØÍøÂçµÄÊÔͼͨ¹ýÍø¿¨·ÃÎÊÍøÂçµÄ£¬¶¼»á±»Í³Í³×ª»»³É172.16.100.1Õâ¸öIP.
ÄÇô£¬Èç¹û172.16.100.1²»Êǹ̶¨µÄÔõô°ì£¿
ÎÒÃǶ¼ÖªµÀµ±ÎÒÃÇʹÓÃÁªÍ¨»òÕßµçÐÅÉÏÍøµÄʱºò£¬Ò»°ãËü¶¼»áÔÚÿ´ÎÄ㿪»úµÄʱºòËæ»úÉú³ÉÒ»¸öÍâÍøµÄIP£¬Òâ˼¾ÍÊÇÍâÍøµØÖ·ÊǶ¯Ì¬±ä»»µÄ¡£ÕâʱÎÒÃǾÍÒª½«ÍâÍøµØÖ·»»³É MASQUERADE(¶¯Ì¬Î±×°):Ëü¿ÉÒÔʵÏÖ×Ô¶¯Ñ°ÕÒµ½ÍâÍøµØÖ·£¬¶ø×Ô¶¯½«Æä¸ÄΪÕýÈ·µÄÍâÍøµØÖ·¡£ËùÒÔ£¬ÎÒÃǾÍÐèÒªÕâÑùÉèÖãº
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE
ÕâÀïҪעÒ⣺µØַαװ²¢²»ÊÊÓÃÓÚËùÓеĵط½¡£
2.DNATÄ¿±êµØַת»»
¶ÔÓÚÄ¿±êµØַת»»£¬Êý¾ÝÁ÷ÏòÊÇ´ÓÍâÏòÄڵģ¬ÍâÃæµÄÊÇ¿Í»§¶Ë£¬ÀïÃæµÄÊÇ·þÎñÆ÷¶Ëͨ¹ýÄ¿±êµØַת»»£¬ÎÒÃÇ¿ÉÒÔÈÃÍâÃæµÄipͨ¹ýÎÒÃǶÔÍâµÄÍâÍøipÀ´·ÃÎÊÎÒÃÇ·þÎñÆ÷²»Í¬µÄ·þÎñÆ÷£¬¶øÎÒÃǵķþÎñÈ´·ÅÔÚÄÚÍø·þÎñÆ÷µÄ²»Í¬µÄ·þÎñÆ÷ÉÏ¡£
ÈçºÎ×öÄ¿±êµØַת»»ÄØ£¿£º
iptables -t nat -A PREROUTING -d 192.168.10.18 -p tcp --dport 80 -j DNAT --todestination 172.16.100.2
Ä¿±êµØַת»»Òª×öÔÚµ½´ïÍø¿¨Ö®Ç°½øÐÐת»»,ËùÒÔÒª×öÔÚPREROUTINGÕâ¸öλÖÃÉÏ
¾Å£º¿ØÖƹæÔòµÄ´æ·ÅÒÔ¼°¿ªÆô
×¢Ò⣺ÄãËù¶¨ÒåµÄËùÓÐÄÚÈÝ£¬µ±ÄãÖØÆôµÄʱºò¶¼»áʧЧ£¬ÒªÏëÎÒÃÇÄܹ»ÉúЧ£¬ÐèҪʹÓÃÒ»¸öÃüÁËü±£´æÆðÀ´
1.service iptables save ÃüÁî
Ëü»á±£´æÔÚ/etc/sysconfig/iptablesÕâ¸öÎļþÖÐ
2.iptables-save ÃüÁî
iptables-save > /etc/sysconfig/iptables
3.iptables-restore ÃüÁî
¿ª»úµÄʱºò£¬Ëü»á×Ô¶¯¼ÓÔØ/etc/sysconfig/iptabels
Èç¹û¿ª»ú²»ÄܼÓÔØ»òÕßûÓмÓÔØ£¬¶øÄãÏëÈÃÒ»¸ö×Ô¼ºÐ´µÄÅäÖÃÎļþ£¨¼ÙÉèΪiptables.2£©ÊÖ¶¯ÉúЧµÄ»°£º
iptables-restore < /etc/sysconfig/iptables.2
ÔòÍê³ÉÁ˽«iptablesÖж¨ÒåµÄ¹æÔòÊÖ¶¯ÉúЧ
Ê®£º×ܽá
IptablesÊÇÒ»¸ö·Ç³£ÖØÒªµÄ¹¤¾ß£¬ËüÊÇÿһ¸ö·À»ðǽÉϼ¸ºõ±Ø±¸µÄÉèÖã¬Ò²ÊÇÎÒÃÇÔÚ×ö´óÐÍÍøÂçµÄʱºò£¬ÎªÁ˺ܶàÔÒò¶ø±ØÐëÒªÉèÖõġ£Ñ§ºÃIptables,¿ÉÒÔÈÃÎÒÃǶÔÕû¸öÍøÂçµÄ½á¹¹ÓÐÒ»¸ö±È½ÏÉî¿ÌµÄÁ˽⣬ͬʱ£¬ÎÒÃÇ»¹Äܹ»½«Äں˿ռäÖÐÊý¾ÝµÄ×ßÏòÒÔ¼°linuxµÄ°²È«¸øÕÆÎյķdz£Í¸³¹¡£ÎÒÃÇÔÚѧϰµÄʱºò£¬¾¡Á¿ÄܽáºÏן÷ÖÖ¸÷ÑùµÄÏîÄ¿£¬ÊµÑéÀ´Íê³É£¬ÕâÑù¶ÔÄã¼ÓÉîiptablesµÄÅäÖã¬ÒÔ¼°¸÷ÖÖ¼¼ÇÉÓзdz£´óµÄ°ïÖú¡£
Ïà¹ØÌû×Ó£º
¿ª·¢ÈËÔ±±Ø¶ÁopenstackÍøÂç»ù´¡1:ʲôÊÇL2¡¢L3
¿ª·¢ÈËÔ±±Ø¶ÁopenstackÍøÂç»ù´¡2:½»»»»ú¡¢Â·ÓÉÆ÷¡¢DHCP
¿ª·¢ÈËÔ±±Ø¶ÁopenstackÍøÂç»ù´¡4:Dnsmasq¡¢ÍøÂç»ìÔÓģʽ
¿ª·¢ÈËÔ±±Ø¶ÁopenstackÍøÂç»ù´¡5:ÍøÂçµþ¼ÓģʽVLAN¡¢VxLAN¡¢GRE
¿ª·¢ÈËÔ±±Ø¶ÁopenstackÍøÂç»ù´¡6:ʲôÊÇTap/Tun¡¢ÍøÇÅ
¿ª·¢ÈËÔ±±Ø¶ÁopenstackÍøÂç»ù´¡7:µ½µ×ʲôÊÇOpen vSwitch
|