ÊÖ»úÕ¾
ÍøÍ¨·ÖÕ¾
µçÐÅÖ÷Õ¾
ÃÜ¡¡Âë:
Óû§Ãû£º
µ±Ç°Î»Öà : Ö÷Ò³>²Ù×÷ϵͳ>Linux>Áбí

ÎªÍøÂçÆô¶¯ºÍÈíÓ²¼þÉý¼¶½¨Á¢TFTP·þÎñÆ÷

À´Ô´£º»¥ÁªÍø ×÷Õߣºwest263.com ʱ¼ä£º2008-04-02
Î÷²¿ÊýÂë-È«¹úÐéÄâÖ÷»ú10Ç¿£¡40ÓàÏîÐéÄâÖ÷»ú¹ÜÀí¹¦ÄÜ,È«¹úÁìÏÈ!Ë«Ïß¶àÏßÐéÄâÖ÷»úÄϱ±·ÃÎʳ©Í¨ÎÞ×è!Ãâ·ÑÔùËÍÆóÒµÓʾÖ,.CNÓòÃû,×ÔÖú½¨Õ¾480ÔªÆð,Ãâ·ÑÊÔÓÃ7Ìì,ÂúÒâÔÙ¸¶¿î! P4Ö÷»ú×âÓÃ799Ôª/ÔÂ.Ô¸¶Ãâѹ½ð!

¡¾Ô­´´·­Ò룬°æÈ¨ËùÓУ¬ºÏ×÷ÍøÕ¾ÈçÓû×ªÔØ£¬Çë×¢Ã÷Ô­´´·­Òë×÷Õß¡°ÁõÁÕÙ»¡±£¬¼°ÎÄÕ³ö´¦£¨ÈüµÏÍø£©¡£Ð»¾ø·ÇºÏ×÷ÍøÕ¾×ªÔØ£¬Î¥Õߣ¬ÈüµÏÍø½«±£Áô×·¾¿Æä·¨ÂÉÔðÈεÄȨÀû£¡¡¿

TFTP£¨Trivial File Transfer Protocol,¼òµ¥Îļþ´«ÊäЭÒ飩ÊÇTCP/IPЭÒé×åÖеÄÒ»¸öÓÃÀ´ÔÚ¿Í»§»úÓë·þÎñÆ÷Ö®¼ä½øÐмòµ¥Îļþ´«ÊäµÄЭÒ飬Ìṩ²»¸´ÔÓ¡¢¿ªÏú²»´óµÄÎļþ´«Êä·þÎñ¡£ËäÈ»ÎªÍøÂçÆô¶¯ºÍÈíÓ²¼þÉý¼¶ÕâÖÖÇé¿öºÜÉÙ·¢Éú£¬µ«ÊÇ£¬µ±ÄãÐèÒªÉèÖò¢Ê¹ÓÃÒ»¸öTrivial FTP (or TFTP)·þÎñÆ÷Ê±ÕÆÎÕÕâÏî¼¼Êõ½«»á±äµÃºÜÖØÒª¡£TFTP²»Ïñƽ³£µÄFTP£¬ËüûÓÐÈÏÖ¤£¬Ã»ÓÐÃÜÂ룬ÓкܶàСµÄÌØµã£¬ËùÒÔ²»ÊÇFTPµÄ´«Êä¡£Èç¹ûTFTPÈç´ËÄÑÓã¬ÎªÊ²Ã´Ê¹ÓÃËüÄØ£¿Ò»Ð©Çý¶¯³ÌÐò£¬ÌرðÊÇ·ÓÉÆ÷ºÍijЩ¸ß¶Ë½»»»»ú»áʹÓÃTFTPÀ´½øÐÐÉý¼¶ÈíÓ²¼þ£¬ÔÙ¾ÍÊÇTFTPÔÚÍøÂçÆô¶¯ÖеÄÓÅÊÆÒ²»á±äµÃÌØ±ðÃ÷ÏÔ¡£µ±TFTP²»ÏñFTPÒ»Ñù¹ã·ºÊ¹ÓÃʱ£¬ËüÈÔÈ»ÊǷdz£ÓÐÓõġ£Í¨¹ýDHCP·ÖÅäÒ»¸öTFTP·þÎñÆ÷µÄIPµØÖ·µÄÄÜÁ¦£¬ºÍÆäËû¹ý·Ö¼òµ¥µÄÌØµãÈÃËü·Ç³£ÈÝÒ×ʹÓ㬽ö½öͨ¹ýÄ©¶ËÉ豸ָÏòTFTP·þÎñÆ÷µÄIPµØÖ·£¬Ê¹µÃÈíÓ²¼þÉý¼¶ºÍÍøÂçÆô¶¯±äµÃ¼òµ¥¡£

´ó¶àÊýLinux·Ö²¼¶¼ÓÐÒ»¸öTFTP·þÎñÆ÷½øÐпÉÓðüÌôÑ¡£¬´ú±íÐÔµÄÈçtftp-hpa°ü£¬·Ö²¼ÔÚftp://ftp.kernel.org/pub/software/network/tftp/¡£Èç¹û´ÓÄãµÄ²úÆ·ÌṩÉÌÄÇÀï»ñÈ¡µÄ°²×°°üÊÇ¿ÉÓõ쬰²×°¾ÍÏ൱¼òµ¥ÁË¡£Èç¹û²»ÊÇ£¬ÏÂÔØ²¢ÇÒ±àÒë°²×°°ü£»ÓкÜÉÙÐèÒªÄãÍê³ÉµÄ·Ç³£¹æµÄ¡°configure¡±ºÍ¡°make; make install.¡±µÄÅäÖá£

ÓÐÁËtftp-hpa£¬Ò»Ð©¶ÔÕâ¸ö²»¿É¿¿Ð­Òé½øÐа²È«ÐÔÔö³¤µÄ´ëÊ©±»²ÉÓá£Äã¿ÉÒÔ¸æËߺǫ́³ÌÐò£¬in.tftpd·þÎñ½ø³Ì£¬¸Ä±ä³ÌʽĿ¼½«±»ÓÃÀ´·þÎñÎļþ¼ÐÒ²²¢ÓÃÀ´È¡ÏûÌØÈ¨¡£ÀûÓÃÕâµã£¬´´½¨Ò»¸öÌØÊâµÄÓû§Ãûtftpd£¬ËüÓÐÒ»¸öTFTP»ùÓÚĿ¼µÄÖ÷Ŀ¼£¬»òÐí/var/lib/tftpboot¡£ È»ºó·ÃÎÊin.tftpd ÕâÑù£º

/usr/sbin/in.tftpd -u tftpd -s /var/lib/tftpboot

Èç¹ûÄ㰲װͨ¹ýÒ»¸öRPM»òÕßDEB°ü£¬½«ºÜÓпÉÄÜÓÐÒ»¸ö¿ÉÓõ½µÄ³õʼ½Å±¾¡£´ú±íÐÔµÄÀ´Ëµ£¬in.tftpd ±»³Æ×÷ͨ¹ýÒ»¸öÏñinetd»òxinetdµÄ³¬¼¶·þÎñÆ÷¡£¾Ù¸öʵÀý£¬Ò»¸öinetdµÄ¹¹Ô죺

tftp dgram udp wait root /usr/sbin/in.tftpd in.tftpd -u tftpd -s /var/lib/tftpboot

xinetdʾÀý:

service tftp

{

    socket_type = dgram

    protocol    = udp

    wait        = yes

    user        = root

    server      = /usr/sbin/in.tftpd

    server_args = -u tftpd -s /var/lib/tftpboot

}

tftp-hpa°üÒ²½«°éËæÒ»¸ötftp¿Í»§»ú³ÌÐò£¬Äܱ»ÓÃÀ´²âÊÔ¿Í»§»ú³ÌÐò¡£

ΪÁ˲âÊÔһЩÕý³£¹¤×÷£¬Æô¶¯£¨»òÕßÖØÐÂÆô¶¯£©xinetd »òÕß inetd£¬´´ÔìÒ»¸ö²âÊÔÎļþ¼Ð£¬²¢ÓÃtfpt¿Í»§»ú³ÌÐòÈ¥»ñµÃÕâ¸öÎļþ£º

# dd if=/dev/zero of=/var/lib/tftpboot/foo bs=1024 count=100

100 0 records in

100 0 records out

102400 bytes (102 kB) copied, 0.00041193 s, 249 MB/s

# tftp -v localhost -c get foo

Connected to localhost (127.0.0.1), port 69

getting from localhost:foo to foo [netascii]

Received 102400 bytes in 0.1 seconds [11872463 bit/s]

# ls -l foo

-rw-r--r-- 1 root root 102400 2008-01-06 17:05 foo

ÏÖÔÚÄã¿ÉÒÔÓÃTFTP·þÎñÆ÷ΪPXE bootingÌṩÆô¶¯Ó³Ïñ»òÕßΪ·ÓÉÆ÷»òÆäËüÉ豸ÌṩÈíÓ²¼þÓ³Ïñ£¬ÕâÑùͨ¹ýTFTP½øÐÐÈíÓ²¼þÉý¼¶¡£

ÎÄÕÂÕûÀí£ºÎ÷²¿ÊýÂë--רҵÌṩÓòÃû×¢²á¡¢ÐéÄâÖ÷»ú·þÎñ
http://www.west263.com
ÒÔÉÏÐÅÏ¢ÓëÎÄÕÂÕýÎÄÊDz»¿É·Ö¸îµÄÒ»²¿·Ö,Èç¹ûÄúÒª×ªÔØ±¾ÎÄÕÂ,Çë±£ÁôÒÔÉÏÐÅÏ¢£¬Ð»Ð»!