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:

An example of command for the enp1s0 interface

tcpdump -i enp1s0 port '(67 or 68 or 69)' -nn -A
CODE

The response should contain a corrupted file name. E.g., lpxelinux.0M-^.

An example of response

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.
CODE

Solution


  1. Edit the character remapping rules file on the location server:

    vi /opt/ispsystem/etc/tftp/remap.conf
    CODE

    An example of the file

    rg \\ /
    ri (.*)ÿ$ \1
    ri (.*)M-\^\?$ \1
    ri (lpxelinux\.0).*$ \1
    ri (lpxelinux\.efi).*$ \1
    ri (syslinux\.0).*$ \1
    ri (syslinux\.efi).*$ \1
    CODE

    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.

  2. Reboot the TFTP server:

    docker restart tftpd
    CODE

    Note

    Rebooting the TFTP server may interrupt running operations.