Hallo,
seit geraumer Zeit versuche ich von einem Linuxrechner(192.168.0.2) über einen anderen(192.168.0.1) ins Internet zu gelangen.
192.168.0.1: -der Kernel ist mit Masquerading-Unterstützung kompiliert (/proc/sys/net/ipv4/ip_forward ist jedenfalls vorhanden) -ein Modem hängt an /dev/ttyS1 -beim Starten werden folgende Befehle ausgeführt: echo "1" > /proc/sys/net/ipv4/ip_forward echo "1" > /proc/sys/net/ipv4/ip_dynaddr
/sbin/ipchains -A forward 192.168.0.0/24 -j MASQ /sbin/ipchains -P forward DENY
192.168.0.2: -route: route add 0.0.0.0 gw 192.168.0.1
Wenn ich jetzt auf 192.168.0.1 über das Modem eine Verbindung zum Internet herstelle und dann Versuche von 192.168.0.2 aus einen ping auf eine Internetadresse zu starten kommt immer folgender Fehler: ping: sendto: Network is unreachable
Kann mir jemand helfen??? Danke im Voraus.
Ciao, Tobias
am Fre, dem 02.06.2000, um 16:22:35 +0200 mailte Tobias Koenig folgendes:
Hallo,
/sbin/ipchains -A forward 192.168.0.0/24 -j MASQ /sbin/ipchains -P forward DENY
wenn Du in der 2. Zeile _alles_ verbietest, kann es nicht klappen! Vertausch die beiden Zeilen!
Zumindest scheint mir das die Ursache zu sein. Hab leider keine Zeit, bin grad beim grillen.
PS.: vor gestern ist noch Bier übrig, ich habe versagt
Andreas
Am Fri den 02 Jun 2000 um 07:19:53PM +0200 schrieb Andreas Kretschmer:
am Fre, dem 02.06.2000, um 16:22:35 +0200 mailte Tobias Koenig folgendes:
Hallo,
/sbin/ipchains -A forward 192.168.0.0/24 -j MASQ /sbin/ipchains -P forward DENY
wenn Du in der 2. Zeile _alles_ verbietest, kann es nicht klappen! Vertausch die beiden Zeilen!
es fehlen die input/output regeln. aus dem wie immer schlechten gedaechtnis, deswegen evtl. unkorrekt:
#von innen nach aussen: ipchains -A input -s 192.168.0.0/24 -d 0.0.0.0/0 -j ACCEPT # antworten von draussen hineinlassen: ipchains -A output -s 0.0.0.0/0 -d 192.168.0.0/24 -j ACCEPT
wenn das nicht funzt, dann eben jeweils -s 0/0 -d 0/0 damit laesst du dann alles durch.
trotzdem wird dies so noch nicht funzen, da 192.168.0.x nie dein gateway sein wird, sondern das interface, welches dir dein isp zuweist. du muesstest also anstatt 192.168.0.x eine variable benutzen. sowas loest man am besten mit einem ip-up skript, in dem z.b. in PPP_LOCAL die lokale von deinem isp zugewiesene ip steht. mir war das alles zu aufwendig, deswegen benutze ich einen proxy auf dem dialup rechner. wwwoffle ist da hervorragend, da der zwischenspeichert und sich auch dns eintraege merkt, womit squid bei mir probleme hatte. ausserdem kannst du damit wenn du offline bist seiten zum herunterladen markieren - echt praktisch.
andre
PS.: vor gestern ist noch Bier übrig, ich habe versagt
da war doch kindertag?
am Fre, dem 02.06.2000, um 21:39:42 +0200 mailte Andre Schulze folgendes:
Am Fri den 02 Jun 2000 um 07:19:53PM +0200 schrieb Andreas Kretschmer:
am Fre, dem 02.06.2000, um 16:22:35 +0200 mailte Tobias Koenig folgendes:
Hallo,
/sbin/ipchains -A forward 192.168.0.0/24 -j MASQ /sbin/ipchains -P forward DENY
wenn Du in der 2. Zeile _alles_ verbietest, kann es nicht klappen! Vertausch die beiden Zeilen!
es fehlen die input/output regeln.
komisch, bei mir zu Hause funzt das mit lediglich diesen beiden Einträgen ;-)
Andreas
Am Fri den 02 Jun 2000 um 11:32:56PM +0200 schrieb Andreas Kretschmer:
am Fre, dem 02.06.2000, um 21:39:42 +0200 mailte Andre Schulze folgendes:
Am Fri den 02 Jun 2000 um 07:19:53PM +0200 schrieb Andreas Kretschmer:
am Fre, dem 02.06.2000, um 16:22:35 +0200 mailte Tobias Koenig folgendes:
Hallo,
es fehlen die input/output regeln.
komisch, bei mir zu Hause funzt das mit lediglich diesen beiden Einträgen ;-)
dann ist bei dir was kaputt ;-) gib doch mal bitte ipchains -L input ein. mich wuerde wundern, wenn bei dir keine regel fuer input/output gesetzt ist, da haette ich die theorie nicht richtig verstanden:
The kernel starts with three lists of rules; these lists are called firewall chains or just chains. The tree chains are called input, output and forward. When a packet comes in (say, through the Ethernet card) the kernel uses the input chain to decide its fate. If it survives that step, then the kernel decides where to send the packet next (this is called routing). If it is destined for another machine, it consults the forward chain. Finally, just before a packet is to go out, the kernel consuts the output chain.
wahrscheinlich benutzt du suse :-)
andre
Andre Schulze wrote:
komisch, bei mir zu Hause funzt das mit lediglich diesen beiden Einträgen ;-)
dann ist bei dir was kaputt ;-) gib doch mal bitte ipchains -L input ein. mich wuerde wundern, wenn bei dir keine regel fuer input/output gesetzt ist, da haette ich die theorie nicht richtig verstanden:
Man muss nur in der forward Kette Masquerading konfigurieren, ausserdem muss der Kernel wissen, dass er Forwarding machen soll.
echo 1 > /proc/sys/net/ipv4/ip_forward
hilft dabei. Das hat Tobias ja auch so konfiguriert.
Wann ein Forward ausgeführt wird, entscheidet die Routing Tabelle, falls die defaultroute auf dem Gateway auf das ppp-Device gesetzt ist, sollte es funktionieren also
route add default ppp0
oder
route add default ippp0
Jan Dittberner
Am Sat, 03 Jun 2000 schrieben Jan Dittberner:
Wann ein Forward ausgeführt wird, entscheidet die Routing Tabelle, falls die defaultroute auf dem Gateway auf das ppp-Device gesetzt ist, sollte es funktionieren also
Danke für die Tips, das ist wahrscheinlich das Problem, aber eine Frage hätte ich noch.
route add default ppp0
Muß ich das auf dem Rechner mit Modemanschluß eingeben? Und welche Route muß dann auf dem anderen Rechner eingetragen werden?
Ciao, Tobias
Hallo Tobias,
On Fri, Jun 02, 2000 at 04:22:35PM +0200, Tobias Koenig wrote:
/sbin/ipchains -A forward 192.168.0.0/24 -j MASQ /sbin/ipchains -P forward DENY
Die Syntax scheint mir falsch, muss es nicht
ipchains -A forward -s 192.168.0.0/24 -d 0.0.0.0/0 -j MASQ
heissen? Allerdings wuerde ich folgendes vorschlagen:
ipchains -A forward -i ppp0 -j MASQ
oder gleich die Holzhammermethode:
ipchains -P forward MASQ
Die Debian-Methode waere uebrigens, einfach das ipmasq-Paket zu installieren und fertig. Vielleicht klappt dieser Tip bei Dir auch?
Tschuess Torsten
Am Fri, 02 Jun 2000 schrieben Torsten Werner:
Hallo Tobias,
On Fri, Jun 02, 2000 at 04:22:35PM +0200, Tobias Koenig wrote:
/sbin/ipchains -A forward 192.168.0.0/24 -j MASQ /sbin/ipchains -P forward DENY
Die Syntax scheint mir falsch, muss es nicht ipchains -A forward -s 192.168.0.0/24 -d 0.0.0.0/0 -j MASQ
Ich habe das aus der IP-Masquerading-Howto abgeschrieben, man kann die Destination auch weglassen.
ipchains -A forward -i ppp0 -j MASQ
Werden dann auch alle Daten von den 'netzwerkinternen' Rechnern ins Internet weitervermittelt?
Die Debian-Methode waere uebrigens, einfach das ipmasq-Paket zu installieren und fertig. Vielleicht klappt dieser Tip bei Dir auch?
Meine Distri wird leider von einem Chamäleon regiert... ;)
Ciao, Tobias
Hallo Tobias,
On Sat, Jun 03, 2000 at 01:28:27PM +0200, Tobias Koenig wrote:
Am Fri, 02 Jun 2000 schrieben Torsten Werner:
On Fri, Jun 02, 2000 at 04:22:35PM +0200, Tobias Koenig wrote:
/sbin/ipchains -A forward 192.168.0.0/24 -j MASQ
Die Syntax scheint mir falsch, muss es nicht ipchains -A forward -s 192.168.0.0/24 -d 0.0.0.0/0 -j MASQ
Ich habe das aus der IP-Masquerading-Howto abgeschrieben, man kann die Destination auch weglassen.
Ja, aber das '-s' kann man bestimmt nicht weglassen, oder?
ipchains -A forward -i ppp0 -j MASQ
Werden dann auch alle Daten von den 'netzwerkinternen' Rechnern ins Internet weitervermittelt?
Nur die Daten, die laut routing-Tabelle sowieso geforwarded werden sollen. Das ist auch das, was Du willst. (Die Policies fuer input und output muessen natuerlich auch stimmen - zumindest bei ipchains, bei netfilter ist wieder alles ganz anders.)
Die Debian-Methode waere uebrigens, einfach das ipmasq-Paket zu installieren und fertig. Vielleicht klappt dieser Tip bei Dir auch?
Meine Distri wird leider von einem Chamaeleon regiert... ;)
Schau doch mal auf freshmeat.net, ob es nicht ein SuSE-kompatibles Paket von ipmasq gibt oder ob Du es nicht selbst fuer SuSE gebacken bekommst. (Es ist eine Sammlung intelligenter Skripte fuer init, ip-up und ip-down.)
Tschuess Torsten
Am Sun, 04 Jun 2000 schrieben Torsten Werner:
Hallo Tobias,
Hallo Torsten,
Die Syntax scheint mir falsch, muss es nicht ipchains -A forward -s 192.168.0.0/24 -d 0.0.0.0/0 -j MASQ
Ich habe das aus der IP-Masquerading-Howto abgeschrieben, man kann die Destination auch weglassen.
Ja, aber das '-s' kann man bestimmt nicht weglassen, oder?
Ooops, das ist richtig... In meinem firewallscript steht es aber zum Glück mit '-s '
Ciao, Tobias
Hallo,
Ich habe es jetzt endlich hinbekommen, es fehlt die richtige route... Vielen Dank noch mal für alle Tips.
Ciao, Tobias
Am Sun, Jun 04, 2000 at 08:11:02PM +0200 schrieb Torsten Werner: Hallo,
Bei der ganzen diskussion über mögliche und unmögliche ipchains habe ich so ein bischen den Überblick verloren. bei mir läufts mit den angehängten dateien und den Einträgen
192.168.0.0 0.0.0.0 255.255.255.0 eth0
auf dem Router
und
192.168.0.0 0.0.0.0 255.255.255.0 eth0 default 192.168.0.98 0.0.0.0 eth0
auf dem anderen Rechner in der Route.conf
Router hat IP 192.168.0.98 intern und wechselnde extern
Dabei wird die Verbindung über ppp0 des Routers hergestellt. ip-up und ip-down sind unverändert aus meiner SuSE 6.3 . (d.h. setzen u.a. eine Default-Route auf ppp0).
Dazu hätte ich auch ncoh ein paar Fragen: 1. Was bringt eigentlich der dyn-IP-Patch (echo 1>dyn_addr)? 2. gibts ne Möglichkeit UDP generell durchzuschleusen (Außen -> innen)? 3. welche von den Modulen brauche ich nicht zu laden (z.B. wegen kerneld)?
Tobias
lug-dd@mailman.schlittermann.de