Udv!
A leheto legegyszerubb kerdesem lenne, de nem tudok rajonni, hogy mit rontok el, pedig mar szazszor csinaltam ilyet.
Van egy gep (B), es a bejovo 80- as forgalmat szeretnem tovabbiranyitani (C) gepre.
Parameterek:
(B): 172.21.34.160 , eth0
(C): 172.21.35.43 , eth0
(A): 172.21.39.89 , eth0
Teljesen ures a tabla kezdetben, (A) geprol telnetelni tudok (B) es (C) 80- as portjara.
Utana felveszem ezt a 2 szabalyt:
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j DNAT --to 172.21.35.43:80
iptables -A INPUT -p tcp -m state --state NEW --dport 80 -i eth0 -j ACCEPT
, es utana telnet 172.21.34.160 80- ra csak annyit kapok, hogy
Trying 172.21.35.160...
Majd egy ido utan
telnet: Unable to connect to remote host: Connection timed out
tcpflow- val nezegetve egyik gepen sem kapok semmit sem az adott porton.
Utoljara ez alapjan probaltam.
Valaki tudna segiteni? Hol a hiba?
A 2 szabaly utan:
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:www
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere anywhere tcp dpt:www to:172.21.35.43:80
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
.
Koszi.
- 2157 megtekintés
Hozzászólások
B gepben hany halokari van?
- A hozzászóláshoz be kell jelentkezni
Fizikailag egy, de van egy interface meg xen- hez, viszont egy masik 2 gepes kornyezetben sem ment, ahol csak 1 van gepenkent.
- A hozzászóláshoz be kell jelentkezni
Miért pont a 80-as port tetszett meg?
- A hozzászóláshoz be kell jelentkezni
8029- cel is kiprobaltam, azzal sem mukodik :- ).
- A hozzászóláshoz be kell jelentkezni
lehet, hogy a web-et szeretne forwardolni?
- A hozzászóláshoz be kell jelentkezni
Igazad van!
- A hozzászóláshoz be kell jelentkezni
probalnam: echo 1 > /proc/sys/net/ipv4/ip_forward
- A hozzászóláshoz be kell jelentkezni
Jo tipp, de sajna megvan.
- A hozzászóláshoz be kell jelentkezni
Neked nem az iptables kell, hanem egy picike tcp proxy. A te esetedben (jobb esetben) jön egy kérés a B-re 80-as portra A-ról. B átlőki C-nek DNAT-tal. C Válaszol A-nak, aki le se szarja, mert ő B-től várja a választ.
--
ez ugye csak valami vicc
- A hozzászóláshoz be kell jelentkezni
Ja, és visszafelé mennek a csomagok, pl. B->A
- A hozzászóláshoz be kell jelentkezni
Na, most kezdem nem erteni, de nagyon.
Otthoni gepen siman megy minden, bar en mar azon is kiakadtam, hogy ahol vagyok, a netcat azt szereti, ha nc -l portnumber- rel hivom, otthon meg azt, ha nc -l -p portnumber- rel... .
- A hozzászóláshoz be kell jelentkezni
Nálam így működik:
iptables -t nat -A PREROUTING --dst 172.21.34.160 -p tcp --dport 80 -j DNAT --to-destination 172.21.35.43:80
iptables -t nat -A POSTROUTING --dst 172.21.35.43 -p tcp --dport 80 -j SNAT --to-source 172.21.34.160
iptables -A FORWARD -d 172.21.35.43 -p tcp --dport 80 -j ACCEPT
De próbáld ki a Varnish proxyt, az talán célravezetőbb!
- A hozzászóláshoz be kell jelentkezni
Ez mukodik. A legfurabb az, hogy otthoni rendszeren a postroute- s sor nelkul mukodik. No mindegy.
Halas koszonetem.
Amugy ugye nem tevedek nagyot, hogy ez csak a kintrol jovo csomagokat kapja, amikor localhostra mennek, azokat nem? Ha felvennem ugyanezt a ket szabalyt
-i lo
- val, ez megoldodna?
Koszi megegyszer.
- A hozzászóláshoz be kell jelentkezni
Localhostról nem próbáltam. :)
De ahogy írod, ha felveszed a lo adaptert is, akkor elvileg működnie kell.
- A hozzászóláshoz be kell jelentkezni
ha a B gép localhost-jára gondolsz, akkor az OUTPUT láncba is fel kell venni a szabály, mint a FORWARD esetében, ilyenkor a B gépről indított kérés a 80-as portra is átírányítódik C gépre.
- A hozzászóláshoz be kell jelentkezni
Igen, ez mar megoldodott. Koszi.
- A hozzászóláshoz be kell jelentkezni
Ha valamilyen probléma megoldódott, akkor miért nem tesz a topicindító egy "[Megoldva]" szócskát az eredeti topikcím elé??? (Tisztelet persze a kivételnek!)
Ezt sosem értettem. Legyen már egy kis rendszer a fórumon emberek.
- A hozzászóláshoz be kell jelentkezni
Sosem olvastam errol a konvenciorol. Tudnal egy linket adni?
Koszi.
- A hozzászóláshoz be kell jelentkezni
... és a megoldódást is :D
- A hozzászóláshoz be kell jelentkezni
Up.
A fenti problema ugyan megoldva, de most belefutottam egy ilyen problemaba:
ifconfig
eth0 Link encap:Ethernet HWaddr 00:0D:56:C0:CC:56
inet addr:172.21.51.126 Bcast:172.21.51.255 Mask:255.255.255.0
inet6 addr: fe80::20d:56ff:fec0:cc56/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:442625494 errors:0 dropped:0 overruns:0 frame:0
TX packets:307280004 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:279585350 (266.6 MiB) TX bytes:1051774415 (1003.0 MiB)
Base address:0xecc0 Memory:fe5e0000-fe600000
eth0:1 Link encap:Ethernet HWaddr 00:0D:56:C0:CC:56
inet addr:172.21.51.145 Bcast:172.21.51.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Base address:0xecc0 Memory:fe5e0000-fe600000
.
A fenti szamok(IP- cimek) nyilvan nem alljak meg a helyuket, de mondjuk az ide beerkezo dolgokat (eleg az eth0:1- re) szeretnem atiranyitani mondjuk a 172.21.100.100- ra.
Probalkoztam par dologgal, de nem igazan ment. Az utolso ez:
iptables -t nat -A PREROUTING --dst 172.21.51.145 -i eth0:1 -p tcp --dport 11223 -j DNAT --to-destination 10.220.199.206:11223
iptables -t nat -A POSTROUTING --dst 10.220.199.206 -o eth0:1 -p tcp --dport 11223 -j SNAT --to-source 172.21.51.145
iptables -t nat -A PREROUTING --dst 172.21.51.126 -i eth0 -p tcp --dport 11223 -j DNAT --to-destination 10.220.199.206:11223
iptables -t nat -A POSTROUTING --dst 10.220.199.206 -o eth0 -p tcp --dport 11223 -j SNAT --to-source 172.21.51.126
.
Varok minden otletet, mert igazabol kifogytam, mindig a
172.21.51.[126,145]
- os gepre jon letre a kapcsolat az adott porton a
172.21.100.100
helyett.
- A hozzászóláshoz be kell jelentkezni
Nincs eth0:1 interfész, csak eth0 van. Az alias nem interfész.
"szeretnem atiranyitani mondjuk a 172.21.100.100- ra."
Akkor a szabályok között miért nem szerepel sehol ez az IP? A fentiek ennek megfelelően teljesen rosszak. Routing előtt megváltozattod a cél IP-t, mivel azt akarjuk, hogy máshová menjen. Ennyi. Feltétele, hogy a 172.21.100.100 (default) route-ja efelé a gép felé mutasson. Ha mégsem így lenne, akkor kell az, hogy routing után megváltoztatod a forrás IP-t is a gateway abba a hálózatba tartozó címére, hogy vissza is találjon a válaszcsomag.
iptables -t nat -A PREROUTING -i eth0 -d 172.21.51.145 -p tcp --dport 11223 -j DNAT --to-destination 172.21.100.100:11223
- A hozzászóláshoz be kell jelentkezni
Elirtam a cimet, az akart lenni a 10.220.199.206 . Bocsi. Azota megoldodott, bar nem tudom hogyan.
Koszi.
- A hozzászóláshoz be kell jelentkezni
Hali
Javítsatok ki ha valamit félreértettem, de én az ilyet rinetd-vel szoktam.
http://www.boutell.com/rinetd/
Egyszerű, és amig 1 port elég nekem addig működik is.
Üdv
- A hozzászóláshoz be kell jelentkezni
Megvédeném a netfilter használatát. Felesleges külön processzt futtatni egy olyan feladat végett, amit a kernel önmagában is meg tud oldani. A rinetd ilyen használata két iptables sorral egyenértékű, ráadásul a megfelelő modulok alkalmazása mellett nincs összetett protokollokra vonatkozó korlátozása (lásd FTP). Ugyanakkor a kérdés nem arra vonatkozott - bár elment ilyen irányba is -, hogy a szerver a klienst a tűzfal címével lássa, hanem csak egy szimpla portátirányításról, ez pedig egy iptables paranccsal kezelhető.
- A hozzászóláshoz be kell jelentkezni
Ott a pont.
Amiért ide biggyesztettem az talán az idő... Ha pl. nagyon hirtelen kell a megoldás ezzel időt nyerek.
echo xxx.xxx.xxx.xxx 80 xxx.xxx.xxx.xxx.80 >>/etc/rinetd.conf
/etc/init.d/rinetd restart
Ezután már nyugodtan ráérek egy másik gépen szimulálni a problémát és megoldani.
Magam is iptables-t használok!
- A hozzászóláshoz be kell jelentkezni
Nem akarok beleszólni, de ezt írod:
, es utana telnet 172.21.34.160 80- ra csak annyit kapok, hogy
Trying 172.21.35.160...
Ez elírás, vagy tényleg "benézted"??? :D
--
Debian Linux rulez... :D
- A hozzászóláshoz be kell jelentkezni
Eliras :- ). Csak pgup- ot nyomogattan, es ha kilottem az iptables sorokat, akkor ment :- ).
- A hozzászóláshoz be kell jelentkezni