Рейтинг:0

Проблема с TFTP и IPTables и (s)-NAT

флаг bd
HMH

У меня есть некоторые проблемы с загрузкой 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 «Сеанс завершен»

Любая помощь будет очень признательна!

С уважением Тор.

Рейтинг:2
флаг fr

Вероятно, вам нужно загрузить помощник tftp NAT, так как tftp — один из этих протоколов, которые плохо работают с NAT.

Пытаться modprobe nf_nat_tftp.

Примечание: Приведенная выше информация получена из системы, использующей nftables, а не iptables. Ваш пробег может отличаться. В любом случае постарайтесь найти его под /lib/modules/<версия-ядра>/kernel/net/ каталог, скорее всего в подкаталог сетевой фильтр на верхнем уровне или в каталогах ipv4 или ipv6.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.