Da ich gerade umgezogen bin und noch keinen festen Internet Anschluss haben, musste ich mir erstmal mit meinem UMTS Stick behelfen. Zum surfen reicht das ja alle mal…. doch was mach ich mit meiner PS3? 😉
Um die auch über den UMTS Stick laufen zu lassen, habe ich als erstes einen DHCP Server installiert, sowie einige Änderungen an den Standard Einstellungen vorgenommen.
Notebook Netzwerkkarte: eth0
UMTS-Stick: ppp0
DHCP einrichten
apt-get install dhcp3-server
/etc/default/dhcp3-server INTERFACES="eth0"
/etc/dhcp3/dhcpd.conf subnet 10.5.5.0 netmask 255.255.255.0 { range 10.5.5.2 10.5.5.254; option domain-name-servers 8.8.8.8, 8.8.4.4; option routers 10.5.5.1; # option broadcast-address 10.5.5.255; default-lease-time 600; max-lease-time 7200; } host vostro3300 { hardware ethernet f0:4d:a2:86:c8:ff; fixed-address 10.5.5.1; } host ps3 { hardware ethernet 00:24:8d:4a:b3:bc; fixed-address 10.5.5.2; }
Der lokalen Netzwerkkarte eth0 habe ich über den Network-Manager von gnome die IP 10.5.5.1 zugewiesen und anshließend den DHCP Server gestartet.
/etc/init.d/dhcp3-server start
Routing/iptables
Nun kommt das Routing. Die PS3 soll ja schließlich auch Zugriff auf das Internet erhalten
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf #echo "net.ipv4.conf.default.forwarding = 1" >> /etc/sysctl.conf #echo "net.ipv4.conf.all.forwarding = 1" >> /etc/sysctl.confsysctl -p
Nun noch das Masquerading für ausgehende Pakete
iptables -A FORWARD -o ppp0 -i eth0 -s 10.5.5.0/24 -m conntrack --ctstate NEW -j ACCEPT iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A POSTROUTING -t nat -j MASQUERADE
UPNP
UPNP ermöglicht es Netzwerkgeräten die notwendigen Firewallanpassungen automatisch vorzunehmen, darauf möchte ich natürlich nicht verzichten.
apt-get install linux-igd route add -net 239.0.0.0 netmask 255.0.0.0 eth0 upnpd eth1 eth0
Nun ist soweit alles die Firewallregeln, sowei der upnpd müssen zwar händisch gestartet werden, jedoch lässt sich das auch alles per Skript gestalten. Da ich nicht immer meine PS3 eingeschaltet habe, müssen die Dienste auch nicht immer laufen.
/etc/upnpd.conf upnp_log_filename = "/var/log/upnpd.log";
Testen
Ob das ganze nun funktioniert hat, kann jetzt getestet werden. Dazu einfach auf der Playstation den Internet-Test anwerfen und schauen was passiert.
Ob die upnpd die Firewall Regeln korrekt erweitert hat, lässt sich wie folgt heraus finden:
iptables -t nat -L
Probleme
Ich hatte bei meinem UMTS-Stick das Problem, dass die PS3 zwar die Internetverbindung erkannt hat, jedoch keine Geschwindigkeiten der Verbindung ermitteln konnte. Grund war ein uneinheitlicher MTU Wert. Ich musste von 1500 (default bei vielen devices) manuell auf 1492 umstellen.
ifconfig eth0 mtu 1492 ifconfig ppp0 mtu 1492 * und manuell auf der PS3, im Punkt Netzwerk