Hur ställer man in IPTABLES så att active mode fungerar?

Avdelningen för programmering, nätverk samt alternativa OS.
Post Reply
User avatar
fisk
Posts: 7485
Joined: 2003-03-18 21:09:30
Location: Örebro / Sverige
Contact:

Hur ställer man in IPTABLES så att active mode fungerar?

Post by fisk »

(se topic)

Är intresserad av att ställa in min brandvägg/masquerade-linux så jag slipper sitta på DC++ i passive mode, samt så att filöverföringar via FTP inte heller blir tvunget passiva.

Använder för närvarande följande (väldigt öppna) policy:
$IPTABLES -F FORWARD
$IPTABLES -t nat -F
echo " FWD: Allow all connections OUT and only existing and related ones IN"
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
$IPTABLES -A FORWARD -j LOG
echo " Enabling SNAT (MASQUERADE) functionality on $EXTIF"
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
echo -e "\n MASQUERADE & OPEN FIREWALL POLICY ENGAGED!!\n"
Aotearoa - tino rangatiratanga
jstrom
Posts: 1732
Joined: 2002-05-28 22:18:35
Location: Göteborg
Contact:

Post by jstrom »

För FTP har du modulerna ip_conntrack_ftp, resp ip_nat_ftp (neeej kom inte o fråga vad skillnaden är.. har jag glömt :P). För DC finns nog inget jag vet om iaf..
User avatar
fisk
Posts: 7485
Joined: 2003-03-18 21:09:30
Location: Örebro / Sverige
Contact:

Post by fisk »

Aotearoa - tino rangatiratanga
User avatar
fisk
Posts: 7485
Joined: 2003-03-18 21:09:30
Location: Örebro / Sverige
Contact:

Post by fisk »

Äsch då!, Det där gjorde bara så att man kunde connecta och typ chatta - men inte söka / connecta till andra users =(

Tillbaka till passive mode igen ... tyvärr =/
Aotearoa - tino rangatiratanga
User avatar
IcePic
Hedersbit
Posts: 6061
Joined: 2002-03-08 16:09:38

Post by IcePic »

fisk wrote:Äsch då!, Det där gjorde bara så att man kunde connecta och typ chatta - men inte söka / connecta till andra users =(

Tillbaka till passive mode igen ... tyvärr =/
Problemet med DC/FTP är i själva protokollet, inte i brandväggens regler.
Det är därför man måste "lösa" det genom att ha connection-trackers som ligger
och läser i din ftp-trafik och försöker göra smarta beslut efter vad som sägs
i ftp-kanalen mellan dig och den andre. Finns det ingen tracker för DC så är
det nog "kört" med aktiv mod. Det enda som hjälper vore om du sätter dina
regler så allt kommer till din maskin och omvandlas till din address, men då har
du å andra sidan kopplat bort din FW i princip, så det är ju lite av en icke-lösning.

FTP designades för ~30 år sen eller nåt, så det är ursäktat att de råkat skapa
ett protokoll som inte gillar NAT (som var otänkbart då) men att program som
DC (eller eDonkey och vad de nu heter) gör OM det misstaget trots att de är
skapade på den här sidan om 1990 är ju ett mysterium.
Oh give me a clone, my very own clone,
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!
kuxien
Posts: 57
Joined: 2002-03-11 17:04:00
Location: Skåne
Contact:

Post by kuxien »

För DC räcker det att du öppnar upp en port som du vill använda. Släpper igenom både tcp och udp trafik, ställer in din klient till att lyssna på ditt externa IP så ska det fungera.
User avatar
fisk
Posts: 7485
Joined: 2003-03-18 21:09:30
Location: Örebro / Sverige
Contact:

Post by fisk »

kuxien wrote:För DC räcker det att du öppnar upp en port som du vill använda. Släpper igenom både tcp och udp trafik, ställer in din klient till att lyssna på ditt externa IP så ska det fungera.
Men som jag sa så gör det inte det.
Aotearoa - tino rangatiratanga
kuxien
Posts: 57
Joined: 2002-03-11 17:04:00
Location: Skåne
Contact:

Post by kuxien »

Jag är inte speciellt bra på iptables men vad jag kan få fram ur dina regler så öppnar du endast upp brandväggen. Du måste skicka vidare dessa portar till den interna dator som du vill använda DC på.

Att bara tillåta utgående trafik och all trafik som är relaterad till dessa anslutningar räcker alltså inte.

Men som sagt, jag kan ha tolkat dina regler fel.

Mina PF-regler ser ut som följande:
#Aktivera nat
nat on $ExtIf...

#Skicka vidare alla paket på port 17000 till 192.168.203.201 tcp och udp
rdr on $ExtIf proto tcp from any to any port 17000 -> 192.168.203.201 port 17000
rdr on $ExtIf proto udp from any to any port 17000 -> 192.168.203.201 port 17000

#Tillåt inkommande anslutningar på port 17000 tcp och udp
pass in quick on $ExtIf proto tcp from any to any port 17000 keep state
pass in quick on $ExtIf proto udp from any to any port 17000
RawtMaws
Posts: 58
Joined: 2002-04-29 21:31:36

Post by RawtMaws »

fisk wrote:
kuxien wrote:För DC räcker det att du öppnar upp en port som du vill använda. Släpper igenom både tcp och udp trafik, ställer in din klient till att lyssna på ditt externa IP så ska det fungera.
Men som jag sa så gör det inte det.
Exakt det fungerar för mig iaf. Jag har ställt in min DC-klient, oDC, att använda port 1412 att lyssna på, sedan släpper jag in och forwardar både UTP- och TCP-traffik till mitt interna IP där DC-klienten körs. Du får inte heller glöma att ställa in active-ip till ditt externa IP, annars kommer det ej fungera.
User avatar
pa1983
Posts: 125
Joined: 2003-06-29 12:42:42
Location: Veddige
Contact:

Post by pa1983 »

Jag kör acktive med DC bakom min server med iptables.

har följande rader som öppnar protarna som DCgui anvädder

iptables -A firewall -p tcp --dport 9176 -j ACCEPT #dcgui-qt
iptables -A firewall -p udp --dport 9176 -j ACCEPT #dcgui-qt

sedan har jag följande rader för att forwarda portarna från min server med ip 217.73.103.234 till min stationära datorn med 192.168.0.2

#portforward
iptables -A PREROUTING -t nat -p tcp -d 217.73.103.234 --dport 9176 -j DNAT --to 192.168.0.2 #dcgui-qt
iptables -A PREROUTING -t nat -p udp -d 217.73.103.234 --dport 9176 -j DNAT --to 192.168.0.2 #dcgui-qt

sedan kör jag med Active mode i DCgui och med wrong IP och där har jag anget 217.73.103.234 och självklart protarna 9176.
Fugerar fint som fan å köra active nu.
WS1: 2st Opteron 1.8@1.95Ghz, 2Gb ram, 6800GT, 1038Gb disk.
WS2: Athlon64 3000+@3200+, 1Gb ram, 3.2Tb disk, 6800U.
Bärbar1: Pentium M 1.4Ghz, 512Mb ram, 40Gb disk.
Bärbar2:, celeron 750, 384Mb, 40Gb disk.
Server: k6-2 400Mhz, 192Mb ram, 80Gb disk.
User avatar
fisk
Posts: 7485
Joined: 2003-03-18 21:09:30
Location: Örebro / Sverige
Contact:

Post by fisk »

Code: Select all

iptables -t nat -A PREROUTING  -i eth3 -p tcp --dport 555 -j DNAT --to
192.168.1.10:555
iptables -t nat -A PREROUTING  -i eth3 -p udp --dport 555 -j DNAT --to
192.168.1.10:555

iptables -t nat -A PREROUTING  -i eth3 -p tcp --dport 411 -j DNAT --to
192.168.1.10:411
iptables -t nat -A PREROUTING  -i eth3 -p udp --dport 411 -j DNAT --to
192.168.1.10:411

iptables -t nat -A PREROUTING  -i eth3 -p tcp --dport 412 -j DNAT --to
192.168.1.10:412
iptables -t nat -A PREROUTING  -i eth3 -p udp --dport 412 -j DNAT --to
192.168.1.10:412

iptables -t nat -A PREROUTING  -i eth3 -p tcp --dport 413 -j DNAT --to
192.168.1.10:413
iptables -t nat -A PREROUTING  -i eth3 -p udp --dport 413 -j DNAT --to
192.168.1.10:413

iptables -t nat -A PREROUTING  -i eth3 -p tcp --dport 1412 -j DNAT --to
192.168.1.10:1412
iptables -t nat -A PREROUTING  -i eth3 -p udp --dport 1412 -j DNAT --to
192.168.1.10:1412

iptables -t nat -A PREROUTING  -i eth3 -p tcp --dport 1413 -j DNAT --to
192.168.1.10:1413
iptables -t nat -A PREROUTING  -i eth3 -p udp --dport 1413 -j DNAT --to
192.168.1.10:1413

iptables -A FORWARD -p TCP --dport 412 -j ACCEPT
iptables -A FORWARD -p UDP --dport 412 -j ACCEPT
Var lite desperat och provade ovanstående ... kör port 412 i DC++ ... jag kan som sagt connecta, men alla filsökningar / connects fungerar inte. Använder inte DCGUI, utan använder DC++ på windowsburken som är kopplad via en lokal IP bakom linuxboxen (med masquerading)
Aotearoa - tino rangatiratanga
jstrom
Posts: 1732
Joined: 2002-05-28 22:18:35
Location: Göteborg
Contact:

Post by jstrom »

fisk wrote:Var lite desperat och provade ovanstående ... kör port 412 i DC++ ... jag kan som sagt connecta, men alla filsökningar / connects fungerar inte. Använder inte DCGUI, utan använder DC++ på windowsburken som är kopplad via en lokal IP bakom linuxboxen (med masquerading)
har du i DC++-configen valt att köra i ACTIVE mode och specifierat ditt externa IP då? alltså det du har ut mot internet, det som du har på eth3 (antar det är ditt externa kort)
User avatar
fisk
Posts: 7485
Joined: 2003-03-18 21:09:30
Location: Örebro / Sverige
Contact:

Post by fisk »

eth3 = kortet som kopplar sig till det lokala nätverket

och jo, jag har provat det - gick inget vidare =/
Aotearoa - tino rangatiratanga
jstrom
Posts: 1732
Joined: 2002-05-28 22:18:35
Location: Göteborg
Contact:

Post by jstrom »

fisk wrote:eth3 = kortet som kopplar sig till det lokala nätverket

och jo, jag har provat det - gick inget vidare =/
Uhm, om eth3 är det kortet som är kopplat till det loklaa nätverket så har du satt upp regler för att all trafik som kommer in på det kortet, på port xxx med protokoll yyy, skall forwardas till zzz:xxx.. du skall istället ha -i <ditt-externa-nätkort>, iaf om du vill forwarda inkommande anslutningar på ditt externa interface till nån intern burk.
tex för att forwarda all tcp-trafik på port 412 utifrån till .10:

iptables -t nat -A PREROUTING -i <external-kortet> -p tcp --dport 412 -j DNAT --to 192.168.1.10:412
User avatar
fisk
Posts: 7485
Joined: 2003-03-18 21:09:30
Location: Örebro / Sverige
Contact:

Post by fisk »

gShield (default drop) IN=eth0 OUT=eth3 SRC=213.113.40.186 DST=192.168.1.10 LEN=48 TOS=0x00 TTL=122 ID=4507 PROTO=TCP DPT=412 WINDOW=44032 RES=0x00 SYN URGP=0


Detta får jag trots att jag ändrat eth3 till eth0 ...
Aotearoa - tino rangatiratanga
User avatar
fisk
Posts: 7485
Joined: 2003-03-18 21:09:30
Location: Örebro / Sverige
Contact:

Post by fisk »

Well DOH on me - använder ju gShield kom jag på *slita sitt hår* - bra att sitta och sätta regler som gShield hela tiden overridar. Pinsamt :-[

Haha, aja - då jag stängde av gShield så fungerade det - nu är dock frågan hur man aktiverar så att gShield stödjer det - eftersom den verkar neka detta.
Aotearoa - tino rangatiratanga
Post Reply