TCP port forward iptables-szel, azonos subnetre, azonos kártyán?

Fórumok

Sziasztok!

Adott egy helyi hálózat 172.16.16.x-es tartomány.
A szerver belső (eth0) IP-je 172.16.16.100 .
A problémám a következő: ez egy pentium3, 256 MB rammal, rengeteg használt szolgáltatással.
HTTP proxy-ként squid fut rajta, a 3128-as porton. Kicsit lassú a net, több gép van rá, mint amennyi indokolt lenne. Lenne egy másik gép, amit csak proxy-zásra be tudnék állítani a szerver helyett, ennek az IP-je 172.16.16.210. Azt szeretném megoldani, hogy a klienseken ne kelljen változtatni a beállításokon, és a szerver a 172.16.16.100:3128-ról IPTABLES-szel irányítsa át a kéréseket a 172.16.16.210:3128-ra. (TCP port ugye.) Túrtam a google-t, próbálkoztam, de nem jött össze. Hozzáteszem, annyira nagy IPTABLES mágus nem vagyok. Eddit nat táblával és DNAT destination-ökkel dolgoztam, de ez csak úgy működött, ha az egyik hálókártyáról a másikra küldtem a csomagokat.

(Nem parent proxy-ként szeretném berakni az új gépet.)

Megoldható ez IPTABLES-szel, vagy csak userspace alkalmazással?

Válaszotokat előre is köszi!

Üdv,
Szenti

Hozzászólások

Ez segít?
--
Gentoo motto: It's worth spending eight hours trying to make something load 20ns faster.

iptables -t nat -A PREROUTING -p tcp -d 172.16.16.100 --dport 3128 -j DNAT --to-destination 172.16.16.210

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -d 172.16.16.210 -j ACCEPT

ezenkivul:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

sziasztok,

Hasonlo a problemam, de sehogy sem jovok ra miert nem megy.
Jelenleg a halozatomon nincs proxy szerver es a 1.1.1.1 es gatwayen keresztul mennek ki a kliensek(1.x.x.x) (NAT-olva) az internetre.
Egy masik szerveren(1.1.1.10) keresztul egy adsl kapcsolatot vasaroltuk, erre telepitettem egy proxyt (1.1.1.10:3128).

Ha a kliensek beirjak a proxy cimet a bongeszobe megy a net, de azt szeretnem, hogy a kliensek kozul egy parat a regi szerveren keresztul atiranyitsak a proxyra, anelkul hogy tudjak.

probaltam mar:

iptables -A FORWARD -d 1.1.1.10 -p tcp --dport 3128 -j ACCEPT

iptables -t nat -A PREROUTING -p tcp -s 1.x.y.z --dport 80 -j DNAT --to-destination 1.1.1.10:3128
vagy:
iptables -t nat -A PREROUTING -s 1.x.y.z -p tcp -d 0/0 --dport 80 -j REDIRECT --to 1.1.1.10:3128

De sehogy sem megy, az 1.1.1.1 szerver nem tovabbitsa a squid-hoz, vagy valahol elakad.
A Squid tudtommal transparens kell legyen, de azon kivul?

nagyon megkoszonnem ha valaki tudna segiteni,

ronniee

itt ugye az a gond, hogy belso geprol (pl. 16.123) jovo kerest, a 100-as atdobja a 210-nek. de a 210 ugy kapja meg, mintha egybol neki cimeztek volna, igy a valaszt is directben kuldi vissza a belso gepre. az meg nez, wtf van, mert o" a 100-as geppel beszelt, nem a 210-essel.

megoldast en sem talaltam eddig erre :/

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

for if in /proc/sys/net/ipv4/conf/*; do
  echo 0 > "$if/send_redirects"
done

Igy a .100-as tovabbra is forwardolja majd az osszes csomagot a kliensek es az uj proxy kozott, de legalabb nem o fog proxyzni (a forwardolas meg nem olyan nagy terheles).

A tisztesseges megoldas az lenne, hogy a kliens gepek nem IP cim szerint hivatkoznanak a proxyra, hanem hostnevvel, es akkor csak a DNS-ben kene atirni. Itt a kituno alkalom megcsinalni... ;-)

ilyenkor jonne jol, ha az ember automatikus proxykonfiguralast heggesztett bele a rendszerbe :-)
--
Tuddd gi: A Dörrög Zuldán, te hűjje!
(Rejtő Jenő: Az elátkozott part)

:-)) És azt már anno a Neccapu is tudta... Szerintem tedd be a belső dns-be a "proxy" nevet az új címmel, és a gépeken az proxy címét javítsd ki "proxy"-ra, jobban jársz... Első körben több melónak tűnik (az is...), viszont rugalmasabb, és értelmesebb megoldás (nem járatja meg a webes forgalmat háromszor a LAN-on... (azaz a tűzfalnak négyszer kell vele matatnia!)) Esetleg egy plusz kártya a tűzfalba, arra keresztkábel a proxy, bár a tűzfalnak ekkor sem lesz a forgalommal kevesebb dolga...

IMHO az egészet meg lehet úgy is csinálni, hogy egyelőre marad a régi vason is proxy, de az újat csiszolod tökélyre, és kihirdeted, hogy a proxy-hoz ezen túl a cím helyett a "proxy" nevet kell beírni, csinálsz hozzá screenshot-okkal (valamennyi használatos browserre(!)) sillabuszt, körbeküldöd, hozzátéve, hogy a régi proxy mondjuk 1 hónap múlva leállításra kerül. A régin némi parformanciacsökkentő anti-tuning :-)) és a felhasználók közül a "szorgalmasabbak" szépen átszoktatják ("Nálad nem megy rendesen? Én beállítottam amit a rendszergazda srác írt, és sokkal jobb lett!") a többieket is.

Két-három hét múlva ránézel a régi proxy logjaira, és a még ott forgalmazó gépeken szépen kézzel megcsinálod az átállítást.

Koszonom a hozzaszolasokat srack, amint lesz idom, kiprobalom, es visszajelzek. :)