[Science] wifi traffic an tor routen
Richard Ulrich
richi at paraeasy.ch
Thu Mar 10 00:18:29 CET 2011
Hallo,
ich habe erst vor kurzem angefangen mit olsr zu pröbeln.
Mein kleines Mesh läuft (alix mit ubuntu server / freerunner mit
qtmoko / netbook mit ubuntu).
Jetzt möchte ich noch den uplink einrichten. Ich will allen traffic aus
dem mesh über tor routen. Damit hoffe ich dass ich keinen Ärger kriege,
wenn jemand über meine Leitung etwas illegales macht.
Eigentlich geht es mir dabei gar nicht so um die anonymität, sondern
mehr um diese rechtlichen Konsequenzen. Daher denke ich, kann ich DNS
und UDP direkt durchlassen, oder?
Nun bin ich schon drei Abende an den iptables am fummeln, aber bisher
ohne Erfolg.
Lorenz von openwireless.ch sagte mir, die Berliner Freifunker hätten
solche TOR uplinks in Betrieb.
Kleine Zusatzfrage: Kann ich den tor v0.2.1.30 so wie er standardmässig
aus dem ubuntu repository kommt überhaupt als transparenten proxy
brauchen?
Mit "links2 -socks-proxy localhost:9050 paraeasy.ch" funktioniert der.
Aber gibt es da eien Unterschied zwischen dem socks proxy und dem
transparenten Proxy?
Aber bei der folgenden Seite werden Sachen beschrieben, die ich in
meiner torrc nicht finde. Z.B. TransPort gibt es bei mir nicht. Sonst
ist alles so ausführlich beschrieben und auskommentiert, dass ich denke
dass Optionen die ich neu hinzufügen würde ignoriert würden.
https://trac.torproject.org/projects/tor/wiki/TheOnionRouter/TransparentProxy
Gruss
Richi
Hier ist was ich bisher habe:
#! /bin/sh
### BEGIN INIT INFO
# Provides: Iptables rules for Tor configuration
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Iptables rules for Tor configuration
# Description: Längere Bechreibung
### END INIT INFO
# Author: Name <richi at paraeasy.ch>
# Source:
http://forum.ubuntuusers.de/topic/iptables-und-http/#post-2166053
# Source:
http://forum.freifunk-hannover.de/viewtopic.php?f=11&t=709&p=5295
# Source:
https://trac.torproject.org/projects/tor/wiki/TheOnionRouter/TransparentProxy
# Source:
http://www.cyberciti.biz/tips/linux-setup-transparent-proxy-squid-howto.html
# Source:
http://git.immerda.ch/?p=amnesia.git;a=blob;f=config/chroot_local-includes/etc/firewall.conf
# infos zum lokalen wlan adapter
WIFIDEV=wlan0
WIFINET=10.247.0.0
WIFIPRE=255.255.0.0
WIFIADR=10.247.200.50
# infos zum lokalen ethernet adapter der zum internet kommunizieren kann
TAPDEV=eth0
TAPADR=192.168.2.6
# short iptables help:
# -A : Append to chain
# -D : Delete matching rule from chain
# -I : Insert in chain as rulenum (default 1=first)
# -p : protocol: by number or name, eg. `tcp'
# -s : source specification [address[/mask]]
# -d : destination specification [address[/mask]]
# -j : jump to target for rule (may load target extension)
# -m : extended match (may load extension)
# -i : input network interface name
# -o : output network interface name
# -t : table to manipulate (default: `filter')
# Aktionen
case "$1" in
start)
# Alle Werte zurücksetzen
iptables -t nat -F
iptables -t nat -X
iptables -F
iptables -X
# kernel forwarding deaktivieren
echo 0 > /proc/sys/net/ipv4/ip_forward
# Default-Policies setzen
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# loopback freischalten
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Antworten auf bestehende Verbindungen erlauben
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# ssh vom kabel her erlauben um mich nicht auszusperren ;-)
iptables -A INPUT -i eth0 -p tcp --destination-port ssh -j ACCEPT
# olsr routing infos
iptables -A INPUT -i $WIFIDEV -p udp --dport 698 -j ACCEPT
iptables -A OUTPUT -o $WIFIDEV -p udp --dport 698 -j ACCEPT
# Don't let users from wifi acces this box except http, icmp and udp
iptables -A INPUT -i $WIFIDEV -d $WIFIADR -p tcp --destination-port
80 -j ACCEPT
iptables -A INPUT -i $WIFIDEV -d $WIFIADR -p udp -j ACCEPT
iptables -A OUTPUT -o $WIFIDEV -s $WIFIADR -p udp -j ACCEPT
iptables -A INPUT -i $WIFIDEV -d $WIFIADR -p icmp -j ACCEPT
iptables -A OUTPUT -o $WIFIDEV -s $WIFIADR -p icmp -j ACCEPT
iptables -A INPUT -i $WIFIDEV -d $WIFIADR -j DROP
# allen traffic vom wifi mesh an tor routen
iptables -t nat -A PREROUTING -i $WIFIDEV -p tcp -j DNAT --to
127.0.0.1:9050
# iptables -t nat -A PREROUTING -i $WIFIDEV -p tcp --syn -j REDIRECT
--to-ports 9050
iptables -t nat -A POSTROUTING -o $TAPDEV -d $TAPADR -p tcp
--dport 9050 -j MASQUERADE
iptables -I FORWARD -d $TAPADR -p tcp --dport 9050 -j ACCEPT
# Tor is allowed to do anything it wants to.
iptables -A OUTPUT -m owner --uid-owner debian-tor -j ACCEPT
# letzte Zeile
iptables -A FORWARD -j DROP
iptables -A INPUT -j DROP
echo "Iptables Regeln für Tor geladen..."
;;
stop)
# forwarding deaktivieren
echo 0 > /proc/sys/net/ipv4/ip_forward
# tor Forarding Regeln löschen!
iptables -F
iptables -t nat -F
# DEFAULT POLICY!
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
# ssh vom kabel her erlauben
iptables -A INPUT -i eth0 -p tcp --destination-port ssh -j ACCEPT
echo "Iptables Regeln für Tor gelöscht..."
;;
esac
exit 0
More information about the Science
mailing list