Benutzer-Werkzeuge

Webseiten-Werkzeuge


Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
openvpn_gateway [2013/02/27 23:04]
mwarning angelegt
openvpn_gateway [2014/10/07 11:04] (aktuell)
mwarning [DNS-Forwading]
Zeile 1: Zeile 1:
  
-**Installation ​von N2N**+Eine Verbindung ins Ausland ist die einfache Methode das Problem mit der Mitstöhrerhaftung zu umgehen. 
 +Dafür sollte ein geeigneter VPN-Service-Provider ausgewählt werden. 
 +Hier eine Liste von Kandidaten: https://​torrentfreak.com/​vpn-services-that-take-your-anonymity-seriously-2013-edition-130302/​
  
-  apt-get install subversion +====== ​Installation von OpenVPN ​======
-  apt-get install libssl-dev +
-  svn co https://​ntop.org/​svn/​ntop/​trunk/​n2n/​n2n_v2/​ +
-  cd n2n_v2 +
-  make && make install +
-   +
-   +
-   +
-   +
-**Installation von OpenVPN**+
  
   apt-get install openvpn   apt-get install openvpn
Zeile 20: 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 29: 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 62: Zeile 62:
   while ip route del default table vpn &> /dev/null; do true; done   while ip route del default table vpn &> /dev/null; do true; done
   ​   ​
-  #set new gateway ​in openvon ​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 flush cache   ip route flush cache
   ​   ​
Zeile 73: 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 80: 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!