Ubuntu-Router

Aus Programmers Guide

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Einen Router mit Ubuntu realisieren / IP-Forward und Squid-Cache

Um einen Router unter Ubuntu zu realisieren bedarf es einer besondenderen Konfiguration.

Squid-Cache

Zunächst setzen wir den Proxyserver Squid auf. Um diesen nun aber nicht jedem Klienten mitteilen zu müssen betreiben wir diesen als transparenten Proxyserver.
Das bedeutet, dass dieser anonym im Hintergrund arbeitet, ohne das der Nutzer etwas davon mitbekommt.
Somit besteht die Möglichkeit den Datenverkehr mitzuschneiden und über den Squid-Cache zu puffern/beschleunigen.


HTTP-Traffic zum Squid-Cache umleiten (flüchtige Lösung)

Aller eingehender TCP-Datenverkehr muss zum Squid-Port weitergeschoben werden:
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
Um diese Regel beim Systemstart anzuwenden, speichern wir diese in der rc.local
sudo vim /etc/rc.local
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables --table nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128


IP-Forward im Kernel aktivieren (statische Lösung)

Natürlich muss in den Systemeinstellung das Weiterleiten vin IP-Paketen aktiviert werden:

sudo vim /etc/sysctl.conf
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
 
# Uncomment the next line to enable packet forwarding for IPv6
#net.ipv6.conf.all.forwarding=1

Allen anderen Datenverkehr durchreichen (statische Lösung)

sudo vim /etc/rc.local
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables --table nat -A POSTROUTING -o eth0 -j MASQUERADE
Persönliche Werkzeuge