Benutzer-Werkzeuge

Webseiten-Werkzeuge


Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
openvpn_gateway [2013/03/09 02:26]
mwarning
openvpn_gateway [2014/10/07 11:04] (aktuell)
mwarning [DNS-Forwading]
Zeile 4: Zeile 4:
 Hier eine Liste von Kandidaten: https://​torrentfreak.com/​vpn-services-that-take-your-anonymity-seriously-2013-edition-130302/​ Hier eine Liste von Kandidaten: https://​torrentfreak.com/​vpn-services-that-take-your-anonymity-seriously-2013-edition-130302/​
  
-**Installation von OpenVPN**+====== ​Installation von OpenVPN ​======
  
   apt-get install openvpn   apt-get install openvpn
Zeile 13: Zeile 13:
  
   update-rc.d -f openvpn remove   update-rc.d -f openvpn remove
 +
 +Die Konfiguration ist abhängig vom VPN-Anbieter,​ Im folgenden werden ​
 +[[http://​mullvad.net|Mullvad]] und [[http://​ipredator.se|IPredator]] behandelt,
 +
 +**Mullvad**
  
 Die Konfiguration für OpenVPN kommt vom VPN-Anbieter in Form einer komprimierten Die Konfiguration für OpenVPN kommt vom VPN-Anbieter in Form einer komprimierten
Zeile 22: Zeile 27:
  
 In der Konfigurationsdatei /​etc/​openvpn/​1234.conf In der Konfigurationsdatei /​etc/​openvpn/​1234.conf
-müssen die beiden Zeilen die mit "​up"​ und "​down"​ beginnen auskommentiert werden.+müssen die beiden Zeilen die mit "​up"​ und "​down"​ beginnen auskommentiert werden ​und der dev-name in vpn_exit geändert werden: 
 +  dev vpn_exit 
 Zusätzlich werden ​ Einstellungen hinzugefügt:​ Zusätzlich werden ​ Einstellungen hinzugefügt:​
  
Zeile 57: Zeile 64:
   #set new gateway for the vpn network   #set new gateway for the vpn network
   ip route add default via "​$vpn_gateway"​ dev "​$vpn_interface"​ table vpn   ip route add default via "​$vpn_gateway"​ dev "​$vpn_interface"​ table vpn
-  ip rule add dev "​$mesh_interface"​ table vpn+  ip rule add dev "​$mesh_interface"​ table vpn prio 32565
   ip route add 127.0.0.0/8 dev lo table vpn   ip route add 127.0.0.0/8 dev lo table vpn
   ip route flush cache   ip route flush cache
Zeile 67: Zeile 74:
   iptables --table nat --append POSTROUTING --out-interface "​$vpn_interface"​ -j MASQUERADE   iptables --table nat --append POSTROUTING --out-interface "​$vpn_interface"​ -j MASQUERADE
   ​   ​
 +
 +**IPredator**
 +
 +Für IPredator wird folgendes update-route Script (/​etc/​openvpn/​update-route) benötigt:
 +  #!/bin/sh
 +  ​
 +  IP=$4
 +  mesh_interface=br-mesh
 +  ​
 +  BASE="​$(echo $IP | cut -d. -f1-3)"​
 +  LSV="​$(echo $IP | cut -d. -f4)"
 +  ​
 +  if test $LSV -gt 128; then
 +        LSV=128
 +  else
 +        LSV=0
 +  fi
 +  ​
 +  echo $LSV
 +  ​
 +  GW=$BASE.$((LSV+1))
 +  SERVER=$BASE.$((LSV+2))
 +  ​
 +  ip route add $SERVER/32 via 134.255.239.1
 +  ​
 +  ip route del 0.0.0.0/1 table 100
 +  ip route del 128.0.0.0/1 table 100
 +  ​
 +  ip route add 0.0.0.0/1 via $GW table 100 metric 100
 +  ip route add 128.0.0.0/1 via $GW table 100 metric 100
 +  ​
 +  ip rule add dev "​$mesh_interface"​ table vpn prio 32765
 +  ​
 +  echo 1 > /​proc/​sys/​net/​ipv4/​ip_forward
 +  ​
 +  iptables --append FORWARD --in-interface "​$mesh_interface"​ -j ACCEPT
 +  #Enable MASQUERADE to function as a NAT router
 +  iptables --table nat --append POSTROUTING --out-interface "​$vpn_interface"​ -j MASQUERADE
 +  ​
 +  exit 0
 +
  
 Die Datei muss noch ausführbar gemacht werden: Die Datei muss noch ausführbar gemacht werden:
Zeile 74: Zeile 122:
 Zugriff auf dem Server per ssh aus dem Freifunknetz (über bat0) ist weiterhin möglich. Zugriff auf dem Server per ssh aus dem Freifunknetz (über bat0) ist weiterhin möglich.
 Um den Zugriff zu verhindern bitte "​iptables -A INPUT -p tcp -i bat0 --dport 22 -j DROP" einfügen. Um den Zugriff zu verhindern bitte "​iptables -A INPUT -p tcp -i bat0 --dport 22 -j DROP" einfügen.
 +
 +====== DNS-Forwading ======
 +Jedes Gateway muss auch DNS-Anfragen auflösen können. Dazu gehören die im Internet bekannten
 +sowie Freifunk-Internet TLDs (Top Level Domains).
 +Dafür bietet sich dnsmasq an:
 +
 +   ​apt-get install dnsmasq
 +
 +/​etc/​dnsmasq.conf:​
 +  listen-address=10.29.132.192 #FF-Interne Adresse des Gateways
 +  server=/​dn42/​fdef:​17a0:​ffb1:​0:​50e2:​8fff:​fe0a:​c198
 +  server=/​22.172.in-addr.arpa/​fdef:​17a0:​ffb1:​0:​50e2:​8fff:​fe0a:​c198
 +  server=/​23.172.in-addr.arpa/​fdef:​17a0:​ffb1:​0:​50e2:​8fff:​fe0a:​c198
 +  server=/​ffhl/​fdef:​17a0:​ffb1:​0:​50e2:​8fff:​fe0a:​c198
 +  server=/​hack/​fdef:​17a0:​ffb1:​0:​50e2:​8fff:​fe0a:​c198
 +  server=/​ffa/​fdef:​17a0:​ffb1:​0:​50e2:​8fff:​fe0a:​c198
 +  server=/​ffc/​fdef:​17a0:​ffb1:​0:​50e2:​8fff:​fe0a:​c198
 +  server=/​ffki/​fdef:​17a0:​ffb1:​0:​50e2:​8fff:​fe0a:​c198
 +  server=/​ffhh/​fdef:​17a0:​ffb1:​0:​50e2:​8fff:​fe0a:​c198
 +  server=/​ffhb/​fdef:​17a0:​ffb1:​0:​50e2:​8fff:​fe0a:​c198
 +  server=/​196.10.in-addr.arpa/​fdef:​17a0:​ffb1:​0:​50e2:​8fff:​fe0a:​c198
 +  server=/​c.2.f.0.9.1.1.5.f.2.d.f.ip6.arpa/​fdef:​17a0:​ffb1:​0:​50e2:​8fff:​fe0a:​c198
 +  server=/​ffbi/​fdef:​17a0:​ffb1:​0:​50e2:​8fff:​fe0a:​c198
 +  server=/​29.10.in-addr.arpa/​fdef:​17a0:​ffb1:​0:​50e2:​8fff:​fe0a:​c198
 +  server=/​0.0.0.1.b.f.f.0.a.7.1.f.e.d.f.ip6.arpa/​fdef:​17a0:​ffb1:​0:​50e2:​8fff:​fe0a:​c198
 +
 + ​**TODO:​** Diese Konfiguration leak DNS-request direkt ins Internet anstatt über das VPN!