나는 팔로우하고 있다이것tftp 사용에 대한 튜토리얼:
먼저 필요한 모든 패키지를 설치합니다.
sudo apt-get install xinetd tftpd tftp -y
다음으로 구성 파일을 만듭니다.
sudo nano /etc/xinetd.d/tftp
파일에 다음 내용을 넣으세요.
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = var/lib/tftpboot -s
disable = no
}
이제 디렉토리의 소유권을 변경합니다.
sudo mkdir /var/lib/tftpboot
sudo chown -R nobody:nobody /var/lib/tftpboot
sudo chmod -R 777 /var/lib/tftpboot
TFTP 서비스를 시작합니다.
sudo service xinetd stop
sudo service xinetd start
그런 다음 TFTP가 제대로 작동하는지 확인합니다.
root@ravi-Inspiron-N5010:/home/ravi# netstat -na | grep LIST | grep 69
unix 2 [ ACC ] STREAM LISTENING 16171 @/com/ubuntu/upstart-session/1000/1692
root@ravi-Inspiron-N5010:/home/ravi#
netstat의 출력은 튜토리얼에서 언급한 것과 다릅니다.
tcp 0 0 0.0.0.0:69 0.0.0.0:* LISTEN
답변1
TFTP는 UDP 기반 프로토콜이므로 "LISTEN" 또는 "LISTENING"이라는 줄을 찾을 수 없습니다.
달리기netstat -na | grep udp
당신이 무엇을 얻는지 확인하세요.
답변2
언급한 대로 출력은 충분히 합법적인 것처럼 보입니다. 하지만 문제는 실제로 클라이언트를 통해 TFTP 서버에 액세스해 보았느냐는 것입니다. 상대방이 듣고 있는지 확실히 알 수 있는 유일한 방법은...
한 가지는 이것이 Ubuntu라면 단계 중 하나를 변경해야 할 수도 있다는 것입니다. 기본적으로 다음과 같아야 합니다.
sudo service xinetd restart
아니요
sudo service xinetd stop
sudo service xinetd start
upstart에 의해 xinetd가 생성되므로 4단계만 변경하면 됩니다. "service xinetd restart"를 사용하여 다시 시작해야 합니다 – BЈовић 2013-09-04 12:14 https://askubuntu.com/questions/201505/how-do-i-install-and-run-a-tftp-server
또 다른 옵션은 다른 TFTP(tftpd-hpa, atftpd 등) 서버를 실행해 보는 것입니다.
http://www.cyberciti.biz/faq/install-configure-tftp-server-ubuntu-debian-howto/
답변3
어떤 튜토리얼을 따랐는지 언급하지 않았습니다. 그러나 출력은 상당히 합법적인 것 같습니다. tftp는 xinetd 래퍼를 사용하므로 실제 연결된 클라이언트가 있는 경우에만 netstat에서 연결을 볼 수 있습니다. 시도해 보고 netstat를 다시 실행해 보세요.
netstat -tupan
방화벽이 이 포트에 대한 연결을 허용하는지 확인하세요.
iptables -I INPUT -s <your subnet> -p tcp --dport 69 -j ACCEPT
iptables -I INPUT -s <your subnet> -p udp --dport 69 -j ACCEPT
여기서 "귀하의 서브넷"은 192.168.1.0/24입니다.