» »

iptables + forward

iptables + forward

lithium ::

Želim povezavo z intraneta (10.10.10.0) na router (linux iptables) port 110,
ta pa bi mi potem povezavo posredoval na nek strežnik (npr. 195.100.1.100, port 110),
seveda bi s tega strežnika rad tudi odgovor...

Pa mi nikakor ne uspe (po pravici povedano delam to prvič

Kako naj to definiram v iptables?

thanks!!!

Pancho ::

a ti bi rad, da ti router (10.10.10.0) odpre port navzven(195.100.1.100:110)?

Pancho ::

navznoter odpiranje bi zgledalo nekako takole:

iptables -A PREROUTING -t nat -p tcp -d ${OUTSIDE_IP} --dport 110 -j DNAT --to ${10.10.10.0}:110
iptables -A FORWARD -p tcp -d ${10.10.10.0} --dport 110 -o ${INSIDE_DEVICE} -j ACCEPT

OUTSIDE_IP = zunanji ip tvojega routerja (tisti dodeljen s strani ponudnika)
INSIDE_DEVICE = notranji ip tvojega routerja (določiš ga sam na routerju)

mal bolš boš mogu opredelit problem :)
I haven't failed, I just found 1000 ways that don't work...

lithium ::

Kaj pa odpiranje navzven?

Problem je namreč sledeč, na routerju imam squid (za web, ftp) in dante (socks), vse lepo in prav, a sedaj imamo en program, ki ne podpira socks nastavitev, zato bi ga moral spraviti na internet na drug način in to varianto je predlagal support za ta program.
(torej da se program poveze na router na ta port, router pa ga posreduje na pravi strežnik).

thanks.

tx-z ::

da ne bom odpiru nove teme... a mi lahko kdo napiše kaj bi mogu vpisat v koznolo (mam fedoro linux), da bi nek port k pride z interneta preusmeru na nek notranji port...
torej od zuni 193.95.xxx.xx (eth0) v 10.0.0.3 (eth1) - port 5593
in kako bi pol npr. to preusmeritev enkrat zbrisu če je ne bi rabu več..

LP, ZiGA

Skrat ::

Zgoraj ti je El Pancho napisal ravno to.

Skripta bi izgledala nekako tako:

#!/bin/bash

EXTINF="eth0"
INTINF="eth1"
IP="193.95.xxx.xx"
INTIP="10.0.0.3"

iptables -t nat -A PREROUTING -p tcp -i $EXTINF -d $IP --dport 5593 -j DNAT --to-destination $INTIP
iptables -A FORWARD -p tcp -i $EXTINF -o $INTINF -d $INTIP --dport 5593 -j ACCEPT

Kako pa potem to izklopit je pa odvisno od tega, kako imas sedaj postiman firewall. Vse firewall nastavitve zbrises z

iptables -F

Oz. ce imas kaksno skripto, ki ti postavi firewall, dodas tole not, ko pa ne rabis vec, enostavno zakomentiras in pozenes skripto se enkrat.
Free software is a matter of liberty, not price.

Pancho ::

za forwardanje porta navzven pa probej obrnit INSIDE_DEVICE in OUTSIDE_IP
torej na mesto kjer imaš inside device napišeš ip od serverja, na katerega hočeš port na routerju forwardad, za outside ip pa notranji ip tvojega routerja.

nisem še nikoli sprobaval tega, ampak lahko bi delal :)

P.S. sporoči mi, če bo to delovalo
I haven't failed, I just found 1000 ways that don't work...

tx-z ::

iptables -t nat -A PREROUTING -p tcp -i eth0 -d 193.95.xxx.xx --dport 5593 -j DNAT --to-destination 10.0.0.3
iptables -A FORWARD -p tcp -i eth0 -o eth1 -d 10.0.0.3 --dport 5593 -j ACCEPT

torej najpre vpišm prvo(razn tm je taprav ip), pol pa drugo....restartam network in naj bi delal?
kr enkrat sm se neki igral z iptables...pa mi je vse sesul pa sm mogu it prv do serverja pa tipkovnco pa monitor gor prklaplat da sm lahk resetiru....
tx-z

Skrat ::

V mojem zgornjem postu imas popolno bash skripto (zacne se z #!/bin/bash). To shranis v datoteko in jo pozenes.

./datoteka

Seveda moras imeti pravice za poganjanje datoteke!

chmod 755 datoteka
Free software is a matter of liberty, not price.

volkec ::

dobr bi blo se povedat -p tcp opcija ti doloc protokol mislm d bojo tcp paketki prehajal tko da z iptraf puglj kwa uporabla tvoja igrca al pa karkol ane, mash pa udp, tcp al pa icmp cne pa dej -p all pa je resen no sam tok sm hotu dopisat :)) :))

Zgodovina sprememb…

  • spremenil: volkec ()

SasoS ::

lithium: proxy? socks?? zakaj ne uporabljas NATa? ce ne pa verjetno nekaj v tem stilu..

iptables -A FORWARD -s 10.10.10.0/24 -d 195.100.1.100 -p tcp --dport 110 -j ACCEPT
iptables -t NAT -A PREROUTING -d IP_OD_ROUTERJA -p tcp --dport 110 -j DNAT --to 195.100.1.100

seveda moras potem v nastavitvah od programa dat routerjev ip, na routerju ti pa pop3 ne bo več delal :D

edit: hmm...ja...to zgoraj seveda NE bo delalo :D. Naštimaj si SNAT na routerju, pa vrzi vse one proxy programe stran pa ne boš imel nobenih težav.

Zgodovina sprememb…

  • spremenilo: SasoS ()

kihc ::

Am, jaz mam zelo podoben problem kot zigam, pa da nebi brezveze na novo teme odpiral...

se prav, linux kišta je z eth0 (193.77.xxx.xxx) povezana na internet z eth1 (192.168.0.1) pa na drug računalnik kateremu "dovaja" internet. Zdej bi pa rad mel na tem 'drugem' računalniku ftp server. Problem se zakomplicira tukaj ker imam na linux mašini že en ftp server (za dostop do apache folderja), tako da je port 21 zaseden.

Tako da bi jaz moral forwardat en port ki ni 21, na 192.168.0.2:21. Zdej pa me zanima kako bi to naredu? Sem šel gledat manual od iptables pa se v njem nekako ne znajdem preveč, na guglu sem našel celo popolnoma isti problem vendar meni nekako ne deluje?
Oz. deluje delno, ker nmap mi pokaže, da port je odprt vendar očitno samo za linux mašino?

Aja, rutanje mam naštimano po tem vodiču, nimam nobenega firewalla, os je pa Debian.

Hvala za odgovor
x

tx-z ::

$ip = tvoj zunanij ip, primer: 193.77.222.222
$proto = protokol, tcp ali udp
$dport = port, k pride v računalnik
$dest = ip od računalnika, primer 192.168.0.1

iptables -t nat -D PREROUTING -p $proto -d $ip --dport $dport -j DNAT --to-destination $dest:$dport


primer; preusmerš port 80 na ip 192.168.0.1:

iptables -t nat -D PREROUTING -p TCP -d 193.77.222.222 --dport 80 -j DNAT --to-destination 192.168.0.1:80


upam da sm prav napisu ;) probi...
tx-z

Zgodovina sprememb…

  • spremenilo: tx-z ()

tx-z ::

aja evo za tvoj primer:

iptables -t nat -D PREROUTING -p TCP -d xxx.xxx.xxx.xxx --dport 8020 -j DNAT --to-destination 192.168.0.2:20
iptables -t nat -D PREROUTING -p TCP -d xxx.xxx.xxx.xxx --dport 8021 -j DNAT --to-destination 192.168.0.2:21


sam fora je da če se bo kdo hotu konektat na tvoj ftp, na tvojm računanliku, boš mogu vpisat port 8020 in 8021.....namest 20, 21....

btw, seveda da ti nmap pokaže da je port odprt, nimam nobenega firewalla> !!!

predlog: nared si firewall ;)
tx-z

kihc ::

Ja to sem mel že prej napisano notr, tak da zdej če še enkrat vpišem mi vrže error da vnos že obstaja, stanje pa nespremenjeno - internet explorer se, če že ne sesuje, vsaj zmrzne.

Zdaj sem probal še z enga drugega računalnika se konektat (konzola), in me vpraša po uporabniškem imenu in geslu, se konekta na server, vendat potem ob listanju datotek (ls) vrne napako;
425 Unable to open the data connection

Občutke imam da bi moral odpreti še nekaj vendar popravici povedano se na tole ne spoznam preveč?
Aja, server pa vrne:
Sun Aug 22 21:33:11 2004 35 USER test
Sun Aug 22 21:33:15 2004 35 PASS ***********
Sun Aug 22 21:33:15 2004 35 SYST
Sun Aug 22 21:33:24 2004 35 PORT 192,168,1,3,14,123
Sun Aug 22 21:33:24 2004 35 LIST
Sun Aug 22 21:33:45 2004 35 A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.


PS. Firewall si bom kmalu poštimal ;)
x

SasoS ::

ftp potrebuje 2 odprta porta - control in data connection. Ti si odpru samo control connection - ta je ponavadi tisti ki gre na server na port 21. Data connection je pa, odvisno od načina, pri active prenosu control_connection-1 (oz. običajno kar hard coded na port 20) vedno iz serverja na client (torej ko se ti priklopiš na server na port 21, se za podatke server priklopi nate na port 20 :D), pri passive prenosu se pa izbere nek random port >1024, dočim je smer povezave normalna (client se za podatke priklopi na server). Za popolno delovanje boš moral poštimati vse te povezave...

Zgodovina sprememb…

  • spremenilo: SasoS ()

kihc ::

olalala, no zdej jaz sem prej naredu tako da sem probal preusmerit porta 666 >:D in 667 na 21 in 20, vendar kot sem rekel mi tega ukaza ne sprejme;
iptables: Bad rule (does a matching rule exist in that chain?)

pa čeprav porte spreminjam? Sem probal vse skupaj pobrisat z "iptables --flush", pa ni nobenega učinka.

Zdaj je še problem da ne morem kište resetirat (tako se iptables zagotovo zbrišejo -- preizkušeno :>), ker se je začelo tekmovanje na #uptime.si :P

Pa tud drgugače mi ni čisto jasno tisto z random porti -- a naj potem imam odprto vse razen manjših od 1024???

Zdajle bi res rabu enga ki ima enako situacijo da bi povedal kako je zadevo rešu?

/edit

Zdaj sem na enem drugem portalu opazil da je imel še nekdo tak problem vendar ga niso uspeli rešiti.

Zdaj se sprašujem če je tole kar jaz počnem sploh mogoče v praksi izvesti. Ker, če je spremenjen port za connect na server, ok, tole pač v ftp klientu lepo nataviš, kako pa potem lahko klient ve da se bodo podatki prenešali po drugi poti (se pravi ko sem spremenil port 20 na 667)?
x

Zgodovina sprememb…

  • spremenil: kihc ()

tx-z ::

iptables -L
iptables -t nat -L


poglej če že maš kej odprto.....

drgač pa passive lahko izklopš, in uporabljaš samo aktive, torej uporablaš samo port 20 in 21....vedno pa morata bit oba odprta....
tx-z

kihc ::

server:~# iptables -L

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination



server:~# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere 192.168.0.5 tcp dpt:666 to:192.168.0.10:666
DNAT tcp -- anywhere berkmandeljc.net tcp dpt:666 to:192.168.0.10:21
DNAT tcp -- anywhere berkmandeljc.net tcp dpt:666 to:192.168.0.10
DNAT tcp -- anywhere berkmandeljc.net tcp dpt:666 to:192.168.0.5

Chain POSTROUTING (policy ACCEPT)

target prot opt source destination
MASQUERADE all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Skratka zmeda, ker so vnosi že odprej. Kako to zbrišem?
x

Zgodovina sprememb…

  • spremenil: kihc ()

SasoS ::

iptables -t nat -F

tx-z ::

to ni glih najbolša ideja, kr pol boš zgubu tut internet sharing....

nared history | grep iptables da boš zvedu kako si dodal, potem pa samo namest iptables -A ....daš iptables -D....
tx-z

kihc ::

Ja zdej mi je to pobrisal (mi je prekinlo dostop so slotecha, in sem moral maškarado še enkrat poštmat), samo mi še vedno vrača error da veriga že obstaja? wh00t?
x

tx-z ::

uff, tm sm se zmotu!!

iptables -t nat -A PREROUTING .....

:) -D je blo za odstrant
tx-z

kihc ::

No zigom sva na ircu tole glede portov poštimala, samo zdaj je problem tist passive mode. Kakšne morajo biti nastitve v ruterju za tole? V nekem "mini manualu" piše, da če si v lan-u moraš nastavit IP ruterja, kar sem tudi naredil, potem pa sem razpon portov zmanšal na enega in v iptables poštimal forwarding. Samo zadeva se nič ne spremeni :|

Eh, zdej grem spat, se bom jutr naprej upadal s tem :P
x

Juventus ::

da pa se jaz ne odpiram nove teme.

Ne vem ce je v tem sklopu a vseeno.

Kak preko linuxa drugemu racunalniku omogočiti dostop do interneta. Direktna povezava.
Mislima za win in linux. Prva kišta samo linux in da drga gre lahko na net v winsih in v linuxu.
Hvala

tx-z ::

-!- ;)
tx-z

Juventus ::

#Skripta za nastavitev mreze + ADSL + FIREWALL
#Nastavitev mreznih kartic + zagon
/sbin/modprobe "mrezna 1"
/sbin/modprobe "mrezna 2"
/sbin/ifconfig eth0 110.100.100.100 broadcast 255.255.255.255
/sbin/ifconfig eth1 100.100.100.100 netmask 255.255.255.0
#Zagon ADSL-a
/usr/sbin/adsl-start
#Firewall (Zavrne vse, kar ni bilo povezano z lokalne mreze; dovoli vse za lokalno mrezo)
/usr/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/usr/sbin/iptables -A INPUT -m state --state NEW -i ! ppp0 -j ACCEPT
/usr/sbin/iptables -P INPUT DROP
/usr/sbin/iptables -A FORWARD -i ppp0 -o ppp0 -j REJECT
/usr/sbin/iptables -A INPUT -i eth1 -j ACCEPT
/usr/sbin/iptables -A OUTPUT -o eth1 -j ACCEPT
#Internet Sharing
/usr/sbin/iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
/usr/sbin/iptables --append FORWARD --in-interface eth1 -j ACCEPT
#Konec skripte

eth0 - mrežna za adsl (ppp0)
eth1 - mrežna za mrežo
ip 110.100.100.100 naj bo nek k ga ne boste uporablal
ip 100.100.100.100 naj bo ip, k ga bo mel server
tadva ipja sta samo primer..da si nau kdo mislu kakšne ipje dajem

....shranš v "/etc/rc.d/rc.network"

napišeš "chmod 755 /etc/rc.d/rc.network"
in dodaš "/etc/rc.d/rc.network" v datoteko "/etc/rc.d/rc.local"

povsod brez narekovajev
p.s.: (Na Slackware Linux 10.0 deluje, za ostale ne vem)

Hvala ti Ziga

Ka pa na gentoo deluje ali ne!

Hvala

tx-z ::

Lej, ti boš v tvojem primeru rabu samo Internet sharing, torej...


ifconfig eth0 110.100.100.100 broadcast 255.255.255.255
ifconfig eth1 192.168.1.1 netmask 255.255.255.0
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT


To je za linux, torej to more delovat pr vseh distribucijah, vsaj kokr jst vem...
tx-z

Juventus ::

Hvala Žiga grem probat!

kihc ::

zigam, samo se eno vprasanje: kako pa odprem cel port range - pa ni treba da je "začetni" in "končni" port različen?

Thnx
x

tx-z ::

man iptables :)) - tega glih ne vem, drgač pa mislm da namest dport uporabš dports pa pol začetnport-končnport ...al dvopičje, ne vem...za odpiranje vem kako(pač namest enga porta vpišeš recmo 50-55), za preusmert pa ne...
tx-z

Juventus ::

hmm ka bi to blo
ok mogoče ni v kernelu


tux root # iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
FATAL: Module ip_tables not found.
iptables v1.2.11: can't initialize iptables table `nat': iptables who? (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
tux root #


hvala

kak nardim da bo

Hvala

Fukomuko ::

Imam 2 računalnika. Na enem so windowsi xp, na drugem je pa linux server - router. Rač., ki ima win xp, je prek mreže povezan na linux server, linux server pa na net. Zdej mam pa en problem. Na tem rač., ko so win xp, mi noče delat dc++ na active, zato ga morem met nastavljenega na passive. Kako bi zdej na linuxu navzven forwardu porte 1411, 1412 in 1413 da bi mi delov dc++ na active?

tx-z ::

iptables -t nat -A PREROUTING -p TCP -d 193.95.xx.xx --dport 1411 -j DNAT --to-destination 192.168.0.2:1411
iptables -t nat -A PREROUTING -p TCP -d 193.95.xx.xx --dport 1412 -j DNAT --to-destination 192.168.0.2:1412
iptables -t nat -A PREROUTING -p TCP -d 193.95.xx.xx --dport 1413 -j DNAT --to-destination 192.168.0.2:1413


mislm da neki tazga.....tm k je 193.95.xx.xx vpiš tvoj internetni ip, tm k je 192.168.0.2 pa vpiš IP od računalnika kamor bi rad forwardiru nek port..
tx-z


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

ProtFtp Passive mode in iptables

Oddelek: Programska oprema
252115 (1937) SasoS
»

IPTables

Oddelek: Operacijski sistemi
211899 (1528) Brane2
»

iptables

Oddelek: Omrežja in internet
61412 (1327) kihc
»

pomoč pri iptables

Oddelek: Omrežja in internet
102473 (2302) HellRaiseR
»

Kako naredim preusmeritev???

Oddelek: Operacijski sistemi
71258 (1148) 2nemesis

Več podobnih tem