Seite 1 von 1

DSL-Verbindung unter Ubuntu freigeben (WIe ICS möglich?)

Verfasst: 21.03.2009, 23:20
von kne
Guten Abend Freunde,

ich möchte gern mit meiner Playstation über meinen Ubuntu-PC ins Internet. Das ging früher sehr einfach unter Windows mit Internet Connection Sharing. Mit meinem neuen, besseren Betriebssystem scheint sich dieses Unterfangen etwas schwieriger zu gestalten.
Ich bin zunächst nach diesem Tutorial vorgegangen, was ich auch sehr leich verständlich fand und in der Umsetzung keine Probleme dargestellt hat: Ubuntuusers.de - Router

Leider führt das dann dazu, dass die DSL-Verbindung (ppp0) dann zwar noch einwählt, aber weder eth0 (NIC für DSL-Verbindung) noch eth1 (NIC zur Playstation) eine IP-Adresse haben und wenn man sie manuell definiert, nicht erhalten bleiben und dass dann zwar scheinbar geroutet wird, jedoch ins Nirvana und dann weder an der PS3 etwas ankommt, noch dass ich selbst an meinem PC noch irgendetwas senden oder empfangen kann.

Ich brauche nun konstruktive Vorschläge, wie ich entweder oben genannte Methode zum Laufen bringe, oder das Ganze evtl. ohne einen DHCP mit festen IP-Adressen bewerkstelligen kann, sodass PC und PS3 gleichzeitig online sein können.

Verfasst: 22.03.2009, 01:18
von fame

Verfasst: 22.03.2009, 01:27
von vogelmann

Verfasst: 22.03.2009, 03:04
von kne
Leider bringt mich das auch nicht wirklich weiter.

Das erste, kurze Tutorial ist leider veraltet und die iptables-Befehle sind teilweise nicht mehr zutreffend, jedoch habe ich zunächst alle alten iptables-Regeln mit

Code: Alles auswählen

iptables -F
iptables -t nat -F
iptables -t mangle -F

iptables -X
iptables -t nat -X
iptables -t mangle -X
gelöscht.

Dann bin ich wie in dem anderen Tutorial beschrieben vorgegangen und habe zunächst eth1 konfiguriert, welche die Verbindung zur Konsole darstellt.

/etc/network/interfaces sieht folgendermaßen aus:

Code: Alles auswählen

auto lo
iface lo inet loopback
auto eth1
iface eth1 inet static
        address 192.168.0.1
        netmask 255.255.255.0
        broadcast 192.168.0.0
        network 192.168.0.0
Die Verbindung zum Internet, also ppp0 über eth0 wird hier allerdings in dem Tutorial zunächst nirgends erwähnt, was mich ehrlich gesagt stutzig macht.

Anschließend habe ich in /etc/sysctl.conf

Code: Alles auswählen

net.ipv4.ip_forward
auf 1 gestellt und den Befehl dann noch im Terminal ausgeführt, damit ich nicht neustarten muss und es wurde dann auch auf 1 angezeigt.
Als letzter Schritt ist hier das Setzen von

Code: Alles auswählen

/sbin/iptables -P FORWARD ACCEPT
und
/sbin/iptables --table nat -A POSTROUTING -o eth0 -j MASQUERADE
mit Eintragung derer in /etc/rc.local, wo eth0 zum ersten Mal überhaupt auftaucht. (Im Tutorial ist die Verteilung eth0 und eth1 genau umgekehrt wie bei mir, dort ist eth0 LAN und eth1 die Internetverbindung.)

So, nun ist es zwar so, dass ich am PC nachwievor online bin, aber zur Playstation dringt außer ping nichts durch.

Wie gehts weiter?

Verfasst: 22.03.2009, 12:56
von vogelmann
Aus einem alten Kofler (Kernel 2.4):
Als root:

Code: Alles auswählen

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -P FORWARD DROP
iptables -A FORWARD -i eth1 -o ppp0 -j ACCEPT
iptables -A FORWARD -i ppp0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Mit den Interfaces musste kucken.

Verfasst: 22.03.2009, 13:20
von kne
Original geschrieben von vogelmann
Aus einem alten Kofler (Kernel 2.4):
Als root:

Code: Alles auswählen

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -P FORWARD DROP
iptables -A FORWARD -i eth1 -o ppp0 -j ACCEPT
iptables -A FORWARD -i ppp0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Mit den Interfaces musste kucken. [/b]
Hat funktioniert, nachdem ich an der PS3 die IP für den DNS korrigiert habe.
Nun kann ich zwar mit dem Browser online, jedoch der Login zum PSN funktioniert nicht. :sad:

Verfasst: 15.09.2010, 11:38
von Spiritargh
Ähnliches Problem, daher mal kein neuer Thread:

Ich will mein Android-Handy über einen WLAN-AP an meinem PC über eth0 meines PC ins Internet lassen. Wlan funktioniert soweit, aber mehr auch nicht. Ich benutze Archlinux. rc.conf Netzwerkkrams:
eth0="eth0 192.168.0.50 netmask 255.255.255.0 broadcast 192.168.0.255"
INTERFACES=(eth0)
gateway="default gw 192.168.0.1"
ROUTES=(gateway)
Nachdem ich zuerst versucht hatte eine Bridge zwischen wlan0 und eth0 zu machen und kläglich gescheitert bin, jetzt der Versuch mit iptables.

Ich habe dem Handy eine statische IP (192.168.0.61) gegeben. Gateway und DNS1 sind mein PC (.50), (DNS2 ist 8.8.8.8), das sollte dieser dann ggf doch zum Router (.1) forwarden oder?

Die Befehle im Zitat oben habe ich verändert, so dass "out" mein eth0 und "in" das wlan0 sind. Das stimmt doch schonmal oder?

Nun sehe ich mit Wireshark DNS-Anfragen an den PC, aber keine Antworten (sowohl mein Router als auch mein PC haben einen DNS laufen).
Wenn ich versuche, einen HTTP-Server (.60) im Netzwerk zu erreichen, sehe ich ARP Broadcast "Who has 192.168.0.123", aber wieder keine Antworten. Manchmal sendet das Fon die Anfrage direkt an den PC, dann gibt dieser auch prompt eine Antwort. Wird nach der IP des PC gefragt, dann antwortet dieser auch sofort.

Beispiel, wenn ich versuche auf dem Handy http://www.google.de zu besuchen:

Bild


edit: Hm, ein Stückchen schlauer. .50 ARP-fragt auch, wer .61 ist und bekommt keine Antwort von Handy.

Verfasst: 18.09.2010, 17:02
von Spiritargh
Oh mann...

Ich hatte vorher mit einer Bridge herumprobiert. Und irgendwo sitzt die noch im System. Sobald ich sie lösche, geht alles wunderbar. Jemand eine Ahnung, wie ich die wirklich los werde? bridge-utils löschen hat nichts gebracht, nach einem Reboot war sie wieder da.

edit: Sie kam von meiner hostap config... :)

So klappt's:

PC:
echo 1 > /proc/sys/net/ipv4/ip_forward
ifconfig wlan0 192.168.1.1 netmask 255.255.255.0 up
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o wlan0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
hostapd -d configdatei
Android:
IP: 192.168.1.123
Gateway: 192.168.1.1
DNS: 192.168.1.1
Man muss wohl verschiedene Subnetze haben, sonst geht NAT garnicht.