ฉันจะติดตั้งและเรียกใช้เซิร์ฟเวอร์ TFTP ได้อย่างไร


60

ฉันมีเป้าหมาย VxWorks ในตัวที่ต้องบูตเคอร์เนลจากคอมพิวเตอร์ Ubuntu ของฉัน ฉันจะติดตั้งและเรียกใช้เซิร์ฟเวอร์ TFTP ได้อย่างไร

คำตอบ:


103

ติดตั้งและตั้งค่าเซิร์ฟเวอร์ TFTP

  1. ติดตั้งแพ็คเกจต่อไปนี้

    sudo apt-get install xinetd tftpd tftp
    
  2. สร้าง /etc/xinetd.d/tftp และใส่รายการนี้

    service tftp
    {
    protocol        = udp
    port            = 69
    socket_type     = dgram
    wait            = yes
    user            = nobody
    server          = /usr/sbin/in.tftpd
    server_args     = /tftpboot
    disable         = no
    }
    
  3. สร้างโฟลเดอร์ / tftpboot สิ่งนี้ควรตรงกับสิ่งที่คุณให้ไว้ใน server_args ส่วนใหญ่จะเป็น tftpboot

    sudo mkdir /tftpboot
    sudo chmod -R 777 /tftpboot
    sudo chown -R nobody /tftpboot
    
  4. เริ่มบริการ xinetd ใหม่

    ระบบที่ใหม่กว่า:

    sudo service xinetd restart
    

    ระบบเก่า:

    sudo /etc/init.d/xinetd restart
    

ตอนนี้เซิร์ฟเวอร์ tftp ของเราเริ่มทำงานแล้ว

ทดสอบเซิร์ฟเวอร์ tftp ของเรา

  1. สร้างไฟล์ชื่อทดสอบด้วยเนื้อหาบางอย่างใน / tftpboot พา ธ ของเซิร์ฟเวอร์ tftp

    รับที่อยู่ ip ของเซิร์ฟเวอร์ tftp โดยใช้คำสั่ง ifconfig

  2. ตอนนี้ในบางระบบอื่น ๆ ทำตามขั้นตอนต่อไปนี้

    tftp 192.168.1.2
    tftp> get test
    Sent 159 bytes in 0.0 seconds
    
    tftp> quit
    
    cat test
    

ที่มา: http://mohammadthalif.wordpress.com/2010/03/05/installing-and-testing-tftpd-in-ubuntudebian/


1
ขั้นตอนที่ 4 เท่านั้นที่จำเป็นต้องเปลี่ยนเนื่องจาก xinetd ถูกวางไข่โดยพุ่งพรวด คุณต้องรีสตาร์ทด้วย 'service xinetd restart'
BЈовић

3
ฉันทำตามคำแนะนำนี้และต้องเผชิญกับการอนุญาตที่ถูกปฏิเสธ! ชื่อไฟล์ปลายทาง [c2950-i6q4l2-mz.121-22.EA1b.bin]? ได้รับ TFTP: รหัสข้อผิดพลาด 2 - การละเมิดการเข้าถึง% ข้อผิดพลาดในการเปิด tftp: //10.1.11.14/c2950-i6q4l2-mz.121-22.EA1b.bin (ปฏิเสธการอนุญาต) #copy flash: c2950-i6q4l2-mz.121-22 .EA1b.bin tftp: ที่อยู่หรือชื่อของรีโมตโฮสต์ []? 10.1.11.14 ชื่อไฟล์ปลายทาง [c2950-i6q4l2-mz.121-22.EA1b.bin]? TFTP: ได้รับรหัสข้อผิดพลาด 2 - การละเมิดการเข้าถึง
Mohammad Rafiee

1
@Mohammad Rafiee: โพสต์บล็อกที่เชื่อมโยงกับที่นี่เพิ่มข้อมูลบางอย่าง: ทำงานsudo chmod -R 777 /tftpbootระหว่างขั้นตอนที่ 1 และ 2 ของ "การทดสอบเซิร์ฟเวอร์ tftp ของเรา" ไม่ใช่ว่ามันช่วยฉัน แต่ดูเหมือนว่าจะช่วยคนอื่น
Gauthier

2
ในวันที่ 14.04 สิ่งนี้ไม่ได้ผลสำหรับฉัน ข้อมูลเกี่ยวกับ/tftpbootใน/etc/xinetd.d/tftpดูเหมือนจะไม่สำคัญ แต่ลูกค้าที่มีลักษณะในไดเรกทอรีที่ระบุไว้ใน/srv/tftp /etc/inetd.confฉันไม่ได้เปลี่ยนวิธีการตั้งค่าสิ่งต่าง ๆ นับตั้งแต่บทความหรือถ้าฉันเมาอย่างใด หากคำตอบข้างต้นใช้ไม่ได้ผลให้ลองวางไฟล์ทดสอบ/srv/tftpแทน
Gauthier

2
โปรดทราบว่าอูบุนตู 16.04 error code 2 (access violation)คุณจะได้สัมผัส ที่จะแก้ไขได้ใส่tftpboot -sในserver_args(ไม่ทับชั้นนำ-sในตอนท้ายที่มา:. icesquare.com/wordpress/...
CharlesB

7

คุณสามารถติดตั้งatftpdและมันจะสร้างไดเรกทอรี/tftpbootที่คุณสามารถวางไฟล์ของคุณ ใส่pxelinux.0ไฟล์โดยเฉพาะอย่างยิ่งที่นั่น การกำหนดค่าในอนาคตใด ๆ จะได้รับการแก้ไขหากจำเป็น

เมื่อคุณติดตั้งแพ็คเกจด้วย

sudo apt-get install atftpd

มันจะใช้ Debconf เพื่อแจ้งให้คุณสำหรับตัวเลือกบางอย่าง คุณสามารถตั้งค่าตัวเลือกมากมาย (เซิร์ฟเวอร์หมดเวลาอาจจะมีประโยชน์) โดยเฉพาะอย่างยิ่งbasepath คุณสามารถปรับช่วงมัลติคาสต์ได้


pxelinux.0 คืออะไร ฉันกำลังบูทเป้าหมาย VxWorks ดังนั้นฉันคิดว่าฉันต้องการไฟล์ vxworks ใน / tftpboot เท่านั้น
user1689961

ขออภัย - มันไม่ได้ผลสำหรับฉัน
user1689961

ลองเปลี่ยนชื่อvxworksเป็นpxelinux.0เพียงเพื่อดูว่าคำตอบของฉันจะใช้ได้กับผู้ใช้ในอนาคตหรือไม่
ζ--

สิ่งนี้ใช้ไม่ได้กับ 13.04 ฉันเพิ่งลอง
BЈовић

@ BЈовићนี่เป็นคำตอบที่ค่อนข้างเก่าและโดยสุจริตฉันไม่ทราบขั้นตอนสำหรับ 13.04
ζ--

5

คุณสามารถติดตั้งtftpd-hpaและเปลี่ยนการกำหนดค่า มีการอธิบายขั้นตอนสำหรับการติดตั้ง tftpd-hpa ในบล็อกโพสต์นี้


2
ในขณะที่สิ่งนี้อาจตอบคำถามในทางทฤษฎีมันก็ควรที่จะรวมส่วนสำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง
guntbert

upvoted คุณเพียงเพราะ tftpd-hpa เป็นเซิร์ฟเวอร์ tftp ง่าย ๆ ที่โง่ที่จะใช้และไม่จำเป็นต้องมีการกำหนดค่าใด ๆ ที่จำเป็นในโพสต์นั้นเพียงแค่วางไฟล์ของคุณใน / var / lib / tftpboot และคุณตั้งค่าไว้ (บน Ubuntu 16.04 ไม่แน่ใจ เกี่ยวกับระบบปฏิบัติการอื่น)
mschuett
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.