aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Author Topic: aMule kann sich nicht über Port 22 verbinden??  (Read 4311 times)

evilpete

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 6
aMule kann sich nicht über Port 22 verbinden??
« on: August 21, 2007, 09:12:01 AM »

Hallo alle zusammen!!

Ich hab hier im Wohnheim ne Standleitung wo bis auf Port 22 alle eingehenden Verbindungen gefiltert werden. Stellt mein Mitbewohner zB bei seinem Windowsrechner und eMule als eingehenden Port statt 4662 den Port 22 TCP ein und statt 4672 Port 22 Udp bekommt er ne High-Id und Edonkey sowie Kad funktionieren problemlos. Versuche ich das gleiche mit aMule (unter Linux) bekomme ich beim starten sofort ein Fenster "Your Port 22 is not reachable"
Firewall lässt Port 22 durch da ich wenn ich testweise den SSH-Server dahinter laufen lasse, diesen auch Problemlos erreichen kann. Komisch ist auch das wenn ich bei den Ports die Standarteinstellungen lasse, also 4662, 4672 ich zwar LowIDs bekomme aber beim start das Fenster "Your Port ... is not reachable" nicht zu sehen bekomme.

Ich weiss zwar das das Vorgehen nicht schön und gegen die Normen ist, aber es hat bis jetzt immer recht gut funktioniert, weiss jemand warum das jetzt mit aMule nicht geht?

danke  und lg evil ;o)
Logged

Vollstrecker

  • Administrator
  • Hero Member
  • *****
  • Karma: 67
  • Offline Offline
  • Posts: 1550
  • Unofficial Debian Packager
    • http://vollstreckernet.de
Re: aMule kann sich nicht über Port 22 verbinden??
« Reply #1 on: August 21, 2007, 10:54:13 AM »

Was sagt denn 'netstat -tulpen | grep amule' dazu? Bist du sicher das sich aMule überhaupt an diesen Port binden kann? Wenn du nicht als root arbeitest, dann wird das ein aussichtsloses unterfangen sein.
Logged
Homefucking is killing prostitution

wuischke

  • Developer
  • Hero Member
  • *****
  • Karma: 183
  • Offline Offline
  • Posts: 4292
Re: aMule kann sich nicht über Port 22 verbinden??
« Reply #2 on: August 21, 2007, 12:49:39 PM »

Unter Linux kann nur Root Ports unter 1024 nutzen.
Logged

evilpete

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 6
Re: aMule kann sich nicht über Port 22 verbinden??
« Reply #3 on: August 21, 2007, 01:05:51 PM »

Habs gerade gemerkt, nachdem ich aMule als root gestartet hab bekommt er zumindest im Donkeynetzwerk ne HighID.

# netstat -tulpen | grep amule:
tcp    0    0.0.0.0:22    0.0.0.0:*    LISTEN     0  193979    19700/amule
udp   0    0.0.0.0:22    0.0.0.0:*                        0   193980    19700/amule
udp   0    0.0.0.0:25    0.0.0.0:*                         0  193978    19700/amule

Die Ausgabe zeigt vermutlich das Problem warum ich für Kademilla immer noch den Status "firewalled" (gelber Pfeil) habe, weil es auch Daten auf dem gefilterten Port 25 udp erwartet ?? Dafür wird es wohl keine Lösung geben oder?  Aber ne HighID für das edonkeynetzwerk ist ja auch schon eine deutliche Verbesserung. Nur will ich es nicht als root laufen lassen die ganze Zeit, hab extra einen User p2p eingerichtet in dessen homeverzeichniss auch .amule liegt. Gibt es ne Möglichkeit zB mittels gid Bit ne HighID zu bekommen aMule aber dann trotzdem als User p2p laufen zulassen?

danke, evil ;o)
Logged

Vollstrecker

  • Administrator
  • Hero Member
  • *****
  • Karma: 67
  • Offline Offline
  • Posts: 1550
  • Unofficial Debian Packager
    • http://vollstreckernet.de
Re: aMule kann sich nicht über Port 22 verbinden??
« Reply #4 on: August 21, 2007, 01:49:35 PM »

Du meinst sowas wie Apache, der mit root-Rechten startet, diese aber danach abgibt? Nein gibt es nicht.

Das Firewalled erscheint immer am Anfang, warte einfach ab bis es sich ändert.

Wenn nur der Router das Problem ist, dann starte aMule als User mit den Standardports, und leite per iptables einfach alle Anfragen an Port 22 auf diesen um.
Logged
Homefucking is killing prostitution

evilpete

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 6
Re: aMule kann sich nicht über Port 22 verbinden??
« Reply #5 on: August 21, 2007, 03:31:42 PM »

Das Problem ist das vor dem ganzen Wohnheimnetz eine Firewall steht die nur Port 22 reinlässt (warum auch immer) und ich dann an meinem Anschluss nochmal einen IPcop hängen hab, daran dann mein Laptop und der Rechner mit aMule. Das logischste und  einfachste währe per IPcop den eingehenden Port 22 an den Rechner aMule mit 4662 zu forwarden. Das hab ich schon versucht aber es klappt nicht und ich hab leider überhaupt keine Idee warum, ich meine IPcop ist ja wirklich schon halbwegs idiotensicher, das kann glaubich jeder bestätigen der vorher schonmal versucht hat mit gentoo nen router zubauen :) Die einzige Möglichkeit ist anscheinend wirklich direkt mit aMule über Port 22 zugehen, aber ich werde das Teil auf keinen Fall im täglichen Betrieb als root laufen lassen, dann lieber doch LowID.

Könnte ich nicht vielleicht irgend ne gruppe anlegen der ich nur die Berechtigung erteile auf  Ports zuzugreifen?

mfg, evil ;o)

Logged

Vollstrecker

  • Administrator
  • Hero Member
  • *****
  • Karma: 67
  • Offline Offline
  • Posts: 1550
  • Unofficial Debian Packager
    • http://vollstreckernet.de
Re: aMule kann sich nicht über Port 22 verbinden??
« Reply #6 on: August 21, 2007, 03:39:05 PM »

Naja, die Gruppe wäre ganz einfach nangelegt, aber damit die das dann auch darf, musst du schon den Kernel bearbeiten.

Du darfst den Port natürlich nicht forwarden, sonst versucht eben dein IP-Cop die Pakete die er auf 4662 empfängt auf 22 wiederum an 4662 zu senden. Was du willst ist eine recht komplizierte Kombination aus NAT und ReWrite Regeln.
Logged
Homefucking is killing prostitution

evilpete

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 6
Re: aMule kann sich nicht über Port 22 verbinden??
« Reply #7 on: August 21, 2007, 07:54:07 PM »

Eigentlich nicht, hab mal ein wenig rumgesucht und rausgefunden das man die Pakete auch in der PREROUTING-Kette NATten kann, das sieht dann so aus:

# iptables -A PREROUTING -t nat -p tcp -d 192.168.1.2 --dport 22 -j DNAT --to-destination 192.168.1.2:4662
# iptables -A PREROUTING -t nat -p udp -d 192.168.1.2 --dport 22 -j DNAT --to-destination 192.168.1.2:4672

Das sollte eigentlich alle eingehenden Pakete die für Port 22 bestimmt sind nach Port 4662 bzw 4672 weiterreichen. Trotzdem bekomme ich ne LowID. Müsste doch aber vom Prinzip funktionieren, oder nicht?
Logged

Vollstrecker

  • Administrator
  • Hero Member
  • *****
  • Karma: 67
  • Offline Offline
  • Posts: 1550
  • Unofficial Debian Packager
    • http://vollstreckernet.de
Re: aMule kann sich nicht über Port 22 verbinden??
« Reply #8 on: August 21, 2007, 08:59:33 PM »

Das ist von eingehenden Verbindungen. Du brauchst aber noch einen Rückkanal.
Logged
Homefucking is killing prostitution

evilpete

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 6
Re: aMule kann sich nicht über Port 22 verbinden??
« Reply #9 on: August 21, 2007, 11:28:51 PM »

Und wie müsste es dann korrekt aussehen wenn mein Gateway 192.168.1.1 ist?

# iptables -A POSTROUTING -t nat -p tcp -d 192.168.1.1 --dport 4662 -j DNAT --to-destination 192.168.1.1:22
# iptables -A POSTROUTING -t nat -p udp -d 192.168.1.2 --dport 4672 -j DNAT --to-destination 192.168.1.1:22

Da kommt eigentlich immer nur "Invalid Argument" und eigentlich dachte ich die Ports von innen nach aussen sind sowieso offen sonst kommt ja garkeine Kommunikation zustande.  Auf jeden Fall währe ich froh wenn mir Jemand sagen könnte was an den beiden Rules falsch ist bzw warum iptables die nicht schlucken will. Währe ja echt super wenn es dann doch noch klappt mit der HighID obwohl ich die Hoffnung schon fast aufgegeben habe.

danke, mfg evil
Logged

Vollstrecker

  • Administrator
  • Hero Member
  • *****
  • Karma: 67
  • Offline Offline
  • Posts: 1550
  • Unofficial Debian Packager
    • http://vollstreckernet.de
Re: aMule kann sich nicht über Port 22 verbinden??
« Reply #10 on: August 22, 2007, 12:11:49 AM »

Dir fehlt TCP+3, aber den auch noch auf Port22 zu legen dürfte problematisch werden.
Logged
Homefucking is killing prostitution

evilpete

  • Approved Newbie
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 6
Re: aMule kann sich nicht über Port 22 verbinden??
« Reply #11 on: August 22, 2007, 06:40:48 PM »

TCP+3 ist glaub ich nicht so wild, also ich hatte bis jetzt immer nur 4662tcp und 4672udp freigegeben und es hat super geklappt. Ausserdem gibts da ja die wildesten Gerüchte was diesen Port angeht, die Einen sagen für Emulechat, die Anderen für erweiterte Kad-Funktionen... . Das eigentliche Problem was ich hab das die beiden oben geposteten Regeln für eingehenden Verkehr (POSTROUTING) Syntaxfehler haben, d.H. iptables gibt beim Eingeben ne Fehlermeldung aus, ich würde gern wissen was falsch ist, kann es Jemand richtig aufschreiben?

Hier nochmal die Fehlerkandidaten:
# iptables -A POSTROUTING -t nat -p tcp -d 192.168.1.1 --dport 4662 -j DNAT --to-destination 192.168.1.1:22
# iptables -A POSTROUTING -t nat -p udp -d 192.168.1.2 --dport 4672 -j DNAT --to-destination 192.168.1.1:22

danke, evil
Logged

Vollstrecker

  • Administrator
  • Hero Member
  • *****
  • Karma: 67
  • Offline Offline
  • Posts: 1550
  • Unofficial Debian Packager
    • http://vollstreckernet.de
Re: aMule kann sich nicht über Port 22 verbinden??
« Reply #12 on: August 22, 2007, 06:45:28 PM »

-t nat -A POSTROUTING -o $EXTIF -p TCP -s $Werner1 --sport 4662 -j MASQUERADE
-t nat -A POSTROUTING -o $EXTIF -p UDP -s $Werner1 --dport 4672 -j MASQUERADE
-t nat -i $EXTIF -I PREROUTING -p tcp --dport 4662 -j DNAT --to-destination $Client:4662
-t nat -i $EXTIF -I PREROUTING -p udp --dport 4672 -j DNAT --to-destination $Client:4672
-I FORWARD -p TCP --sport 4662 -j ACCEPT
-I FORWARD -p TCP --dport 4662 -j ACCEPT
-I FORWARD -p UDP --sport 4672 -j ACCEPT
-I FORWARD -p UDP --dport 4672 -j ACCEPT
Logged
Homefucking is killing prostitution