У меня есть некоторые проблемы с загрузкой TFTP за NAT с использованием IPtables, и мне очень нужна ваша помощь. Я знаком с сетевыми принципами, но новичок в IPtables, поэтому извините, если я делаю что-то совершенно неправильно.
У меня есть сервер под управлением Ubuntu 20.04 с двумя сетевыми картами, который пытается подключиться к TFTP-серверу. В то время как все остальное работает отлично, я получаю тайм-аут при попытке TFTP. У меня есть подозрение, основанное на tcpdump, где я вижу какой-то icmp-трафик, который (возможно) неправильно переведен, но я не уверен.
Информация о топологии
TFTP-сервер: 130.221.69.14:udp\69
Мой сервер (TFTP-КЛИЕНТ):
eth0 = восходящая линия/172.25.17.6
eth1 = нисходящая линия / 10.14.254.0/24 (какой NAT к eth0 с приведенной ниже конфигурацией)
IFACE_WAN=eth0
IFACE_LAN=eth1
СЕТЬ_LAN=10.14.254.0/24
... конфигурация iptables
эхо "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $IFACE_WAN -s $NETWORK_LAN ! -d $NETWORK_LAN -j МАСКАРАД
iptables -A FORWARD -d $NETWORK_LAN -i $IFACE_WAN -o $IFACE_LAN -m состояние --state СВЯЗАННО, УСТАНОВЛЕНО -j ПРИНЯТЬ
iptables -A FORWARD -s $NETWORK_LAN -i $IFACE_LAN -j ПРИНЯТЬ
При выполнении tcpdump на eth1/$NETWORK_LAN (ДО NAT) я вижу:
Я не вижу здесь ICMP-трафика.
root@swmgmt:~# tcpdump -i eth1 -n dst 130.221.69.14
tcpdump: подробный вывод подавлен, используйте -v или -vv для полного декодирования протокола
прослушивание на eth1, тип канала EN10MB (Ethernet), размер захвата 262144 байт
20:38:34.901901 IP 10.14.254.164.59384 > 130.221.69.14.69: 38 RRQ октет "конфигурация коммутатора/по имени/коммутатор1"
20:38:38.897841 IP 10.14.254.164.59384 > 130.221.69.14.69: 38 RRQ октет "конфигурация коммутатора/по имени/коммутатор1"
20:38:43.899754 IP 10.14.254.164.59384 > 130.221.69.14.69: 38 RRQ октет "конфигурация коммутатора/по имени/коммутатор1"
20:38:49.903083 IP 10.14.254.164.59384 > 130.221.69.14.69: 38 RRQ октет "конфигурация коммутатора/по имени/коммутатор1"
20:38:56.907874 IP 10.14.254.164.59384 > 130.221.69.14.69: 38 RRQ октет "конфигурация коммутатора/по имени/коммутатор1"
20:39:04.908915 IP 10.14.254.164.59384 > 130.221.69.14.69: 38 RRQ октет "конфигурация коммутатора/по имени/коммутатор1"
20:39:12.909728 IP 10.14.254.164.59384 > 130.221.69.14.69: 23 ОШИБКА EUNDEF «Сеанс завершен»
При выполнении tcpdump на eth0/$NETWORK_WAN (ПОСЛЕ NAT) я вижу:
Я вижу здесь icmp-трафик?
20:21:31.898048 IP 172.25.17.6.59650 > 130.221.69.14.69: 38 RRQ октет "конфигурация коммутатора/по имени/коммутатор1"
20:21:31.899090 IP 172.25.17.6 > 130.221.69.14: ICMP 172.25.17.6 udp порт 59650 недоступен, длина 55
20:21:39.024682 IP 172.25.17.6.59650 > 130.221.69.14.69: 38 RRQ октет "конфигурация коммутатора/по имени/коммутатор1"
20:21:39.025524 IP 172.25.17.6 > 130.221.69.14: ICMP 172.25.17.6 udp порт 59650 недоступен, длина 55
20:21:47.029243 IP 172.25.17.6.59650 > 130.221.69.14.69: 38 RRQ октет "конфигурация коммутатора/по имени/коммутатор1"
20:21:47.030220 IP 172.25.17.6 > 130.221.69.14: ICMP 172.25.17.6 udp порт 59650 недоступен, длина 55
20:21:55.030448 IP 172.25.17.6.59650 > 130.221.69.14.69: 23 ОШИБКА EUNDEF «Сеанс завершен»
Любая помощь будет очень признательна!
С уважением
Тор.