Я посмотрел на следующие вопросы без успеха:
Я попытался использовать tftp-hpa, atftpd и tftp. Я возвратился к tftp как использование, другие не имели никакого значения.
До сих пор я имею:
Установленный tftp
sudo apt-get install xinetd tftpd tftp
Настроенный/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
}
Созданный/tftpboot папка и выполнил следующее для него:
sudo chmod -R 777 /tftpboot
sudo chown -R nobody /tftpboot
У меня есть разрешенный порт 69 через iptables:
sudo iptables -A INPUT -p tcp --dport 69 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 69 -j ACCEPT
sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:tftp
ACCEPT udp -- anywhere anywhere udp dpt:tftp
и перезапущенный сервис:
sudo /etc/init.d/xinetd restart
Я могу соединить прекрасное использование localhost (тот же результат, если я явно использую 127.0.0.1):
tftp localhost
tftp> status
Connected to localhost.
Mode: netascii Verbose: off Tracing: off
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
tftp> get test
Received 21 bytes in 0.0 seconds
tftp> quit
Однако ни один из моих коллег не может получить доступ к нему от их машин (та же сеть, та же маска подсети) и, самое главное, я не могу получить доступ к нему от встроенной платы, что мне нужен он для (кабели Ethernet включили тот же переключатель). Я гуглил в течение многих часов и еще не нашел фиксацию.
То, что это работает локально, предположило бы, что это - брандмауэр/проблема порта, но порт 69 позволяется на iptables, и я не уверен что еще я.
Так как у Вас есть только INPUT
правила, что означает, что Вы только принимаете входящий трафик от порта 69, но у Вас есть трафик, выходящий также, который означает, что Вам нужно к ACCEPT
исходящий трафик также.
sudo iptables -A OUTPUT -p tcp --dport 69 -j ACCEPT
sudo iptables -A OUTPUT -p udp --dport 69 -j ACCEPT