|
|
¡¡¡¡DHCPÊǶ¯Ì¬Ö÷»úÅäÖÃÐÒé¡£Õâ¸öÐÒéÓÃÓÚÏò¼ÆËã»ú×Ô¶¯ÌṩIPµØÖ·,×ÓÍøÑÚÂëºÍ·ÓÉÐÅÏ¢¡£ÍøÂç¹ÜÀíԱͨ³£»á·ÖÅäij¸ö·¶Î§µÄIPµØÖ·À´·Ö·¢¸ø¾ÖÓòÍøÉϵĿͻ§»ú¡£µ±É豸½ÓÈëÕâ¸ö¾ÖÓòÍøÊ±£¬ËüÃÇ»áÏò DHCP ·þÎñÆ÷ÇëÇóÒ»¸ö IP µØÖ·¡£È»ºóDHCP·þÎñÆ÷Ϊÿ¸öÇëÇóµÄÉ豸·ÖÅäÒ»¸öµØÖ·£¬Ö±µ½·ÖÅäÍê¸Ã·¶Î§ÄÚµÄËùÓÐ IP µØÖ·ÎªÖ¹¡£ÒѾ·ÖÅäµÄIPµØÖ·±ØÐ붨ʱµØÑÓ³¤½èÓÃÆÚ¡£Õâ¸öÑÓÆÚµÄ¹ý³Ì³Æ×÷leasing£¬È·±£Á˵±¿Í»§»úÉ豸ÔÚÕý³£µØÊÍ·ÅIPµØÖ·Ö®Ç°Í»È»´ÓÍøÂç¶Ï¿ªÊ±±»·ÖÅäµÄµØÖ·¿ÉÒԹ黹¸ø·þÎñÆ÷¡£±¾ÎÄÒÔRedhat Linux 9.0ΪÀý£¬½éÉÜÈçºÎ½¨Á¢Ò»¸öÍêÕûºÍ°²È«µÄDHCP·þÎñÆ÷¡£
Ò»¡¢½¨Á¢DHCP·þÎñÆ÷ÅäÖÃÎļþ
¡¡¡¡¿ÉÒÔʹÓÃRedhat Linux 9.0×ÔÉíЯ´ørpm°ü°²×°¡£°²×°½áÊøºó, DHCP ¶Ë¿Ú¼à¶½³ÌÐò dhcpdÅäÖÃÎļþÊÇ/etcĿ¼ÖеÄÃûΪdhcpd.confµÄÎļþ¡£ÏÂÃæÊÖ¹¤½¨Á¢/etc/dhcpd.confÎļþ¡£/etc/dhcpd.confͨ³£°üÀ¨Èý²¿·Ö£ºparameters¡¢declarations ¡¢option¡£
¡¡¡¡1.DHCPÅäÖÃÎļþÖеÄparameters£¨²ÎÊý£©£º±íÃ÷ÈçºÎÖ´ÐÐÈÎÎñ£¬ÊÇ·ñÒªÖ´ÐÐÈÎÎñ£¬»ò½«ÄÄÐ©ÍøÂçÅäÖÃÑ¡Ïî·¢Ë͸ø¿Í»§¡£Ö÷ÒªÄÚÈݼû±í1
²Î Êý ½â ÊÍ
ddns-update-style ÅäÖÃDHCP-DNS »¥¶¯¸üÐÂģʽ¡£
default-lease-time Ö¸¶¨È·Ê¡×âÁÞʱ¼äµÄ³¤¶È£¬µ¥Î»ÊÇÃë¡£
max-lease-time Ö¸¶¨×î´ó×âÁÞʱ¼ä³¤¶È£¬µ¥Î»ÊÇÃë¡£
hardware Ö¸¶¨Íø¿¨½Ó¿ÚÀàÐͺÍMACµØÖ·¡£
server-name ֪ͨDHCP¿Í»§·þÎñÆ÷Ãû³Æ¡£
get-lease-hostnames flag ¼ì²é¿Í»§¶ËʹÓõÄIPµØÖ·¡£
fixed-address ip ·ÖÅ䏸¿Í»§¶ËÒ»¸ö¹Ì¶¨µÄµØÖ·¡£
authritative ¾Ü¾ø²»ÕýÈ·µÄIPµØÖ·µÄÒªÇó¡£
¡¡¡¡2. DHCPÅäÖÃÎļþÖеÄdeclarations £¨ÉùÃ÷£©£ºÓÃÀ´ÃèÊöÍøÂç²¼¾Ö¡¢Ìṩ¿Í»§µÄIPµØÖ·µÈ¡£Ö÷ÒªÄÚÈݼû±í2£º
Éù Ã÷ ½â ÊÍ
shared-network ÓÃÀ´¸æÖªÊÇ·ñһЩ×ÓÍøÂç·ÖÏíÏàÍ¬ÍøÂç¡£
subnet ÃèÊöÒ»¸öIPµØÖ·ÊÇ·ñÊôÓÚ¸Ã×ÓÍø¡£
range ÆðʼIP ÖÕÖ¹IP Ìṩ¶¯Ì¬·ÖÅäIP µÄ·¶Î§¡£
host Ö÷»úÃû³Æ ²Î¿¼ÌرðµÄÖ÷»ú¡£
group Ϊһ×é²ÎÊýÌṩÉùÃ÷¡£
allow unknown-clients;deny unknown-client ÊÇ·ñ¶¯Ì¬·ÖÅäIP¸øÎ´ÖªµÄʹÓÃÕß¡£
allow bootp;deny bootp ÊÇ·ñÏìÓ¦¼¤»î²éѯ¡£
allow booting;deny booting ÊÇ·ñÏìӦʹÓÃÕß²éѯ¡£
filename ¿ªÊ¼Æô¶¯ÎļþµÄÃû³Æ£¬Ó¦ÓÃÓÚÎÞÅ̹¤×÷Õ¾¡£
next-server ÉèÖ÷þÎñÆ÷´ÓÒýµ¼ÎļþÖÐ×°ÈçÖ÷»úÃû£¬Ó¦ÓÃÓÚÎÞÅ̹¤×÷Õ¾¡£
¡¡¡¡3. DHCPÅäÖÃÎļþÖеÄoption£¨Ñ¡Ï£ºÓÃÀ´ÅäÖÃDHCP¿ÉÑ¡²ÎÊý£¬È«²¿ÓÃoption¹Ø¼ü×Ö×÷Ϊ¿ªÊ¼£¬Ö÷ÒªÄÚÈݰüÀ¨¼û±í3£º
Ñ¡ Ïî ½â ÊÍ
subnet-mask Ϊ¿Í»§¶ËÉ趨×ÓÍøÑÚÂë¡£
domain-name Ϊ¿Í»§¶ËÖ¸Ã÷DNSÃû×Ö¡£
domain-name-servers Ϊ¿Í»§¶ËÖ¸Ã÷DNS·þÎñÆ÷IPµØÖ·¡£
host-name Ϊ¿Í»§¶ËÖ¸¶¨Ö÷»úÃû³Æ¡£
routers Ϊ¿Í»§¶ËÉ趨ĬÈÏÍø¹Ø¡£
broadcast-address Ϊ¿Í»§¶ËÉ趨¹ã²¥µØÖ·¡£
ntp-server Ϊ¿Í»§¶ËÉè¶¨ÍøÂçʱ¼ä·þÎñÆ÷IPµØÖ·¡£
time£offset Ϊ¿Í»§¶ËÉ趨ºÍ¸ñÁÖÍþÖÎʱ¼äµÄÆ«ÒÆÊ±¼ä£¬µ¥Î»ÊÇÃë¡£
¡¡¡¡×¢Ò⣺Èç¹û¿Í»§¶ËʹÓõÄÊÇÊÓ´°²Ù×÷ϵͳ£¬²»ÒªÑ¡Ôñ"host-name"Ñ¡Ï¼´²»ÒªÎªÆäÖ¸¶¨Ö÷»úÃû³Æ¡£
¡¡¡¡ÏÂÃæÊÇÒ»¸ö±ÊÕßʹÓõÄDHCPÅäÖÃÎļþ£¬ÕâÊÇÒ»¸ö£ÃÀàÍøÂ磬¹²126¸öIPµØÖ·¿ÉÒÔ·ÖÅäµÄÀý×Ó¡£¶ÁÕß¿ÉÒÔ¸´ÖƺóʹÓã¬×¢ÒâºìÉ«²¿·ÖÊDZØÐëÒªÐ޸ĵġ£
ddns-update-style interim;
ignore client-updates;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.254;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option domain-name-servers 192.168.1.3;
option domain-name "www.cao.com";¡¡#DNSÃû³Æ#
option domain-name-servers 192.168.1.3;
option time-offset -18000;
range dynamic-bootp 192.168.1.128 192.168.1.255;
default-lease-time 21600;
max-lease-time 43200;
host ns {
hardware ethernet 52:54:AB:34:5B:09;#ÔËÐÐDHCPµÄÍøÂç½Ó¿ÚµÄMACµØÖ·#
fixed-address 192.168.1.9;
}
}
¶þ¡¢½¨Á¢¿Í»§×âÔ¼Îļþ
¡¡¡¡ÔËÐÐDHCP·þÎñÆ÷»¹ÐèÒªÒ»¸öÃûΪ dhcpd.leases µÄÎļþ£¬±£³ÖËùÓÐÒѾ·Ö·¢³öÈ¥µÄ IP µØÖ·¡£ÔÚRedhat Linux ·¢Ðа汾ÖУ¬¸ÃÎļþλÓÚ /var/lib/dhcp/ Ŀ¼ÖС£Èç¹ûÄúͨ¹ý RPM °²×° ISC DHCP£¬ÄÇô¸ÃĿ¼Ӧ¸ÃÒѾ´æÔÚ¡£dhcpd.leasesµÄÎļþ¸ñʽΪ£º
Leases address £ûstatement£ý
¡¡¡¡Ò»¸öµäÐ͵ÄÎļþÄÚÈÝÈçÏ£º
lease 192.168.1.255 { #DHCP·þÎñÆ÷·ÖÅäµÄIPµØÖ·#
starts 1 2005/05/02 03:02:26; # lease ¿ªÊ¼×âԼʱ¼ä#
ends 1 2005/05/02 09:02:26; # lease ½áÊø×âԼʱ¼ä#
binding state active;
next binding state free;
hardware ethernet 00:00:e8:a0:25:86; #¿Í»§»úÍø¿¨MACµØÖ·#
uid "%content%01%content%00%content%0000%6"; #ÓÃÀ´ÑéÖ¤¿Í»§»úµÄUID±êʾ#
client-hostname "cjh1"; #¿Í»§»úÃû³Æ#
}
¡¡¡¡×¢Òâlease ¿ªÊ¼×âԼʱ¼äºÍlease ½áÊø×âԼʱ¼äÊǸñÁÖÍþÖαê׼ʱ¼ä£¨GMT£©£¬²»ÊDZ¾µØÊ±¼ä¡£
¡¡¡¡µÚÒ»´ÎÔËÐÐDHCP·þÎñÆ÷ʱdhcpd.leasesÊÇÒ»¸ö¿ÕÎļþ£¬Ò²²»ÓÃÊÖ¹¤½¨Á¢¡£Èç¹û²»ÊÇͨ¹ý RPM °²×° ISC DHCP£¬»òÕß dhcpd ÒѾ°²×°£¬ÄÇôÄúÓ¦¸ÃÊÔ×ÅÈ·¶¨ dhcpd ½«Æä lease Îļþдµ½ºÎ´¦£¬²¢È·±£¸ÃÎļþ´æÔÚ¡£Ò²¿ÉÒÔÊÖ¹¤½¨Á¢Ò»¸ö¿ÕÎļþ£º
#touch /var/lib/dhcp/dhcpd.leases
Èý¡¢Æô¶¯ºÍ¼ì²éDHCP·þÎñÆ÷
¡¡¡¡Ê¹ÓÃÃüÁîÆô¶¯DHCP·þÎñÆ÷£º
#service dhcpd start
¡¡¡¡Ê¹ÓÃpsÃüÁî¼ì²édhcpd½ø³Ì£º
#ps -ef | grep dhcpd
root 2402 1 0 14:25 ? 00:00:00 /usr/sbin/dhcpd
root 2764 2725 0 14:29 pts/2 00:00:00 grep dhcpd
¡¡¡¡Ê¹Óüì²édhcpdÔËÐеĶ˿ڣº
# netstat -nutap | grep dhcpd
udp 0 0 0.0.0.0:67 0.0.0.0:* 2402/dhcpd
ËÄ¡¢ÅäÖÃDHCP¿Í»§¶Ë
¡¡¡¡Í¨³£Íø¹ÜԱʹÓÃÑ¡ÔñÊÖ¹¤ÅäÖà DHCP ¿Í»§£¬ÐèÒªÐÞ¸Ä /etc/sysconfig/network ÎļþÀ´ÆôÓÃÁªÍø£»²¢ÐÞ¸Ä /etc/sysconfig/network-scripts Ŀ¼ÖÐÿ¸öÍøÂçÉ豸µÄÅäÖÃÎļþ¡£ÔÚ¸ÃĿ¼ÖУ¬Ã¿¸öÉ豸¶¼ÓÐÒ»¸ö½Ð×ö ifcfg-eth£¿ µÄÅäÖÃÎļþ£¬eth£¿ÊÇÍøÂçÉ豸µÄÃû³Æ¡£ Èçeth0µÈ¡£Èç¹ûÄãÏëÔÚÒýµ¼Ê±Æô¶¯ÁªÍø£¬NETWORKING ±äÁ¿±ØÐë ±»ÉèΪ yes¡£ ³ýÁË´Ë´¦Ö®Íâ/etc/sysconfig/network ÎļþÓ¦¸Ã°üº¬ÒÔÏÂÐУº
NETWORKING=yes
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
Îå¡¢DHCPÅäÖó£¼û´íÎóÅųý
¡¡¡¡Í¨³£ÅäÖÃDHCP ·þÎñÆ÷ºÜÈÝÒ×£¬²»¹ý£¬ÔÚÕâÀïÓÐһЩ¼¼ÇÉ¿ÉÒÔ°ïÖúÄú±ÜÃâ³öÏÖÎÊÌâ¡£¶Ô·þÎñÆ÷¶øÑÔ£¬ÒªÈ·±£Íø¿¨Õý³£¹¤×÷£¬²¢¾ß±¸¹ã²¥¹¦ÄÜ¡£¶Ô¿Í»§»ú¶øÑÔ£¬»¹ÒªÈ·±£¿Í»§»úµÄÍø¿¨Õý³£¹¤×÷¡£×îºó£¬Òª¿¼ÂÇÍøÂçµÄÍØÆË£¬²¢¿¼Âǿͻ§»úÏò DHCP ·þÎñÆ÷·¢³öµÄ¹ã²¥ÏûÏ¢ÊÇ·ñ»áÊܵ½×è°¡£ÁíÍâÈç¹ûdhcpd½ø³ÌûÓÐÆô¶¯£¬ÄÇô¿ÉÒÔä¯ÀÀ syslog ÏûÏ¢ÎļþÀ´È·¶¨ÊÇÄÄÀï³öÁËÎÊÌâ¡£Õâ¸öÏûÏ¢Îļþͨ³£ÊÇ /var/log/messages¡£
¡¡¡¡µäÐ͹ÊÕÏ£º
¡¡¡¡1.DHCP·þÎñÆ÷ÅäÖÃÍê³É£¬Ã»ÓÐÓï·¨´íÎó¡£µ«ÊÇÍøÂçÖеĿͻ§»úȴû°ì·¨È¡µÃIPµØÖ·¡£
¡¡¡¡Í¨³£ÊÇLinux DHCP·þÎñÆ÷›]Óа취½ÓÊÕ?í×Ô255.255.255.255 µÄ DHCP ¿Í»§»úµÄRequest ·â°üÔì³ÉµÄ¡£Ò»°ãÊÇLinux DHCP·þÎñÆ÷µÄÍø¿¨Ã»ÓÐÉèÖþßÓÐMULTICAST¹¦ÄÜ¡£ÎªÁËÈÃdhcpd(dhcp³ÌÐòµÄÊØ»¤½ø³Ì)Äܹ»Õý³£µÄºÍDHCP¿Í»§»ú¹µÍ¨£¬dhcpd±ØÐë´«ËÍ·â°üµ½255.255.255.255Õâ¸öIPµØÖ·£¬µ«ÊÇÓÐЩLinuxϵͳÀï255.255.255.255Õâ¸öIPµØÖ·±»ÓÃÀ´×öΪ¼àÌýÇøÓò×ÓÍøÓò£¨local subnet£©¹ã²¥µÄ IPµØÖ·£¬ËùÒÔÐèÒªÔÚ·ÓÉ±í£¨routing table£©Àï¼ÓÈë255.255.255.255ÒÔ¼¤»îMULTICAST¹¦ÄÜ£»
¡¡¡¡Ê¹ÓÃÃüÁ
route add -host 255.255.255.255 dev eth0
¡¡¡¡Èç¹û±¨¸æ´íÎóÏûÏ¢£º255.255.255.255£ºUnkown host
¡¡¡¡ÄÇôÇëÏÈÐÞ¸Ä/etc/hosts¼ÓÈëÒ»ÐУº
¡¡¡¡255.255.255.255 dhcp
¡¡¡¡2. DHCP¿Í»§¶Ë³ÌÐòºÍDHCP·þÎñÆ÷²»¼æÈÝ
¡¡¡¡ÓÉÓÚLinuxÓÐÐí¶à·¢ÏÖ°æ±¾£¬²»Í¬°æ±¾Ê¹ÓÃDHCP¿Í»§¶Ë³ÌÐòºÍDHCP·þÎñÆ÷Ò²²»Ïàͬ¡£LinuxÌṩÁËËÄÖÖDHCP¿Í»§¶Ë³ÌÐò£ºpump, dhclient, dhcpxd, ºÍdhcpcd¡£Á˽ⲻͬLinux·¢Ðа汾µÄ·þÎñÆ÷¶ËºÍ¿Í»§¶Ë³ÌÐò¶ÔÓÚ³£¼û´íÎóÅųýÊDZØÒªµÄ¡£±ÊÕßÔø¾Óöµ½¹ýʹÓÃSuSE Linux 9.1 DHCP·þÎñÆ÷ºÍʹÓÃMandrake Linux 9.0¿Í»§»ú²»¼æÈݵÄÇé¿ö¡£´Ëʱ¾Í±ØÐë¸ü»»¿Í»§¶Ë³ÌÐò¡£·½·¨ÊÇÏÈÍ£Ö¹¿Í»§»úµÄÍøÂç·þÎñ£¬Ð¶ÔØÔ³ÌÐò£¬°²×°ºÍ·þÎñÆ÷¶Ë¼æÈݳÌÐò¡£¸½±í£ºÖ÷ÒªLinux·¢ÐаæÊ¹ÓõÄDHCP¿Í»§¶Ë¡£
·¢Ðа汾 ȱʡ DHCP¿Í»§¶Ë ¿ÉÑ¡ DHCP ¿Í»§¶Ë DHCP¿Í»§¶ËÆô¶¯½Å±¾ ¸½¼ÓÅäÖÃÎļþ
Red Hat Linux 9.0 dhclient ÎÞ /sbin/ifup /etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0
Debian Linux 3.0 dhclient ÎÞ /sbin/ifup /etc/network/interfaces
/etc/dhclient.conf
Mandrake Linux 9.1 dhclient dhcpcd, dhcpxd, pump /sbin/ifup /etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/dhclient-eth0.conf
SuSE Linux 9.1 dhcpcd dhclient /sbin/ifup-dhcp /etc/sysconfig/network/dhcp
/etc/sysconfig/network/ifcfg-eth0
Áù¡¢DHCP·þÎñÆ÷µÄ°²È«
¡¡¡¡1. ÔÚÖ¸¶¨ÍøÂç½Ó¿ÚÆô¶¯DHCP·þÎñÆ÷
¡¡¡¡Èç¹ûÄãµÄLinuxϵͳÁ¬½ÓÁ˲»Ö¹Ò»¸öÍøÂç½çÃæ£¬µ«ÊÇÄãÖ»ÏëÈà DHCP ·þÎñÆ÷Æô¶¯ÆäÖÐÖ®Ò»£¬Äã¿ÉÒÔÅäÖà DHCP ·þÎñÆ÷Ö»ÔÚÄǸöÉ豸ÉÏÆô¶¯¡£ÔÚ /etc/sysconfig/dhcpd ÖУ¬°Ñ½çÃæµÄÃû³ÆÌí¼Óµ½ DHCPDARGS µÄÁбíÖУº
DHCPDARGS=eth0
¡¡¡¡»òÕßÖ±½ÓʹÓÃÃüÁ
Echo "DHCPDARGS=eth0" >> /etc/ sysconfig/dhcpd
¡¡¡¡ÕâÑù¶ÔÓÚ´øÓÐÁ½¸öÍø¿¨µÄ·À»ðǽ»úÆ÷£¬¸ü¼Ó°²È«£ºÒ»¸öÍø¿¨¿ÉÒÔ±»ÅäÖÃ³É DHCP ¿Í»§À´´Ó»¥ÁªÍøÉϼìË÷ IP µØÖ·£»ÁíÒ»¸öÍø¿¨¿ÉÒÔ±»ÓÃ×÷·À»ðǽ֮ºóµÄÄÚ²¿ÍøÂçµÄ DHCP ·þÎñÆ÷¡£½öÖ¸¶¨Á¬½Óµ½ÄÚ²¿ÍøÂçµÄÍø¿¨Ê¹ÏµÍ³¸ü¼Ó°²È«£¬ÒòΪÓû§ÎÞ·¨Í¨¹ý»¥ÁªÍøÀ´Á¬½ÓËüµÄÊØ»¤½ø³Ì¡£
¡¡¡¡2. ÈÃDHCP·þÎñÆ÷ÔÚ¼àÀÎÖÐÔËÐÐ
¡¡¡¡Ëùν"¼àÀÎ"¾ÍÊÇָͨ¹ýchroot»úÖÆÀ´¸ü¸Äij¸öÈí¼þÔËÐÐʱËùÄÜ¿´µ½µÄ¸ùĿ¼£¬¼´½«Ä³Èí¼þÔËÐÐÏÞÖÆÔÚÖ¸¶¨Ä¿Â¼ÖУ¬±£Ö¤¸ÃÈí¼þÖ»ÄܶԸÃĿ¼¼°Æä×ÓĿ¼µÄÎļþÓÐËù¶¯×÷£¬´Ó¶ø±£Ö¤Õû¸ö·þÎñÆ÷µÄ°²È«¡£ÕâÑù¼´Ê¹³öÏÖ±»ÆÆ»µ»ò±»ÇÖÈ룬ËùÊܵÄËðʧҲ½ÏС¡£
¡¡¡¡½«Èí¼þchroot»¯µÄÒ»¸öÎÊÌâÊǸÃÈí¼þÔËÐÐʱÐèÒªµÄËùÓгÌÐò¡¢ÅäÖÃÎļþºÍ¿âÎļþ¶¼±ØÐëÊÂÏȰ²×°µ½chrootĿ¼ÖУ¬Í¨³£³ÆÕâ¸öĿ¼Ϊchroot jail£¨chroot"¼àÀÎ"£©¡£Èç¹ûÒªÔÚ"¼àÀÎ"ÖÐÔËÐÐdhcpd£¬¶øÊÂʵÉϸù±¾¿´²»µ½ÎļþϵͳÖÐÄǸöÕæÕýµÄĿ¼¡£Òò´ËÐèÒªÊÂÏÈ´´½¨Ä¿Â¼£¬²¢½«dhcpd¸´ÖƵ½ÆäÖС£Í¬Ê±dhcpdÐèÒª¼¸¸ö¿âÎļþ£¬¿ÉÒÔʹÓÃldd£¨library Dependency DisplayËõд£©ÃüÁldd×÷ÓÃÊÇÏÔʾһ¸ö¿ÉÖ´ÐгÌÐò±ØÐëʹÓõĹ²Ïí¿â¡£
ldd dhcpd
libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
¡¡¡¡ÕâÒâζ×Å»¹ÐèÒªÔÚ"¼àÀÎ"Öд´½¨libĿ¼£¬²¢½«¿âÎļþ¸´ÖƵ½ÆäÖС£ÊÖ¹¤Íê³ÉÕâÒ»¹¤×÷ÊǷdz£Âé·³µÄ£¬´Ëʱ¿ÉÒÔÓÃjailÈí¼þ°üÀ´°ïÖú¼ò»¯chroot"¼àÀÎ"½¨Á¢µÄ¹ý³Ì¡£
¡¡¡¡(1)JailÈí¼þµÄ±àÒëºÍ°²×°
¡¡¡¡Jail¹Ù·½ÍøÕ¾ÊÇ£ºhttp://www.jmcresearch.com/ £¬×îа汾£º1.9a¡£
#Wget http://www.jmcresearch.com/static/dwn/projects/jail/jail_1.9a.tar.gz
#tar xzvf jail.tar.gz; cd jail/src
#make; make install
¡¡¡¡(2)ÓÃjail´´½¨¼àÀÎ
¡¡¡¡jailÈí¼þ°üÌṩÁ˼¸¸öPerl½Å±¾×÷ΪÆäºËÐÄÃüÁ°üÀ¨mkjailenv¡¢addjailuserºÍaddjailsw¡£
¡¡¡¡mkjailenv£º´´½¨chroot"¼àÀÎ"Ŀ¼£¬²¢ÇÒ´ÓÕæÊµÎļþϵͳÖп½±´»ù±¾µÄÈí¼þ»·¾³¡£addjailsw£º´ÓÕæÊµÎļþϵͳÖп½±´¶þ½øÖÆ¿ÉÖ´ÐÐÎļþ¼°ÆäÏà¹ØµÄÆäËüÎļþ£¨°üÀ¨¿âÎļþ¡¢¸¨ÖúÐÔÎļþºÍÉ豸Îļþ£©µ½¸Ã"¼àÀÎ"ÖС£addjailuser£º´´½¨ÐµÄchroot"¼àÀÎ"Óû§¡£
¡¡¡¡Ê×ÏÈֹͣĿǰdhcpd·þÎñ£¬È»ºó½¨Á¢chrootĿ¼£º
#/sbin/service dhcpd start
#mkjailenv /chroot/
mkjailenv
A component of Jail (version 1.9 for linux)
http://www.gsyc.inf.uc3m.es/~assman/jail/
Juan M. Casillas
Making chrooted environment into /chroot
Doing preinstall()
Doing special_devices()
Doing gen_template_password()
Doing postinstall()
Done.
¡¡¡¡ÏÂÃæµÄÀý×ÓչʾΪ"¼àÀÎ"Ìí¼Ódhcpd³ÌÐòµÄ¹ý³Ì£º
# addjailsw /chroot/ -P /usr/sbin/dhcpd
addjailsw
A component of Jail (version 1.9 for linux)
http://www.gsyc.inf.uc3m.es/~assman/jail/
Juan M. Casillas
Guessing dhcpd args(0)
Warning: file /chroot//lib/tls/libc.so.6 exists. Overwritting it
Warning: file /chroot//lib/ld-linux.so.2 exists. Overwritting it
¡¡¡
Done.
¡¡¡¡²»ÓÃÔÚÒâÄÇЩ¾¯¸æÐÅÏ¢£¬ÒòΪjail»áµ÷ÓÃldd¼ì²édhcpdÓõ½µÄ¿âÎļþ¡£¶ø¼¸ºõËùÓлùÓÚ¹²Ïí¿âµÄ¶þ½øÖÆ¿ÉÖ´ÐÐÎļþ¶¼ÐèÒªÉÏÊöµÄ¼¸¸ö¿âÎļþ¡£½ÓÏÂÀ´½«dhcpdµÄÏà¹ØÎļþ¿½±´µ½"¼àÀÎ"ÖУº
# mkdir -p /chroot/dhcp/etc
# cp /etc/dhcpd.conf /chroot/dhcp/etc/
# mkdir -p /chroot/dhcp/var/state/dhcp
# touch /chroot/dhcp/var/state/dhcp/dhcp.leases
¡¡¡¡ÖØÐÂÆô¶¯dhcpd£º
[root@www root]# /chroot/usr/sbin/dhcpd
¡¡¡¡Ê¹ÓÃpsÃüÁî¼ì²édhcpd½ø³Ì£º
#ps -ef | grep dhcpd
root 2402 1 0 14:25 ? 00:00:00 /chroot/usr/sbin/dhcpd
root 2764 2725 0 14:29 pts/2 00:00:00 grep dhcpd
¡¡¡¡×¢Òâ´Ëʱ½ø³ÌÃû³ÆÒѾ¸Ä±ä£¬Ê¹Óüì²édhcpdÔËÐеĶ˿ڣº
# netstat -nutap | grep dhcpd
udp 0 0 0.0.0.0:67 0.0.0.0:* 2402/dhcpd
¡¡¡¡¶Ë¿ÚºÅûÓиı䡣ÏÖÔÚdhcpdÒѾ³É¹¦ÔËÐÐÔÚ"¼àÀÎ"ÖС£µ½´ËΪֹһ¸öÕâÑù£¬Ò»¸öÍêÕûºÍ°²È«µÄ DHCP·þÎñÆ÷¾ÍÍê³ÉÁË¡£
|
|
| |
|
¹Ø¼ü×Ö:
| ¹Ø¼ü×Ö: LinuxÏÂÅäÖÃÍêÕû°²È«µÄDHCP·þÎñÆ÷Ïê½â,²©Ö¾,soft,glen'blog,blog,weblog,blog,qzhiwu@msn.com |
|
ÒýÓÃ [0]
| ±¾ÎÄÎÞTrackback |
 |
|
Ìí¼ÓÆÀÂÛ
|
|