Portál AbcLinuxu, 7. května 2025 09:56
iptables -t nat -A POSTROUTING -s 192.168.1.2 -j SNAT --to 81.31.46.70 iptables -t nat -A PREROUTING -d 81.31.46.70 -j DNAT --to 192.168.1.2Tohle by mělo být v pořádku – určitě každé zvlášť, nevím, jesttli v téhle kombinaci se o ty pakety SNAT a DNAT nepoperou.
iptables -A FORWARD -m state --state NEW -i {INSIDE_DEVICE} -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state NEW,INVALID -i {OUTSIDE_DEVICE} -j DROPTady povolujete veškerá nová průchozí spojení zahájená uvnitř sítě, ale zakážete veškerá průchozí spojení zahájená v internetu. Tudíž vám bude fungovat SNAT (spojení zahájená vaším počítačem projdou), ale paket, který projde DNATem bude vzápětí tímto filtrem zahozen. Přidal bych tam jeden řádek:
iptables -A FORWARD -m state --state NEW -i {INSIDE_DEVICE} -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state NEW -i {OUTSIDE_DEVICE} -d 192.168.1.2 -j ACCEPT iptables -A FORWARD -m state --state NEW,INVALID -i {OUTSIDE_DEVICE} -j DROP
tcpdump
spouštěný postupně na vnějším i vnitřním rozhraní. Pokud na jedno rozhraní paket přijde a z druhého už neodejde, je problém na routeru, pokud odejde z vnitřního rozhraní ale už nepřijde odpověď, je pro blém na cílovém počítači (nebo mezi ním a routerem). Pokud routerem projdou první pakety v obou směrech, ale navazování spojení nepokračuje, bude asi problém v NATu a router odesílá do internetu pakety se špatnými adresami, které nedorazí k adresátovi, nebo je adresát zahodí, protože je (podle adres) nečeká.
iptables -A OUTPUT iptables -A FORWARD -p tcp -dTohle je předpokládám chyba při vkládání do diskuze. Použijte tag <pre>…</pre>, případně <pre class="kod">…</pre>, usnadníte si tím práci a výpis bude přeheldnější.
po obyčejném copy-paste byl text v náhledu šíleně nepřehledný(nefungovaly entery a vše bylo v jednom řádku),tak jse mto musel ručně upravovatTo by právě vyřešil tag <pre>, což je „formátovaný text (kód)“, který právě mimo jiné zachová konce řádků tam, kde je „Enter“.
toto ifconfig eth0:1 81.31.46.70 nahrad ip addr add 81.31.46.70/32 dev eth0
ifconfig eth0:1 12.34.56.78 iptables -t nat -A POSTROUTING -s 172.16.0.11 -j SNAT --to 12.34.56.78 iptables -t nat -A PREROUTING -d 12.34.56.78 -j DNAT --to 172.16.0.11
echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arpTo co radí kolegové s nastavením iptables vypadá správně, ale mne to také nefungovalo, dokud jsem neprovedl výše uvedené. Shruba jde o to, že ty stroje mezi sebou komunikují ještě na nižší úrovni tím protokolem ARP a jde o to aby se pakety dostali až k tomu druhýmu počítači jestli to chápu správně.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.