Iptables külső ip továbbítása

Fórumok

Sziasztok!

Megoldható, hogy az iptables gateway eth1-es (belső) oldalán külső ip címeket (kliensekét, akik befele csatlakozást próbálnak) mutasson a mögötte lévő szervernek, és ha igen, hogyan?
Internet eth0
Belső háló eth1
Az eth1 után van egy tűzfal akinek látnia kéne a külsős IP címeket. A e tűzfal mögött kliensek vannak, net eléréshez is szükség van.

Hozzászólások

Persze, felveszed ra az ip-t :D

Fedora 24, Thinkpad x220

Ha jól értem

külső gép - iptableses tűzfal - kliens (ami még egy tűzfal)
ennek az ip-je -> itt látszódjon bejövő kapcsolatnál

Ha nincs SNAT megadva az iptables-es tűzfalon a belső eth1-es interface-re, akkor látnod kell.
Vagy, ha arra gondolsz, hogy a külső tűzfal eth0 lábára történő új csatlakozások menjenek át a belső tűzfal interface-ére akkor DNAT kell az eth0-ra, ami átírja a destinationt a belül levő tűzfal címére. Aztán persze kell egy tcp_forward is, hogy legyen beállítva.

Jelenleg

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -I FORWARD -d $TMG -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p all -j DNAT --to-destination $TMG

Ezzel az a baj, hogy a belső TMG tűzfalon ennek a szervernek az IP-je látszódik, és nem azé aki csatlakozni akar, így a TMG tűzfal nem tud tiltani IP-re sem, illetve IP-re engedélyezni sem, mivel nem látja a csatlakozó kliens IP címét. Viszont ha ez megoldható lenne mintha nem is lenne előtte egy másik gw szerver, tökéletes lenne :)

kliens (88.88.88.88) --> linux fw --> windows fw ==> amit lát hogy a linux fw ip-jétől jött a forgalom. Azt szeretném, hogy ha én mint kliens a következő IP-vel 88.88.88.88 pingelem a fix ip-vel rendelkező szerverünk jelen esetben a linux fw-n továbbítva van minden forgalom windows fw-hez akkor a windows fw-n lássam a 88.88.... -as ip címet, ne azt, hogy a linux fw-től jött a ping. (ping egy példa volt a szemléltetés érdekében)

Hát ez eléggé kevés... :)

Rakjuk egy kicsit rendbe. (Csak a sorrendet változtatom.)

1 iptables -t nat -A PREROUTING -i eth0 -p all -j DNAT --to-destination $TMG
2 iptables -t filter -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
3 iptables -t filter -A FORWARD -d $TMG -j ACCEPT
4 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

1. Szerintem van még itt pár szabályod, amit nem írtál le...
2. Az első sor értelmében mindent továbbtolsz a TMG-nek, kvázi DMZ-zel. Ha ez így van/lenne, akkor nincs igazán értelme ennek a tűzfalnak, hisz szűrés nélkül átmegy rajta minden...
Ebből a sorból (és a negyedikből) arra következtetek, hogy az eth0 az Internet felé néző interfész és akkor az eth1 pedig a LAN interfész.
3. A második sorban a state modult én nem tenném függővé a bejövő/kimenő interfésztől. Alapvetően jó megoldás, ha a már felépült kapcsolatokat engedjük.
4. Mivel nincs SNAT szabály a fentiek között, ezért nem történhet ebben a felállásban forráscím átírás... Azaz a hibát egy másik sorban kellene keresned. Javaslom másold be az alábbi parancsok kimenetét ide. (Természetesen a publikus IP-k átírásával:

iptables -vnL -t raw
iptables -vnL -t mangle
iptables -vnL -t nat
iptables -vnL -t filter

--
Debian Linux rulez... :D
RIP Ian Murdock

Nem nagyon értek hozzá, de szerintem ezt a dolgot hívják IP-routingnak. Bejön az IP-csomag, gép megnézi, hogy szép-e, és ha nem, akkor továbbítja, azaz rútolja (bocsi).

ha NAT-olsz, (halozati cim forditas), akkor well done, minden mukodik :)
Pontosan mi a baj? A webserver logjaiban a router cime latszik?

---------------------------------------------------
Hell is empty and all the devils are here.
-- Wm. Shakespeare, "The Tempest"