Problem mit dsl router..

Gemeinsam ins Internet mit Firewall und Proxy.
Antworten
Knowy
Beiträge: 13
Registriert: 10.07.2002 13:59:48

Problem mit dsl router..

Beitrag von Knowy » 27.07.2002 11:57:35

Hallo, ich habe eine problem mit einem Linux Dsl router ( woody, kernel 2.4.18).Ich habe von einem freund eine vorgefertige Firewall mit iptables) der linux rechner hat 2 netzwerkarten, eine geht zum dsl modem, die andere zu meine windows xp system. nun kann ich den linux rechner anpingen, komme aber nicht ins i-net mit dem windows rechner über den linux rechner.
umgekehrt, kann der linux rechner den windows rechner anpingen, die verbindung ist in ordnung. nun habe ich bei der firewall( auf linux) ip forwarding bereits eingestellt ( /proc/sys/net/ipv4/ip_forward auf 1), und der windows pc benutzt die linux rechner ip als gateway. woran könnte der fehler liegen?

k-pl
Beiträge: 587
Registriert: 11.01.2002 11:26:44
Wohnort: München
Kontaktdaten:

Beitrag von k-pl » 27.07.2002 14:31:40

Hört sich so an. als bräuchtest Du noch den Eintrag

Code: Alles auswählen

iptables -t nat -A POSTROUTING -o <externes segment> -j MASQUERADE
<externes segment> ersetzt Du durch das Netzwerk-Device, das dem DSL-Zugang zugeordnet ist (wahrscheinlich ppp0)

Knowy
Beiträge: 13
Registriert: 10.07.2002 13:59:48

Beitrag von Knowy » 27.07.2002 15:08:53

leider nicht, in der firewall ist diese zeile schon vorhanden( wie gesagt, das ding sollte eigentlich auch laufen, weils halt ne geteste version is( eigentlich)) :)

k-pl
Beiträge: 587
Registriert: 11.01.2002 11:26:44
Wohnort: München
Kontaktdaten:

Beitrag von k-pl » 27.07.2002 16:00:19

Lass Dir mal die Route auf deinem XP anzeigen und schau, ob das stimmt.

Knowy
Beiträge: 13
Registriert: 10.07.2002 13:59:48

Beitrag von Knowy » 28.07.2002 20:12:23

welche route soll ich mir anzeigen lassen? vom xp system zum linux? das sollte richtig sein( hab bei den tcp/ip einstellungen halt die interne ip vom linux angeben, und in der firewall hingegen die ip vom xp system frei geschaltet)

Benutzeravatar
glatzor
Beiträge: 1769
Registriert: 03.02.2002 19:01:46
Wohnort: Vierkirchen bei München

Beitrag von glatzor » 29.07.2002 09:55:03

Hast Du probiert DNs im Internet anzupingen oder IP-Adressen? Schon mal alle iptables Regeln gelsöcht und die default policies auf ACCEPT gesetzt?

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 01.08.2002 03:40:58

Ola...

Irgendwie fehlt mir hier die Aussage, ob der Linux Router selbst ins interNet kommt. Kannst Du von da aus pingen usw.?

Sehr beliebt sind auch Fehler bei der MSS:

Code: Alles auswählen

iptables  -I FORWARD  -p tcp  --tcp-flags SYN,RST SYN   -j TCPMSS --clamp-mss-to-pmtu
Symptom ist normalerweise, dass man einige Sites erreicht, andere nicht, oder dass Verbindungen irgendwie "wackelig" sind.

Checkliste: (n setzt voraus, das n-1 funktioniert)
  • 1) Modemverbindung steht? DSL connected? (->Logfiles "grep ppp /var/log/messages /var/log/syslog")
    2) kann der Router Hostnamen auflösen? (Ping auf IP Adresse vs. Ping auf http://www.irgendwas.de)
    3) kann der Router ins internet pingen? (kommen auf die pings auch Antworten?)
    4) kann der Router Verbindungen ins Internet herstellen (WWW, FTP usw.)?
    5) kann der Client Hostnamen auflösen (ping IP Adresse vs. ping http://www.irgendwas.de)
    6) kann der Client (XP System) ins Internet pingen? (kommen auch antworten
    7) kann der Client Internetverbindungen aufbauen? (WWW, FTP usw.)?
    8 ) Wunderbar, es läuft... ;-)
Als IP Adresse kann ich immer irgendwelche Nameserver empfehlen. Wenn man die anpingen kann, ist man normalerweise schon viel weiter...

Bis wo kommst Du?

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Knowy
Beiträge: 13
Registriert: 10.07.2002 13:59:48

Beitrag von Knowy » 08.09.2002 10:21:56

so, nach vielm rumprobieren hab ich es tatsächlich geschafft den router an laufen zu bekommen(fast). einige probleme treten allerdings noch auf. ich erlaube im moment noch alle verbindunge ( so zielmlich) und niemand kann sich auf meinen ftp einloggen, ebensowening bin ich im moment in der lage files im irc zu versenden. ansonsten läufts ;) . weiß jmd hilfe?

#!/bin/bash

iptables -F
iptables -t nat -F

FW_EXT=`ifconfig ppp0 | grep "inet addr:" | awk -F: {'print $2'} | cut -d\ -f1
WWW_EXT=`ifconfig ppp0 | grep "inet addr:" | awk -F: {'print $2'} | cut -d\ -f
#iptables -t nat -A Postrouting -o ppp0 -j MASQUERADE

iptables -t nat -A PREROUTING -p tcp --dport 21 -i ppp0 -j DNAT --to 192.168.1.


iptables -t nat -A POSTROUTING -d ! 192.168.1.0/24 -j MASQUERADE

iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -s ! 192.168.1.0/24 -j DROP


iptables -A INPUT --protocol udp --source-port 113 -j DROP
iptables -A INPUT --protocol udp --destination-port 113 -j DROP



anbei meine firewall

k-pl
Beiträge: 587
Registriert: 11.01.2002 11:26:44
Wohnort: München
Kontaktdaten:

Beitrag von k-pl » 08.09.2002 12:27:55

zwecks ftp: Lädst Du das Kernelmodul ip_conntrack_ftp? Das brauchst Du für aktives ftp.

Knowy
Beiträge: 13
Registriert: 10.07.2002 13:59:48

Beitrag von Knowy » 08.09.2002 14:14:03

was heißt aktiv ftp? und nur ncoh um missverständnissen vorzubeugen, ich lasse den fpt server auf dem windows pc laufen, ebenso wie irc...

k-pl
Beiträge: 587
Registriert: 11.01.2002 11:26:44
Wohnort: München
Kontaktdaten:

Beitrag von k-pl » 08.09.2002 15:28:20

aktives ftp nutzt den port 21 für den handshake und dann irgendeinen über 1024 für den Datenaustausch. Damit nun deine Firewall den richtigen Port über 1024 aufmacht, brauchst Du das Modul.
Ob der Ftp-Server jetzt auf deinem Windows oder irgendwo im Internet läuft ist völlig egal, wenn du über den Router kommunizieren willst.
Also das Modul laden. Natürlich mußt Du es beim Kernel mitkompiliert haben.

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 08.09.2002 15:33:22

Die internen PCs (die hinter dem Router) sind aus dem Internet NICHT erreichbar, ohne dass man NAT konfiguriert. Für FTP ist das recht tricky, weil FTP 2 Ports verwendet statt nur einem.

Damit IRC (damit meine ich hauptsächlich DCC und CTCP) richtig funktionieren, musst Du auf dem Router das ip_conntrack_irc Modul laden.

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Knowy
Beiträge: 13
Registriert: 10.07.2002 13:59:48

Beitrag von Knowy » 12.09.2002 23:03:39

so, ich habe das modul geladen, es geht aber immer noch nicht

ip_conntrack_irc 2464 0 (unused)

wodran kann es noch liegen?
Edit: ich hab jetzt eine andere FW, an der sollte es eigentlich nicht liegen...

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 15.09.2002 12:39:53

Hi Knowy,

also ich hab gerade mal die Module ip_conntrack_irc und ip_conntrack_ftp geladen und nun funktioniert aktives ftp und dcc. Sowohl von dem Rechner der direkt mit dem Internet verbunden ist, als auch von den im LAN. Poste doch mal die Ausgabe von iptables_save.

by, blackm
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Knowy
Beiträge: 13
Registriert: 10.07.2002 13:59:48

Beitrag von Knowy » 15.09.2002 14:32:39

so, das sind meine regeln

# Generated by iptables-save v1.2.6a on Sun Sep 15 16:42:54 2002
*nat
:PREROUTING ACCEPT [19243:931783]
:POSTROUTING ACCEPT [103:11515]
:OUTPUT ACCEPT [83:10257]
-A PREROUTING -i ppp0 -p tcp -m tcp --dport 21 -j DNAT --to-destination 192.168.1.2:21
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o ppp0 -j MASQUERADE
-A POSTROUTING -s 192.168.1.0/255.255.255.0 -o ppp0 -j MASQUERADE
COMMIT
# Completed on Sun Sep 15 16:42:54 2002
# Generated by iptables-save v1.2.6a on Sun Sep 15 16:42:54 2002
*filter
:INPUT DROP [3:190]
:FORWARD DROP [7:446]
:OUTPUT DROP [0:0]
:allowin - [0:0]
:allowin-log - [0:0]
:allowout - [0:0]
:allowout-log - [0:0]
:bad_tcp_packets - [0:0]
:forward-died-log - [0:0]
:icmp-rules - [0:0]
:input-died-log - [0:0]
:log-bad-tcp - [0:0]
:output-died-log - [0:0]
:reject-log - [0:0]
:tcp_packets - [0:0]
:udp_packets - [0:0]
-A INPUT -s 127.0.0.0/255.0.0.0 -i ! lo -j reject-log
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -j bad_tcp_packets
-A INPUT -i ! ppp0 -m state --state NEW -j ACCEPT
-A INPUT -m state --state INVALID -j RETURN
-A INPUT -p tcp -m state --state RELATED -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i ppp0 -p tcp -j tcp_packets
-A INPUT -i ppp0 -p udp -j udp_packets
-A INPUT -p icmp -m state --state NEW -m icmp --icmp-type 8 -m limit --limit 1/sec -j icmp-rules
-A INPUT -p icmp -j icmp-rules
-A INPUT -j input-died-log
-A FORWARD -p tcp -j bad_tcp_packets
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -j ACCEPT
-A FORWARD -i ppp0 -o eth0 -p tcp -m tcp --sport 1024:65535 --dport 21 -j ACCEPT
-A FORWARD -j forward-died-log
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -p tcp -j bad_tcp_packets
-A OUTPUT -j allowout
-A allowin -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j ACCEPT
-A allowin -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A allowin -p tcp -j allowin-log
-A allowin-log -j LOG --log-prefix "Firewall: allowin "
-A allowin-log -j REJECT --reject-with icmp-port-unreachable
-A allowout -m state --state INVALID -j RETURN
-A allowout -m state --state RELATED,ESTABLISHED -j ACCEPT
-A allowout -s 192.168.1.0/255.255.255.0 -d 192.168.1.0/255.255.255.0 -o eth0 -p tcp -m state --state NEW -j ACCEPT
-A allowout -p icmp -m limit --limit 1/sec -m icmp --icmp-type 8 -j icmp-rules
-A allowout -p icmp -j icmp-rules
-A allowout -o ppp0 -p tcp -m state --state NEW -m tcp --sport 1024:65535 --dport 20:21 -j ACCEPT
-A allowout -o ppp0 -p tcp -m state --state NEW -m tcp --sport 1024:65535 --dport 22 -j ACCEPT
-A allowout -o ppp0 -p tcp -m state --state NEW -m tcp --sport 1020:1023 --dport 22 -j ACCEPT
-A allowout -o ppp0 -p tcp -m state --state NEW -m tcp --sport 1024:65535 --dport 25 -j ACCEPT
-A allowout -o ppp0 -p tcp -m state --state NEW -m tcp --sport 1024:65535 --dport 53 -j ACCEPT
-A allowout -o ppp0 -p udp -m state --state NEW -m udp --sport 1024:65535 --dport 53 -j ACCEPT
-A allowout -o ppp0 -p tcp -m state --state NEW -m tcp --sport 1024:65535 --dport 80 -j ACCEPT
-A allowout -o ppp0 -p tcp -m state --state NEW -m tcp --sport 1024:65535 --dport 443 -j ACCEPT
-A allowout -o ppp0 -p tcp -m state --state NEW -m tcp --sport 1024:65535 --dport 110 -j ACCEPT
-A allowout -o ppp0 -p udp -m state --state NEW -m udp --sport 1024:65535 --dport 123 -j ACCEPT
-A allowout -o ppp0 -p udp -m state --state NEW -m udp --sport 123 --dport 123 -j ACCEPT
-A allowout -o ppp0 -p tcp -m state --state NEW -m tcp --sport 1024:65535 --dport 6664:6672 -j ACCEPT
-A allowout -o ppp0 -p tcp -m state --state NEW -m tcp --sport 1024:65535 --dport 5190 -j ACCEPT
-A allowout -o ppp0 -p tcp -m state --state NEW -m tcp --sport 1024:65535 --dport 4661:4662 -j ACCEPT
-A allowout -o ppp0 -p udp -m state --state NEW -m udp --sport 1024:65535 --dport 4665 -j ACCEPT
-A allowout -s 192.168.1.0/255.255.255.0 -d 192.168.1.0/255.255.255.0 -o eth0 -p udp -m state --state NEW -m udp --sport 137:138 --dport 137:138 -j ACCEPT
-A allowout -j allowout-log
-A allowout-log -j LOG --log-prefix "Firewall: allowout "
-A allowout-log -j REJECT --reject-with icmp-port-unreachable
-A bad_tcp_packets -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j log-bad-tcp
-A forward-died-log -j LOG --log-prefix "Firewall: FWD packet died: "
-A forward-died-log -j REJECT --reject-with icmp-port-unreachable
-A icmp-rules -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A icmp-rules -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A icmp-rules -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A icmp-rules -p icmp -m icmp --icmp-type 12 -j ACCEPT
-A icmp-rules -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A icmp-rules -m limit --limit 6/min --limit-burst 10 -j LOG --log-prefix "FIREWALL: icmp-drop "
-A icmp-rules -j DROP
-A input-died-log -j LOG --log-prefix "Firewall: IPT packet died: "
-A input-died-log -j REJECT --reject-with icmp-port-unreachable
-A log-bad-tcp -j LOG --log-prefix "Firewall: bad_tcp "
-A log-bad-tcp -j REJECT --reject-with icmp-port-unreachable
-A output-died-log -j LOG --log-prefix "Firewall: OPT packet died: "
-A output-died-log -j REJECT --reject-with icmp-port-unreachable
-A reject-log -j LOG --log-prefix "Firewall: reject "
-A reject-log -j REJECT --reject-with icmp-port-unreachable
-A tcp_packets -i ppp0 -p tcp -m tcp --dport 21 -j allowin
-A tcp_packets -i ppp0 -p tcp -m tcp --dport 22 -j allowin
-A tcp_packets -i ppp0 -p tcp -m tcp --dport 113 -j allowin
-A tcp_packets -i ppp0 -p tcp -m tcp --dport 4661:4662 -j allowin
-A tcp_packets -j allowin-log
-A udp_packets -i ppp0 -p udp -m udp --dport 4665 -j ACCEPT
-A udp_packets -j allowin-log
COMMIT
# Completed on Sun Sep 15 16:42:54 2002

Knowy
Beiträge: 13
Registriert: 10.07.2002 13:59:48

Beitrag von Knowy » 18.09.2002 09:32:41

hmm, kann ich davon ausgehen das mir niemand helfen kann?
vielleicht ja mit dieser frage, im edonkey bekomme ich regelmässig die meldung von den server das mein port 4662 nicht erreichbar ist, und ich fliege vom server runter. was hab ich denn falsch eingestellt?

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 18.09.2002 18:05:31

Helfen kann dir bestimmt jemand, aber da die Konfiguration deiner Firewall recht umfangreich ist sind die meisten davon etwas abgeschreckt.

by, blackm
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

ernohl
Beiträge: 1181
Registriert: 04.07.2002 08:11:56
Wohnort: HL

Beitrag von ernohl » 18.09.2002 18:51:08

blackm hat geschrieben:Helfen kann dir bestimmt jemand, aber da die Konfiguration deiner Firewall recht umfangreich ist sind die meisten davon etwas abgeschreckt.
Würde ich auch so sehen. Überdenke mal Deine Regeln und baue übersichtliche (für Dich!).
Bis dahin würde ich die try-and-error-Methode empfehlen. Die Regel, die den geblockten Port erlauben soll, mal (zum Test) ganz nach oben setzen und bei Erfolg Schritt für Schritt nach unter verschieben, bis Du den "Übeltäter" hast.
Gruß
ernohl

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 18.09.2002 21:41:54

Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Knowy
Beiträge: 13
Registriert: 10.07.2002 13:59:48

Beitrag von Knowy » 11.10.2002 19:26:05

hallo noch einmal, hat denn wirklich niemand eine ahnung wodran das liegen könnte? ftp geht ja und normales www auch, nur halt irc net, und edonkey läuft auch net so toll( niedrige id).

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 11.10.2002 19:43:58

Was dein IRC Problem ist kann ich Dir nicht sagen, aber für den Donkey brauchst Du mit Sicherheit DNAT (Destination Network Address Translation). Deine FW Config ist aber so unglaublich unübersichtlich, dass ich mich mit allzu konkreten Tipps zurückhalte.

Wie sieht denn das Skript aus, mit dem Du die Firewall konfigurierst? Das was Du da damals gepostet hast sieht aus wie die Ausgabe von irgendeinem Tool (iptables-save?). Man kann die Firewall wesentlich einfacher konfigurieren, ohne das man viel verliert.

Normalerweise Geht ein DNAT so:

Code: Alles auswählen

NET_DEV=ppp0
SERVER_PORT=123
TARGET_IP=192.168.0.11
TARGET_PORT=12345
iptables -t nat -A PREROUTING  -i $NET_DEV -p tcp -s 0/0 --destination-port $SERVER_PORT -j DNAT --to-destination $TARGET_IP:$TARGET_PORT
Damit wird der Port SERVER_PORT (123) am Server an den Port TARGET_PORT (12345) auf dem internen Rechner TARGET_IP umgeleitet. Damit müsstest Du am Donkey dann den Donkey Port vom Server zu Deiner Kiste umleiten.

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Antworten