PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ICQ Forward



kpelka
07.05.04, 15:10
Hallo
Ich habe mal ne Frage, auf meinem Debian woody 3.0 Server läuft squid. Leider kann ich diesen Proxy auch nicht zur verwendung von ICQ benutzten.
Mein Problem ist jetzt, wie mache ich das mit den ip forward genau, damit ich nur explizit diesen Dienst freigebe?
Danke kpelka

klemens
07.05.04, 17:19
Leider kann ich diesen Proxy auch nicht zur verwendung von ICQ benutzten.

Dem würd ich noch einmal nachgehen ..

Bei ICQ gibt man einen Port an, schau einmal unter welchen Port ICQ bei Dir läuft (ev. 5195). Die Direktverbindungen können dann extra noch freigestellt werden.

Diesen Port musst rauslassen, ip_forward auf 1 stellen, und wenn Dein Rechner keine Internettaugliche IP hat, Masquerading betreiben. Dann noch hoffen, dass die Retourwege automatisch gehen ;)

Ich würde meinen, das schaut dann so aus:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -P FORWARD DROP
iptables -t nat -A POSTROUTING -p tcp --dport 5195 -o ppp0? -j MASQUERADE
iptables -A FORWARD -s DEINEIP -d ICQIP -p tcp --dport 5195 -j ACCEPT

... und schon hast eine Lücke in Deiner Firewall :rolleyes:

Harry
07.05.04, 17:40
... und schon hast eine Lücke in Deiner Firewall :rolleyes:
Ja - aber nur für ausgehende TCP-Pakete ;)

Anstelle der letzten Regel würde ich da eher folgendes schreiben:

iptables -A FORWARD -s DEINEIP -d ICQIP -p tcp --dport 5195 -m state --state NEW -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
Damit dürfen dann auch die Antwortpakete vom Server zum Client über den Paketfilter laufen.

Harry

klemens
07.05.04, 17:48
THX für die Korrektur -- und wenn wir schon dabei sind, darf ich 2 Fragen anhängen?

1. braucht eigentlich -m state ein modprobe ip_conntrack?
2. Vermute ich richtig, dass bei ICQ auch ein -m state notwendig ist und der "Retourweg" nicht automatisch wie z.B. bei einer http-Anfrage offen ist. Ist doch ein komplexeres hin und her als bei einer einfachen "ichwill-dahast" - Anfrage ...

Harry
07.05.04, 17:59
Hallo Klemens,


1. braucht eigentlich -m state ein modprobe ip_conntrack?
2. Vermute ich richtig, dass bei ICQ auch ein -m state notwendig ist und der "Retourweg" nicht automatisch wie z.B. bei einer http-Anfrage offen ist. Ist doch ein komplexeres hin und her als bei einer einfachen "ichwill-dahast" - Anfrage ...

1. "-m state" benötigt ein geladenes Modul ip_conntrack. Das wird jedoch auf den meisten Distris automatisch geladen, falls es benötigt wird.
2. Der Rückweg ist auch für einen HTTP-Request nicht automatisch offen ;) Auch dort benötigst Du die explizite Öffnung des Paketfilters für die Antworten :)

Harry

klemens
07.05.04, 18:43
2. Der Rückweg ist auch für einen HTTP-Request nicht automatisch offen Auch dort benötigst Du die explizite Öffnung des Paketfilters für die Antworten

*haarerauf*! :eek:

Also ich hätt jetzt drauf gewettet, dass iptables automatisch Anworten auf abgesendete Pakete durchlässt. Keine Ahnung, wo ich das schon wieder her hab :ugly: - habs ausprobiert, ist nicht so.

Ok - wieder was gelernt ;) nochmals Danke und einen tuxigen Abend ;)

Harry
07.05.04, 18:52
Ich wünsch Dir auch ein nettes Wochenende. Auf bald :)

Harry

bubba1
11.05.04, 20:24
So sollte es aber auch klappen.

für <ip> die IP des Rechners eintragen auf dem die ICQ-Software läuft.



iptables -A FORWARD -t filter -i eth0 -s <ip> -j ACCEPT
iptables -A POSTROUTING -t nat -s <ip> -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward

Harry
11.05.04, 21:00
So sollte es aber auch klappen.[/CODE]
Oh mann ... nein - das reicht so nicht.
Aber ich wiederhole mich ... ;)

Harry

bubba1
12.05.04, 14:56
@Harry

also bei mir funktioniert das wunderbar.
Habe auch Squid als Proxy und ICQ funktioniert bei mir so.

Aber bitte kläre mich auf, wieso es so nicht reicht......... :rolleyes:
Wäre meine Einstellung so eine Sicherheitslücke??????

steve-e
12.05.04, 15:08
Wie ist es denn bei einem Einzelplatzpc, bei dem ich nur den ICQ-Datentransfer in ICQ freigeben möchte. Reicht dort der Eintrag?

iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 5010:5014 -j ACCEPT

klemens
12.05.04, 15:13
Wie ist es denn bei einem Einzelplatzpc, bei dem ich nur den ICQ-Datentransfer in ICQ freigeben möchte. Reicht dort der Eintrag?

iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 5010:5014 -j ACCEPT

Les Dir die Postings von Harry noch einmal durch und füge dann ein:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

hinzu. Bzw. Nimm

iptables -A INPUT -i eth0 -m state --state NEW,ESTABLISHED,RELATED -p tcp --dport 5010:5014 -j ACCEPT

Wenn OUTPUT auf Policy DROP steht, gehts sonst nicht. Wenn Du nur den INPUT gesperrt hast (die OUTPUT - POLICY auf ACCEPT steht), geht es IMHO auch so, wie Du es vorschlägst.

steve-e
12.05.04, 16:15
Danke,
klingt logisch; werd es gleich mal ausprobieren.