c3d2-wiki/C3D2VPN.mw

92 lines
4.0 KiB
Plaintext
Raw Normal View History

2005-11-19 19:09:19 +01:00
Es gibt ein ChaosVPN mit OpenVPN, BGP, ... Details unter [http://wiki.diac24.net/ wiki.diac24.net]. Interessenten bei [[Benutzer:toidinamai|toidinamai]] melden!
2006-02-01 17:09:00 +01:00
=Mitmachen=
==Vorbereitung==
# Gucken, welcher Rechner der eigene Router sein soll
# Folgende Programme sollten dort installiert sein:
#* [http://openvpn.net/ OpenVPN] zum Tunneln ('''''tun'''tap''-Support im Betriebssystem wird benötigt)
#* [http://quagga.net/ Quagga] mit ''zebra'' und ''bgpd''
# Netznummer von [[toidinamai]] (oder [[Benutzer:Astro|Astro]]) holen
#* ChaosVPN hat die Nummern ''64..127'' vom DIAC24-Projekt erhalten
2006-02-01 17:27:53 +01:00
#* AS-Nummer ist dann ''64600+n''
2006-02-01 17:09:00 +01:00
#* Eigenes Netz ist dann bspw. ''172.22.n.0/24'' (wir wollen sparsam sein)
# Ein oder zwei erste Tunnelpartner suchen (z.B. [[toidinamai]] oder in ''irc.spaceboyz.net #spaceboyz'' fragen)
==Tunneln==
Wenn zwei Teilnehmer nicht direkt verbunden sind, dann muss ein ''virtuelles Netzwerk'' über einen Tunnel hergestellt werden. Das geht zum Beispiel per ''GRE'' oder ''OpenVPN''.
===OpenVPN===
2006-02-01 17:39:04 +01:00
====Schlüssel erzeugen====
'''Einer''' erzeugt einen OpenVPN-Schlüssel, für den Tunnel zwischen Nummer 16 und 104 bspw.:
2006-02-01 17:39:04 +01:00
openvpn --genkey --secret dc16-dc104.key
Dieser muss dem Partner gegeben werden, denn beide verwenden für den Tunnel zwischen ihnen den selben Key.
2006-02-01 17:39:04 +01:00
====Config anlegen====
Das sind nur ungefähre Richtlinien:
2006-02-01 17:40:49 +01:00
<pre>mode p2p # Peer-to-peer-Modus
remote 10.255.1.233 # Peer-Adresse, kann auch DNS sein
lport 2399 # Lokaler Port
rport 2301 # Remote-Port
proto udp # ...über UDP
2006-02-01 17:39:04 +01:00
dev-type tun
2006-02-01 17:40:49 +01:00
dev tun104 # Interfacename, darf unter Linux beliebig sein
tun-ipv6 # Wir wollen IPv6 können
comp-lzo # Komprimierung
cd /usr/local/etc/openvpn # Hier finden wir den Key
secret dc16-dc104.key # Name des Keys
user nobody # Unter diesen Rechten soll OpenVPN laufen
group nobody # ...dito
persist-key # Bei Verbindungsabbruch Key nicht vergessen
persist-tun # Bei Verbindungsabbruch Interface dalassen
2006-02-01 17:39:04 +01:00
status /var/log/openvpn-status-dc104.log
log-append /var/log/openvpn-dc104.log
2006-02-01 17:40:49 +01:00
verb 1 # Verbosity
ifconfig 172.22.16.1 172.22.104.1 # Adresseinstellung lokal-remote *im* Tunnel
2006-02-01 17:39:04 +01:00
</pre>
2006-02-01 18:51:31 +01:00
Jetzt steht die Verbindung. Nun muss noch dafür gesorgt werden, dass alle Netze allen bekannt gemacht werden...
2006-02-01 17:09:00 +01:00
==BGP-Peering==
2006-02-01 18:51:31 +01:00
===zebra konfigurieren===
'''zebra''' bildet die Schnittstelle zwischen den Quagga-Routingdaemonen und dem Betriebssystem. Weiterhin kann man noch die (statische) Adresskonfiguration der Interfaces darüber machen, aber vielleicht will man das lieber von seiner Distribution gemacht haben.
2006-02-01 19:03:31 +01:00
====Eine minimale /usr/local/etc/quagga/zebra.conf====
<pre>hostname shniftmachine
2006-02-01 19:03:31 +01:00
password superstrenggeheimespasswort</pre>
Dann den Daemon starten:
zebra -df /usr/local/etc/quagga/zebra.conf
Der Daemon öffnet einen Port, über den man ihn konfigurieren kann. Bei Gelegenheit wegfirewallen.
Jetzt kann getestet werden:
<pre>% telnet localhost 2601
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Hello, this is Quagga (version 0.98.4).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
User Access Verification
Password:
ISP> sh
ISP> show int
ISP> show interface tun99
Interface tun99 is up, line protocol detection is disabled
index 12 metric 1 mtu 1500 <UP,POINTOPOINT,RUNNING,MULTICAST>
inet6 fe80::250:bfff:fe41:5e57/64 pointopoint ::
inet 172.22.16.1/32 pointopoint 172.22.99.1
input packets 371, bytes 59096, dropped 0, multicast packets 0
input errors 0
output packets 448, bytes 38804, multicast packets 4
output errors 0
collisions 0
ISP> </pre>