¡¾×ªÌûLINUX¡¿netfilterÖеÄconntrackÄÚºËÔĶÁ±Ê¼Ç(1)
2008-07-07 22:04×´ ̬¼ì²â(stateful inspection)ÊÇÓÉCheckPoint¹«Ë¾×îÏÈÌá³öµÄ£¬¿ÉËãÊÇ·À»ðǽ¼¼ÊõµÄÒ»ÏîÍ»ÆÆÐÔ±ä¸ï£¬°Ñ°ü¹ýÂ˵ĿìËÙÐԺʹúÀíµÄ°²È«ÐԺܺõؽáºÏÔÚÒ»Æð£¬ ĿǰÒѾÊÇ·À»ðǽ×îÁ÷Ðеļì²â·½Ê½¡£×´Ì¬¼ì²âµÄ¸ù±¾Ë¼ÏëÊǶÔËùÓÐÍøÂçÊý¾Ý½¨Á¢“Á¬½Ó”µÄ¸ÅÄ´Ë“Á¬½Ó”ÊÇÃæÏò“Á¬½Ó”µÄÐÒéÖ®“Á¬½Ó”µÄÀ©Õ¹£¬¶Ô·ÇÁ¬½Ó ÐÒéÊý¾ÝÒ²¿ÉÒÔ½¨Á¢ÐéÄâÁ¬½Ó¡£¼ÈÈ»ÊÇÁ¬½Ó£¬±ØÈ»ÊÇÓÐÒ»¶¨µÄ˳ÐòµÄ£¬Í¨ÐÅÁ½±ßµÄÁ¬½Ó״̬ҲÊÇÓÐÒ»¶¨Ë³Ðò½øÐб仯µÄ¡£·À»ðǽµÄ״̬¼ì²â¾ÍÊÇÊÂÏÈÈ·¶¨ºÃÁ¬½ÓµÄºÏ ·¨¹ý³Ìģʽ£¬Èç¹ûÊý¾Ý¹ý³Ì·ûºÏÕâ¸öģʽ£¬Ôò˵Ã÷Êý¾ÝÊǺϷ¨ÕýÈ·µÄ£¬·ñÔò¾ÍÊÇ·Ç·¨Êý¾Ý£¬Ó¦¸Ã±»¶ªÆú¡£
2.6Äں˵ÄLinuxÖеķÀ»ðǽ´úÂënetfilterÖÐʵÏÖÁË״̬¼ì²â (stateful inspection)¼ì²â¼¼Êõ£ºLinuxΪÿһ¸ö¾¹ýÍøÂç¶ÑÕ»µÄÊý¾Ý°ü£¬Éú³ÉÒ»¸öеÄÁ¬½Ó¼Ç¼ÏConnection entry£©¡£´Ëºó£¬ËùÓÐÊôÓÚ´ËÁ¬½ÓµÄÊý¾Ý°ü¶¼±»Î¨Ò»µØ·ÖÅ䏸Õâ¸öÁ¬½Ó£¬²¢±êʶÁ¬½ÓµÄ״̬¡£linuxÔÚnetfilterµÄhookµãÉÏΪ contrack¶¨ÒåÁËÈçϼ¸¸ö¹Ò½Óµã£¬ÓÃÀ´´¦ÀíÁ÷¾µÄip°ü£º
NF_IP_PRE_ROUTING £º ip_conntrack_defrag -> ip_conntrack_in
NF_IP_LOCAL_IN £º ip_conntrack_help -> ip_confirm
NF_IP_LOCAL_OUT £º ip_conntrack_defrag -> ip_conntrack_local
NF_IP_POST_ROUTING £ºip_conntrack_help -> ip_confirm
ÆäÖÐip_contrack_defragÓÃÀ´´¦Àí±¨ÎÄ·Ö Æ¬£»ip_conntrack_inºÍip_conntrack_local(ÄÚ²¿µ÷ÓÃip_conntrack_in)ÓÃÓÚconntrackΪÿ¸öÁ¬ ½Ó½¨Á¢Ä£Ê½¼Ç¼£¬ip_conntrack£¬²¢Åжϱ¨ÎÄÊÇ·ñ·ûºÏºÏ·¨µÄģʽ£¬²»·ûºÏÔò¶ªÆú£»ip_conntrack_helpÊÇÕë¶ÔʹÓö¯Ì¬ÐÒéºÍ¶Ë¿Ú µÄÁ¬½ÓÉè¼ÆµÄÊý¾Ý½á¹¹£¬ÈçÒ»¸öftpÁ¬½ÓÕë¶ÔÊý¾ÝÁ÷ºÍ¿ØÖÆÁ÷·Ö±ðÓõ½ÁËÁ½¸ö¶Ë¿Ú£¬£»ip_confirmÅжϱ¨ÎÄËùÊôµÄģʽip_conntrackÊÇ·ñ ÒѾ´æÔÚϵͳ¹þÏ£ÖУ¬·ñÔò¼ÓÈ뵽ϵͳµÄhashÖС£
NetfilterʹÓÃÒ»ÕÅÈ«¾Öhash±íÀ´¶¨Ò屨ÎĵÄÁ¬½Ó״̬£¬Ëü¶¨ÒåÔÚip_conntrack_core.cÖУ¬ÓÃÖ¸Õëstruct list_head *ip_conntrack_hashÀ´ÃèÊö¸Ã±í¡£Õâ¸öhash±íµÄ´óСÊÇÓÐÏÞÖÆµÄ£¬ÔÚÄ£¿é×°ÔØµÄʱºòÈ·¶¨£¬¿ÉÒÔÓÉÓû§Ö¸¶¨£¬ÓÉip_con
Ïà¹ØÎĵµ£º
ÊÇÒªÓм¸¸ö½×¶ÎµÄ¡£ ¿ªÊ¼¿´ulk,
ulk×îºÃµÄµØ·½¾ÍÊÇËûËù³«µ¼µÄѧϰ·½·¨ÌرðºÃ¡£µ±ÄãÏëѧϰij·½ÃæÊ±£¬ÏÈ¿´Í·Îļþ£¬ÔÚû°Ñÿ¸öÊý¾Ý½á¹¹ÖеÄÿ¸öÊý¾ÝÔªËØÅªÇå³þ֮ǰ²»Òª¿´ÊµÏÖ´úÂë¡£
¶ÁÍêÍ·Îļþ£¬Òâζ×ÅÆäÖеÄ×éÖ¯¹ØÏµ¸ú±ðµÄµØ·½µÄÁªÏµ¾ÍÇå³þÁË£¬ÕâʱºòÄãÈ¥¿´ÊµÏֵĴúÂëÄã»á·¢ÏÖËûÒѾ×öµÄÕýÊÇÄãËùÏëµÄ¡£
¸ú×Åulk°ÑÕâЩ»ù±¾µ ......
“Sudo”ÊÇUnix/Linuxƽ̨ÉϵÄÒ»¸ö·Ç³£ÓÐÓõŤ¾ß£¬ËüÔÊÐíϵͳ¹ÜÀíÔ±·ÖÅ䏸ÆÕͨÓû§Ò»Ð©ºÏÀíµÄ“ȨÀû”£¬ÈÃËûÃÇÖ´ÐÐһЩֻÓг¬¼¶Óû§»òÆäËûÌØÐíÓû§²ÅÄÜÍê³ÉµÄÈÎÎñ£¬±ÈÈ磺ÔËÐÐһЩÏñmount£¬halt£¬suÖ®ÀàµÄÃüÁ»òÕß±à¼Ò»Ð©ÏµÍ³ÅäÖÃÎļþ£¬Ïñ/etc/mtab£¬/etc/samba/smb.confµÈ¡£ÕâÑùÒÔÀ´£¬¾Í²»½ö¼õÉÙÁ ......
#find ... -exec rm {} \;
#find ... | xargs rm -rf
Á½Õß¶¼¿ÉÒÔ°ÑfindÃüÁî²éÕÒµ½µÄ½á¹ûɾ³ý£¬ÆäÇø±ð¼òµ¥µÄ˵ÊÇǰÕßÊǰÑfind·¢ÏֵĽá¹ûÒ»´ÎÐÔ´«¸øexecÑ¡ÏÕâÑùµ±ÎļþÊýÁ¿½Ï¶àµÄʱºò£¬¾Í¿ÉÄÜ»á³öÏÖ“²ÎÊýÌ«¶à”Ö®ÀàµÄ´íÎó£¬Ïà±È½Ï¶øÑÔ£¬ºóÕ߾ͿÉÒÔ±ÜÃâÕâ¸ö´íÎó£¬ÒòΪxargsÃüÁî»á·ÖÅú´ÎµÄ´¦Àí½á¹û¡£ÕâÑù¿´À´£ ......
6. Devices
A device driver hides the hardware device’s communication
protocols from the operating system and allows the system to interact with the
device through a standardized interface.
Processes can communicate with a device driver via
file-like objects.
6.1 Device Types
A c ......