The operation template is uploaded to the server using the TFTP protocol. For this purpose, the server sends a request to download certain files from the TFTP server of the location. Due to a bug in some network adapters, the file names may be distorted when the request is sent. For example, instead of the pxelinux.0 file, the server might request the file pxelinux.0M-^. As a result, the server will not be able to boot and the operation will not be executed.
To avoid this problem, configure character remapping rules on the location server. If the TFTP server receives a request with a corrupted file name, it will automatically change the name to the correct one.
Diagnostics
If the problem with booting via TFTP is due to distorted file names, the following messages may appear when the server loads:
Examples of error messages
You can view the detailed error output on the location server with the tcpdump utility:
tcpdump -i enp1s0 port '(67 or 68 or 69)' -nn -A
The response should contain a corrupted file name. E.g., lpxelinux.0M-^.
07:56:48.433740 IP 192.0.2.93.2070 > 192.0.2.92.69: 34 RRQ "srv1/lpxelinux.0M-^?" octet tsize 0
E..>......k..6[].6[\...E.*.R..srv1/lpxelinux.0..octet.tsize.0.
07:56:48.436957 IP 192.0.2.93.2071 > 192.0.2.92.69: 39 RRQ "srv1/lpxelinux.0M-^?" octet blksize 1456
E..C......k..6[].6[\...E./fq..srv1/lpxelinux.0..octet.blksize.1456.
Solution
-
Edit the character remapping rules file on the location server:
vi /opt/ispsystem/etc/tftp/remap.conf
An example of the filerg \\ / ri (.*)ÿ$ \1 ri (.*)M-\^\?$ \1 ri (lpxelinux\.0).*$ \1 ri (lpxelinux\.efi).*$ \1 ri (syslinux\.0).*$ \1 ri (syslinux\.efi).*$ \1
The file describes the actions to be performed on the wrong names, using regular expressions . The example shows the most common corrupted file names. You can add your own rules to this file.
-
Reboot the TFTP server:
docker restart tftpd
NoteRebooting the TFTP server may interrupt running operations.