[linux-l] ping funktioniert nicht

Peter Koppatz PKoppatz at t-online.de
Sa Dez 6 23:01:38 CET 2003


Hallo Ihno,

sehr schön die Zusammenfassung aller How-to's und Anleitungen die ich bis 
jetzt durchgeackert habe.

Am Samstag, 6. Dezember 2003 12:36 schrieb Ihno Krumreich:
> Hi,
>
> On Fri, Dec 05, 2003 at 10:50:56PM +0100, Peter Koppatz wrote:
> > Hallo!
> >
> > Ich will ?ber meinen Router vom Mini-LAN ins internet.
> > Die Rechner sind ?ber einen hub verbunden und erhalten eine ip
> > vom Router ?ber dhcp.
> > Ein ping vom Router ins Internet funktioniert.
> > Ein ping vom Laptop funkioniert nicht, warum?
> > Folgende Einstellungen habe ich jetzt:
> > Router mit fester IP 192.168.1.1
> > Laptop mit dhcpcd 192.168.122
>
> Ich gehe davon aus das der Laptop die Adresse 192.168.1.22
> besitzt.
War ein Tippfehler, es ist die 192.168.1.222 
>
> > Ausgaben von route -n
> > Router:
> > Ziel            Router          Genmask         Flags Metric Ref    Use
> > Iface 192.168.1.0     0.0.0.0         255.255.255.0   U     0      0     
> >   0 eth0
> >
> > Nach dem Verbindungsaufbau:
> > Ziel            Router          Genmask         Flags Metric Ref    Use
> > Iface 217.5.117.165 0.0.0.0     255.255.255.255 UH      0     0         0
> > ppp0 192.168.1.0     0.0.0.0         255.255.255.0   U     0      0      
> >  0 eth0 0.0.0.0        217.5.117.165 0.0.0.0            UG      0     0  
> >       0 ppp0
> >
> > auf dem Laptop:
> >  Ziel            Router          Genmask         Flags Metric Ref    Use
> > Iface 192.168.1.0     0.0.0.0         255.255.255.0   U     0      0     
> >   0 eth0 0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0  
> >      0 eth0
> >
> > Ein interner Ping funktioniert.
> > Wo mu? ich  noch drehen um mit dem Laptop ins Internet zu kommen?
>
> Als Router ist die Maschine korrekt konfiguriert. Aber so wirst du nicht
> ins Internet kommen. Folgendes spricht dagegen:
>
> - Router leiten Pakete weiter. D.h. die urspruengliche Absenderadresse
>   (192.168.1.22) bleibt erhalten. Damit ein Paket auf dem Laptop
>   ankommen kann muss das Internet wissen wie der Laptop zu erreichen
>   ist (d.h. die Adresse 192.168.1.22). Mit der Adresse des Laptops
>   geht dies grundsaetzlich nicht, da dies eine sogenannte private-IP
>   Adresse ist, die zum Aufbau lokaler Netzwerke vorgesehen sind. Diese
>   Adressen duerfen im globalen Internet nicht verwendet werden und
>   duerfen dort auch nicht zu sehen sein (d.h. die meisten Provider
>   blockieren diese Adressen explieziet).
>   siehe Stichwort "private Internets" in
>   http://zeus.fh-brandenburg.de/~ihno/lehre/internet/index.html

Das seh ich mir nochmal an...

>
> - damit du nun mit dem laptop ins in Internet kommst muss also die
>   Adresse deines Laptops verschwinden (aus der Sicht des Internets).
>   Dazu gibt es zwei Moeglichkeiten:
>
>   - NAT oder Masquerading
>     Bei Nat wird bei jedem Paket des Laptops die Absendeadresse des
>     Laptops durch die Absendeadresse des ppp-Interfaces ersetzt
>     (Also 192.168.1.22 durch 217.5.117.165). Die Adresse
>     217.5.117.165 ist im Internet bekannt und erreichbar. Fuer
>     jedes Paket das zurueckkommt wird der Adresse wieder
>     zurueckgetauscht.
>
>   - proxy
>     Auf deinem Gateway-Rechner (der mit dem ppp-Interface) wird
>     beispielsweise squid installiert (ein http/ftp-proxy) und
>     dein Laptop nimmt Verbindung mit dem Proxy auf und der
>     Proxy mit dem Internet.

Ah jetzt dämmerts: Werden die Pakete durchgereicht ohne sie zu manipulieren, 
dann trägt der Rechner den Titel: Router
Wenn aber mit den Paketen ein wenig voodoo gemacht wird, ist es ein Gateway.
Hab ich das jetzt ein für allemal kapiert?

>   Was du also wahrscheinlich willst ist NAT.
>   Also Masquerading aktivieren und dein Laptop wird gluecklich sein.

Diesbezüglich hab ich schon einige Experimente gestartet, mit wenig Erfolg, es 
werden also noch Fragen kommen.

>
>   Wie macht man das nun? Da leider die verschiedenen Linux-derivate
>   es etwas anders machen....
>   Ich habe ein SuSE linux 8.1 laufen, da geht es so:
>
>   ========================================================================
>   # If you just want to do masquerading without filtering, ignore this
>   # script
>   # and run this line (exchange "ippp0" "ppp0" if you use a modem, not
>   # isdn):
>   iptables -A POSTROUTING -t nat -j MASQUERADE -o ippp0
>   echo 1 > /proc/sys/net/ipv4/ip_forward
>   # and additionally the following lines to get at least a minimum of
>   # security:
>   iptables -A INPUT -j DROP -m state --state NEW,INVALID -i ippp0
>   iptables -A FORWARD -j DROP -m state --state NEW,INVALID -i ippp0
>   #
>   ========================================================================
>   Dies ist ein Ausschnitt aus der Datei /etc/sysconfig/SuSEfirewall2
Ich habe jetzt mal die 4 Zeilen ausprobiert und bei den letzten beiden 
schüttelt sich die gentoo-Kiste.
#!/bin/sh
/sbin/iptables -t nat -A POSTROUTING -j MASQUERADE -o ippp0
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -A INPUT -j DROP -m state --state NEW,INVALID -i ppp0
/sbin/iptables -A FORWARD -j DROP -m state --state NEW,INVALID -i ppp0

Fehlermeldung:
iptables: No chain/target/match by that name
hab noch den schalter -v entdeckt und dann kommt folgende Ausgabe:
MASQUERADE  all opt -- in * out ppp0  0.0.0.0/0  -> 0.0.0.0/0  
DROP  all opt -- in ppp0 out *  0.0.0.0/0  -> 0.0.0.0/0  state INVALID,NEW 
DROP  all opt -- in ppp0 out *  0.0.0.0/0  -> 0.0.0.0/0  state INVALID,NEW 

dazwischen dann die Fehlermeldungen

Kann mir das mal jemand übersetzen oder für mich ist das leider immer noch wie 
Kaffeesatz lesen ;-((


Hier schon mal die Version von iptables: 1.2.8

>
>   Andere Linuxe benutzten ipchains

Das will ich nicht mehr anfangen, weil es ja von iptables abgelöst werden 
soll, oder gibt es noch einen anderen Grund es zu benutzen, außer "Nerver 
touch a runnig system"?
Im Kernel ist für iptables auch schon einiges aktiviert.

weiterhin ratlos

Peter





Mehr Informationen über die Mailingliste linux-l