Routingproblem (update)

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
oli_f
Beiträge: 272
Registriert: 24.10.2003 12:27:05

Routingproblem (update)

Beitrag von oli_f » 14.05.2006 22:04:44

Ich hab mir mühe gegeben es nochmals etwas verständlicher und auf's wesentliche gekürzt zu erklären:

Ich habe folgende Ausgangssituation

Pc2 - Pci1 - Router - inet

Pc 1 hat :
eth0 (192.168.1.1 gateway 192.168.1.1) -> (192.168.1.1) Router -> inet
eth1 (192.168.2.1) -> Pc2 (192.168.2.2 gateway 192.168.2.1)

Pc 2 soll nun über Pc 1 ins Internet, aber nur surfen dürfen!

Code: Alles auswählen

  # Zurücksetzen der Konfiguration
  iptables -F
  iptables -t nat -F

  iptables -X
  iptables -t nat -X

  # Einschalten von ip-Forwarding
  echo "1" > /proc/sys/net/ipv4/ip_forward

  # Default-Policies setzen - alles fliegt raus
  iptables -P INPUT DROP
  iptables -P FORWARD DROP
  iptables -P OUTPUT DROP

  [...]

  #Regeln für Pc 2 (http und dns)
  iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 80 -j ACCEPT
  iptables -A FORWARD -i eth1 -o eth0 -p udp --dport 53 -j ACCEPT

  iptables -A FORWARD -i eth0 -o eth1 -m state \
     --state ESTABLISHED -j ACCEPT

  # Masquerading
  iptables -A POSTROUTING -o eth0 -t nat -j MASQUERADE
Auf Pc 1 existieren folgende routen:

Code: Alles auswählen

Kernel IP Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.248 U     0      0        0 eth0
192.168.2.0     *               255.255.255.0   U     0      0        0 eth1
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
Ich kann von Pc2 pc1 anpingen, aber sobald ich etwas ausserhalb 192.168.2.0 anpinge heisst es "network unreachable"

gruss oli
Zuletzt geändert von oli_f am 15.05.2006 12:15:00, insgesamt 2-mal geändert.
error - divided by 0

Benutzeravatar
daFreak
Beiträge: 875
Registriert: 14.09.2005 12:09:59
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von daFreak » 14.05.2006 22:23:13

hast du portforwarding aktiviert?
in /etc/network/options

Code: Alles auswählen

ip_forward=yes 

Code: Alles auswählen

default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0 
gehst du über einen router ins inet? weil wie ich das verstehe ist 192.168.1.1 die IP von PC 1... und nicht die von einer externen gateway..
Pc 2 soll nun über Pc 1 ins Internet, aber nur surfen dürfen!
(Ein an eine andere nic angeschlossener Pc, mit etwas anderen Rechten, kommt problemlos durch.)
inwiefern kommen die rechner denn bereits ins inet?

Code: Alles auswählen

192.168.2.0     server.local    255.255.255.0   UG    0      0        0 eth1
192.168.2.0     *               255.255.255.0   U     0      0        0 eth2 
ich glaub nicht das das funktionieren kann...
kannst du die ip 192.168.2.x pingen?

oli_f
Beiträge: 272
Registriert: 24.10.2003 12:27:05

Beitrag von oli_f » 14.05.2006 23:10:31

Sorry ich habe in meinem Beschrieb die nic's [aus versehen] anders benannt.

Bessere Erklärung des Problems siehe Post 1.


Müssen ev die entsprechenden ports in der INPUT chain auch geöffnet werde, genügt FORWARD nicht?
Zuletzt geändert von oli_f am 15.05.2006 12:17:09, insgesamt 2-mal geändert.
error - divided by 0

Benutzeravatar
herrchen
Beiträge: 3257
Registriert: 15.08.2005 20:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von herrchen » 14.05.2006 23:39:57

oli_f hat geschrieben:Sorry ich habe in meinem Beschrieb die nic's anders benannt.
wozu ist sowas gut?
das sorgt nur für lustlosigkeit und durcheinander bei den hilfswilligen.
du scheinst zwei NICs in einem netz zu haben. mach mit dem neuen NIC ein eigenes subnetz (192.168.3.0) auf, steck die daran angeschlossenen clients in das selbe subnetz und verwende die IP dieses (router)-NIC als gateway fü die angeschlossenen clients.
die regeln des FW-scripts sind natürlich anzupassen.

herrchen

oli_f
Beiträge: 272
Registriert: 24.10.2003 12:27:05

Beitrag von oli_f » 15.05.2006 12:20:19

Ja sorry ich habe ein "Gestürm" gemacht.

Die 2 nics im selben subnet sind sicher nicht das Problem, denn dort funktioniert alles.. hab sie deshalb nun aus meiner Erklärung (in Post 1) ausgeklammert.
error - divided by 0

Benutzeravatar
herrchen
Beiträge: 3257
Registriert: 15.08.2005 20:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von herrchen » 15.05.2006 12:34:08

oli_f hat geschrieben: Die 2 nics im selben subnet sind sicher nicht das Problem, denn dort funktioniert alles..
na prima.
hab sie deshalb nun aus meiner Erklärung (in Post 1) ausgeklammert.
ok, dann bin ich jetzt raus.
wenn die infos nur zur hälfte kommen und dann auch noch verändert werden, fehlt mir die lust.

herrchen

oli_f
Beiträge: 272
Registriert: 24.10.2003 12:27:05

Beitrag von oli_f » 15.05.2006 15:23:38

lol
error - divided by 0

Benutzeravatar
DynaBlaster
Beiträge: 958
Registriert: 25.03.2004 18:18:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DF0://dynablaster.adf

Beitrag von DynaBlaster » 15.05.2006 15:52:09

#Regeln für Pc 2 (http und dns)
iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -p udp --dport 53 -j ACCEPT
Natürlich ist das Netz 192.168.1.0/24 mit pings nicht zu erreichen: schließlich dropst du mittels der Default-Policy alles andere und erlaubst nur Zugriffe auf die Ports 80 (TCP) und 53 (UDP).

Im Grunde sieht dein Script aber ok aus. Hast du mal versucht, 66.249.93.99 (http://www.google.de) im Browser von PC2 einzugeben ? Evtl. hakt da was beim DNS-Server. Hast du auf PC2 192.168.1.1 (der Router) als Nameserver eingetragen ?

oli_f
Beiträge: 272
Registriert: 24.10.2003 12:27:05

Beitrag von oli_f » 15.05.2006 20:19:27

Als Nameserver auf Pc 2 ist der meines Providers eingetragen. Und über die ip komme ich auch nicht auf Google. (Oder irgendeine HP)
error - divided by 0

diedl2003
Beiträge: 111
Registriert: 01.04.2004 00:23:36
Wohnort: Frankfurt
Kontaktdaten:

Beitrag von diedl2003 » 15.05.2006 23:50:32

Die 2 nics im selben subnet sind sicher nicht das Problem
..im Gegenteil. Wenn du zwei nics in einem Netwerk haben willst, mache lieber eine bridge.

Ich würde erstmal das routing auf die Reihe bringen und dann mit iptables anfangen. Hast du bei deinem inet router die route für das 192.168.2.0/24 eingetragen?

Gruß

Benutzeravatar
DynaBlaster
Beiträge: 958
Registriert: 25.03.2004 18:18:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DF0://dynablaster.adf

Beitrag von DynaBlaster » 16.05.2006 00:46:44

diedl2003 hat geschrieben:Hast du bei deinem inet router die route für das 192.168.2.0/24 eingetragen?
Zum Testen, ob das Routing funktioniert, wäre dies sicher nicht verkehrt. Aber bei mir zu Hause bietet der SOHO-Router eben keine Möglichkeit, eine Route in ein bestimmtes Netz anzugeben. Deshalb habe ich das hier auch mit SNAT / MASQUERADING lösen müssen.

@oli_f

Poste mal dein ganzes Script hierhin: http://nopaste.debianforum.de/

Und schiebe mal fürs Debugging diese Regel in das Script rein:

Code: Alles auswählen

iptables -A FORWARD -j LOG
iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -p udp --dport 53 -j ACCEPT
in /var/log/syslog solltern dann die Kernel-Meldungen auftauchen. Vielleicht bringt dich/uns das ja weiter ...

Antworten