Créez un serveur tftp avec Docker. Je ne fais rien de spécial.
Autoriser le service à écouter le service tftp
firewall-cmd --add-service=tftp --zone=public --permanent
firewall-cmd --reload
Créez une image afin qu'elle puisse être réutilisée. Créez un répertoire approprié pour placer le Dockerfile et le fichier de paramètres.
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" ]
Créez un fichier de configuration pour démarrer tftp via xinetd
/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
}
Une fois que vous avez créé le Dockerfile, créez-le. tftp se connecte d'abord avec 69 / udp, mais après cela, il négocie le numéro de port et transfère les données, il est donc difficile de transférer le port avec le pont. Donc, il se connecte au réseau hôte.
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
Vérifiez auprès du routeur Cisco que vous aviez
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