Am câteva probleme cu descărcarea TFTP în spatele NAT folosind IPtables și chiar aș putea folosi ajutorul tău. Sunt familiarizat cu principiile de rețea, dar destul de nou în IPtables, așa că îmi pare rău dacă fac ceva complet greșit.
Am un server care rulează Ubuntu 20.04 cu două NIC-uri și care încearcă să se conecteze la un server TFTP. În timp ce totul funcționează perfect în regulă, primesc un timeout când încerc să fac TFTP. Am o suspiciune bazată pe un tcpdump, unde văd niște trafic icmp care (poate) nu este tradus corect, dar nu sunt sigur..
Informații de topologie
Server TFTP: 130.221.69.14:udp\69
MyServer (TFTP-CLIENT):
eth0 = uplink / 172.25.17.6
eth1 = downlink / 10.14.254.0/24 (Care NAT este la eth0 cu configurația de mai jos)
IFACE_WAN=eth0
IFACE_LAN=eth1
NETWORK_LAN=10.14.254.0/24
... iptables config
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $IFACE_WAN -s $NETWORK_LAN ! -d $NETWORK_LAN -j MASQUERADE
iptables -A FORWARD -d $NETWORK_LAN -i $IFACE_WAN -o $IFACE_LAN -m stare --state RELATED,STABLISHED -j ACCEPT
iptables -A FORWARD -s $NETWORK_LAN -i $IFACE_LAN -j ACCEPT
Când fac un tcpdump pe eth1/$NETWORK_LAN (ÎNAINTE NAT) văd:
Nu văd niciun trafic ICMP aici.
root@swmgmt:~# tcpdump -i eth1 -n dst 130.221.69.14
tcpdump: ieșirea verbosă a fost suprimată, utilizați -v sau -vv pentru decodarea completă a protocolului
ascultare pe eth1, tip link EN10MB (Ethernet), dimensiunea capturii 262144 octeți
20:38:34.901901 IP 10.14.254.164.59384 > 130.221.69.14.69: 38 RRQ octet „switch-config/by-name/switch1”
20:38:38.897841 IP 10.14.254.164.59384 > 130.221.69.14.69: 38 RRQ octet „switch-config/by-name/switch1”
20:38:43.899754 IP 10.14.254.164.59384 > 130.221.69.14.69: 38 RRQ octet „switch-config/by-name/switch1”
20:38:49.903083 IP 10.14.254.164.59384 > 130.221.69.14.69: 38 RRQ octet „switch-config/by-name/switch1”
20:38:56.907874 IP 10.14.254.164.59384 > 130.221.69.14.69: 38 RRQ octet „switch-config/by-name/switch1”
20:39:04.908915 IP 10.14.254.164.59384 > 130.221.69.14.69: 38 RRQ octet „switch-config/by-name/switch1”
20:39:12.909728 IP 10.14.254.164.59384 > 130.221.69.14.69: 23 EROARE EUNDEF „Sesiune încheiată”
Când fac un tcpdump pe eth0/$NETWORK_WAN (DUPĂ NAT) văd:
Văd traficul icmp aici?
20:21:31.898048 IP 172.25.17.6.59650 > 130.221.69.14.69: 38 RRQ octet „switch-config/by-name/switch1”
20:21:31.899090 IP 172.25.17.6 > 130.221.69.14: ICMP 172.25.17.6 udp port 59650 inaccesibil, lungime 55
20:21:39.024682 IP 172.25.17.6.59650 > 130.221.69.14.69: 38 RRQ octet „switch-config/by-name/switch1”
20:21:39.025524 IP 172.25.17.6 > 130.221.69.14: ICMP 172.25.17.6 udp port 59650 inaccesibil, lungime 55
20:21:47.029243 IP 172.25.17.6.59650 > 130.221.69.14.69: 38 RRQ octet „switch-config/by-name/switch1”
20:21:47.030220 IP 172.25.17.6 > 130.221.69.14: ICMP 172.25.17.6 udp port 59650 inaccesibil, lungime 55
20:21:55.030448 IP 172.25.17.6.59650 > 130.221.69.14.69: 23 EROARE EUNDEF „Sesiune încheiată”
Orice ajutor ar fi foarte apreciat!
Cu stimă
Tor.