Ubuntu-Router
Aus Programmers Guide
(Unterschied zwischen Versionen)
Roy (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Einen Router mit Ubuntu realisieren / IP-Forward und Squid-Cache<br> == Um einen Router unter Ubuntu zu realisieren bedarf es einer besondenderen Konfiguratio…“) |
Roy (Diskussion | Beiträge) |
||
Zeile 1: | Zeile 1: | ||
- | == Einen Router mit Ubuntu realisieren / IP-Forward und Squid-Cache<br> == | + | == Einen Router mit Ubuntu realisieren / IP-Forward und Squid-Cache<br> == |
- | Um einen Router unter Ubuntu zu realisieren bedarf es einer besondenderen Konfiguration.<br> | + | Um einen Router unter Ubuntu zu realisieren bedarf es einer besondenderen Konfiguration.<br> |
- | <br> | + | Squid-Cache<br> |
- | + | 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.<br> Das bedeutet, dass dieser anonym im Hintergrund arbeitet, ohne das der Nutzer etwas davon mitbekommt.<br> Somit besteht die Möglichkeit den Datenverkehr mitzuschneiden und über den Squid-Cache zu puffern/beschleunigen.<br> <br> | |
- | + | <br> | |
- | + | ||
- | + | ||
- | <br> | + | |
- | === | + | === HTTP-Traffic zum Squid-Cache umleiten (flüchtige Lösung) === |
- | Natürlich muss in den Systemeinstellung das Weiterleiten vin IP-Paketen aktiviert werden:<br> | + | Aller eingehender TCP-Datenverkehr muss zum Squid-Port weitergeschoben werden:<br> <source lang="bash"> |
+ | sudo iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 | ||
+ | </source> Um diese Regel beim Systemstart anzuwenden, speichern wir diese in der rc.local <source lang="bash"> | ||
+ | sudo vim /etc/rc.local | ||
+ | </source> <source lang="bash"> | ||
+ | /sbin/iptables -P FORWARD ACCEPT | ||
+ | /sbin/iptables --table nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 | ||
+ | </source> | ||
+ | |||
+ | <br> | ||
+ | |||
+ | === IP-Forward im Kernel aktivieren (statische Lösung) === | ||
+ | |||
+ | Natürlich muss in den Systemeinstellung das Weiterleiten vin IP-Paketen aktiviert werden:<br> | ||
<source lang="bash"> | <source lang="bash"> | ||
sudo vim /etc/sysctl.conf | sudo vim /etc/sysctl.conf | ||
- | </source> | + | </source> |
<source lang="bash"> | <source lang="bash"> | ||
Zeile 26: | Zeile 36: | ||
# Uncomment the next line to enable packet forwarding for IPv6 | # Uncomment the next line to enable packet forwarding for IPv6 | ||
#net.ipv6.conf.all.forwarding=1 | #net.ipv6.conf.all.forwarding=1 | ||
- | </source | + | </source> |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
+ | === Allen anderen Datenverkehr durchreichen (statische Lösung) === | ||
+ | <source lang="bash"> | ||
+ | sudo vim /etc/rc.local | ||
+ | </source> | ||
<source lang="bash"> | <source lang="bash"> |
Version vom 07:31, 16. Nov. 2011
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
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