Erstellen Sie mit Docker einen TFTP-Server. Ich mache nichts Besonderes.
Lassen Sie den Dienst auf den TFTP-Dienst warten
firewall-cmd --add-service=tftp --zone=public --permanent
firewall-cmd --reload
Erstellen Sie ein Bild, damit es wiederverwendet werden kann. Erstellen Sie ein geeignetes Verzeichnis, um die Docker-Datei und die Einstellungsdatei abzulegen.
mkdir -p /opt/docker/tftp
cd /opt/docker/tftp
/opt/docker/tftp/tftp.df
FROM centos:centos8
RUN dnf -y update ; dnf -y install tftp-server xinetd
COPY tftp /etc/xinetd.d/tftp
CMD [ "/usr/sbin/init" ]
Erstellen Sie eine Konfigurationsdatei, um tftp über xinetd zu starten
/opt/docker/tftp/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -c -u root -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
Nachdem Sie die Docker-Datei erstellt haben, erstellen Sie sie. tftp stellt zunächst eine Verbindung mit 69 / udp her, handelt danach jedoch die Portnummer aus und überträgt Daten, sodass es schwierig ist, den Port mit Bridge zu übertragen. Es wird also eine Verbindung zum Host-Netzwerk hergestellt.
docker build --force-rm -t infraserv:tftp . -f ./tftp.df && \
docker run --cap-add sys_admin --security-opt seccomp:unconfined -v /sys/fs/cgroup:/sys/fs/cgroup:ro \
--network host -it -d --name tftp --hostname tftp infraserv:tftp
Fragen Sie bei Ihrem Cisco-Router nach
Rdc01#copy run tftp://10.254.10.251/rdc01-config
Address or name of remote host [10.254.10.251]?
Destination filename [rdc01-config]?
!!
11944 bytes copied in 1.112 secs (10741 bytes/sec)
Rdc01#copy tftp://10.254.10.251/rdc01-config flash:
Destination filename [rdc01-config]?
Accessing tftp://10.254.10.251/rdc01-config...
Loading rdc01-config from 10.254.10.251 (via Vlan10): !
[OK - 11944 bytes]
11944 bytes copied in 0.652 secs (18319 bytes/sec)
Rdc01#
Recommended Posts