123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- ## Feste IP Adresse Anlegen
- Um Fehler auszuschließen am besten statische IP-Adressen benutzen, die außerhalb des Bereiches vom lokalen DHCP-Servers (zB. F!Box) liegen.Default route dann manuell zum lokalen uplink gateway (zB zur F!Box) setzen.
- Konfiguration rebootfest machen (/etc/rc.conf bei BSD, /etc/network/interfaces bei Debian). Die im Folgenden als Beispiel verwendeten private-IP-Adressen natürlich durch die real konfigurierten ersetzen. Wenn man die Netzwerkkonfiguration der APU versemmelt und nicht mehr per ssh drankommt, gibt's ja zum Glück noch die serielle
- Verbindung:-)
- In meinem Fall habe ich mich entschieden für die Adressen:
-
- Apu (Debian) : 192.168.1.100
- Laptop : 192.168.1.99
- Einzelheiten zu der Datei interfaces sind [hier](https://wiki.ffdo.de/_edit/Community/Bildung/FF@home/Debian10%20mit%20Tinc%20und%20Bird) zu finden.
- ## Für die Datenweitergabe zwischen den Netzen ist der folgende Eintrag nötig.
- /etc/sysctl.conf
- # Uncomment the next line to enable packet forwarding for IPv4
- net.ipv4.ip_forward=1
- ## Verzeichnisstruktur anlegen
- sudo mkdir -p /etc/tinc/lan/hosts/ # für ein lokales Netz
- sudo mkdir -p /etc/tinc/wan/hosts/ # für ein Netz mit öffentlicher ip
- Unter OpenBSD sind die Pfade hier zu finden: @hoerde:/usr/local/etc/tinc/...
- Der Parameter -p unterdrückt die Anzeige eines Fehlers, wenn /lan/ und/oder /hosts/ schon vorhanden sind; sonst werden die Verzeichnisse lan und hosts erzeugt.
- ## Konfigurationsdateien "lan" und "wan" anlegen
- Nun müssen eine Reihe von Konfigurationsdateien und -scripten angelegt werden damit Tinc ordnungsgemäß
- seinen Dienst verrichtet.
- Die Inhalte und das Vorgehen werden weiter unten beschrieben.
- "apu" und "laptop" müssen entsprechend der [ip-Liste](https://wiki.ffdo.de/Community/Bildung/FF@home/IP-Adressen)
- umbenannt werden in z.B. "berghofen" und "berglap"
- - /etc/tinc/lan/tinc.conf
- - /etc/tinc/lan/rsa_key.priv (wird mit tincd erzeugt)
- - /etc/tinc/lan/tinc-up
- - /etc/tinc/lan/hosts/apu
- - /etc/tinc/lan/hosts/laptop
- Dabei sind hosts/apu und hosts/laptop auf beiden Geräten identisch, die anderen gerätespezifisch.
- Der Pfad lautet entweder /etc/tinc/lan/ oder /etc/tinc/wan/.
- ## Tinc-Konfigurationsdatei
- vi /etc/tinc/lan/tinc.conf
- tinc Instanz aufsetzen (Beschreibung für tinc 1.0.x) Tipp! Für das Übertragen der Einstellungen am besten jeweils mit dem Befehl "cat" arbeiten.
- Für die tinc-Instanz mit dem Namen "lan" ungefähr Folgendes in die config Datei vi etc/tinc/lan/tinc.conf schreiben:
- Name = apu
- Device = /dev/net/tun
- Mode = switch
- AddressFamily = ipv4
- BindToAddress = 192.168.1.100
- Port = 10001
- MaxTimeout = 30
- GraphDumpFile = /var/run/tinc.lan.dot
- #LocalDiscovery = yes
- ConnectTo = laptop # z.B. berglap
- Und auf dem Laptop ähnliche Daten, bis auf: "Name,BindToAddress und ConnectTo".
- Name = laptop
- Device = /dev/net/tun
- Mode = switch
- AddressFamily = ipv4
- BindToAddress = 192.168.1.99
- Port = 10001
- MaxTimeout = 30
- GraphDumpFile = /var/run/tinc.lan.dot
- #LocalDiscovery = yes
- ConnectTo = apu # z.B. berghofen
- ## Auf beiden Geräten die Schlüsselpaare generieren:
- Anmerkung: bei mir funktionierte der Befehl nur mit Angabe des Pfades.
- tincd -n lan -K 4096 oder mit Pfad
- /usr/sbin/tincd -n lan -K 4096
- ebenso für wan:
- tincd -n wan -K 4096
- Die Ausgabe sieht etwa so aus:
- Generating 4096 bits keys:
- .............................................................................
- .............................................................................
- ............................................................................................++++ p
- ...........................................................++++ q
- Done.
- Please enter a file to save private RSA key to [/etc/tinc/lan/rsa_key.priv]:
- ...
- ## /etc/tinc/lan/tinc-up und /etc/tinc/wan/tinc-up erstellen
- In tinc.conf haben wir das Device /dev/net/tun festgelegt. Dieses wird unter Debian beim Aufruf von tincd erstellt
- und muss aktiviert werden. Dies geschieht mit der Datei tinc-up.
-
- `!/bin/sh`
- `IP=193.43.220.165`
- `NETLEN=27`
-
- `ip a add $IP/$NETLEN brd 193.43.220.191 dev $INTERFACE`
- `ip link set $INTERFACE mtu 1504 up`
- IP=193.43.220.165 # Die Variable IP für das wan wird gesetzt.
- IP=192.168.40.1 # Die Variable IP für das lan wird gesetzt.
- Die öffentliche ip ist die des tun Gerätes für das wan. Debian erstellt 2 unabhängige Geräte tun,
- einmal im Verzeichnis /etc/tinc/lan/ für das lan und dann für das wan, beide müssen aktiviert werden.
- Die ip für das tun im lan ist z.B. 192.168.40.1
- NETLEN=27
- Die Variable $NETLEN wird gesetzt, sie bestimmt die Netzgröße 193.40.220.160 - 193.43.220.191.
- Im lan beträgt die Netzgröße 192.168.40.0 - 192.168.40.31 und kann auch größer gewählt werden, wenn notwendig.
- `ip a add $IP/$NETLEN brd 193.43.220.191 dev $INTERFACE`
- `ip link set $INTERFACE mtu 1504 up`
- Der Wert von INTERFACE ist wan. Die Netztmaske $ip/$NETLEN ist 193.43.220.165/27.
- Das Setzen der MTU ist besonders wichtig, voreingestellt sind 1500, hier werden aber
- wegen der vpn im Nordstadtrechner 4 Byte mehr benötigt, also 1504.
- tinc-up kann auch in der Datei interfaces abgebildet werden.
- ## Die IP-Adressen eintragen
- Dann in den public key Dateien ..
- vi /etc/tinc/lan/hosts/apu
- und
- vi /etc/tinc/lan/hosts/laptop
- die IP-Adresse des hosts oben ergänzen:
- hier zum Beispiel die Änderung für den Apu
- Address = 192.168.1.100
- Port = 10001
- für das 192er Netz und
- Address = 130.180.53.22 #hoerde
- Port = 661
- -----BEGIN RSA PUBLIC KEY-----
- MIICCgKCAgEAwirLKOYuwraf+MneMpzWqKhv8qCcZCC7yFAN2y+OnT5lXzV/LgwQ
- [...]
- Nun die Datei .../tinc/lan/hosts/apu von der APU an die gleiche Stelle
- auf dem Laptop kopieren.
- Und umgekehrt .../laptop auf die APU.
- Für das wan netz müssen entsprechend die publickey dateien der partner (hoerde, nordstadt,...) auf die APU kopiert werden.
- Genauso muss die publickey Datei der APU nach hoerde und nordstadt kopiert werden.
- ## Konfiguration rebootfest machen und starten
- `$:sudo systemctl enable tinc`
- `$:sudo systemctl enable tinc@lan`
- `$:sudo systemctl enable tinc@wan`
- und
- `$:sudo systemctl start tinc`
- `$:sudo systemctl start tinc@lan`
- `$:sudo systemctl start tinc@wan`
- ## Funktionstest
- In Debian kann man mit systemctl überprüfen, ob tinc automatisch nach einem Reboot läuft und ob es nach dem Einstellen der Schlüssel
- auch funktioniert:
- `$:sudo systemctl status tinc@lan` für das lan
- `$:sudo systemctl status tinc@wan` für das wan
- oder nach Änderungen:
- `$:sudo systemctl restart tinc@lan` für das lan
- `$:sudo systemctl restart tinc@wan` für das wan
- Falls die Fehlermeldung auftaucht: Can't write to Linux tun/tap device (tap mode) /dev/net/tun: Input/output error
- Mit `$:ip a` prüfen, ob das tun Device erstellt wurde.
- Mit `$:ls -al /dev/net/tun` prüfen, ob das Device rw ist für root.
- Laut [tinc-Manual](https://tinc-vpn.org/documentation/tinc.pdf) Seite 28:
- ‘Can’t write to /dev/net/tun: No such device’
- • You forgot to ‘modprobe tun’.
- • You forgot to compile ‘Universal TUN/TAP driver’ in the kernel.
- • The tun device is located somewhere else in /dev/.
- modprobe stellt sicher, dass das tun Device auch geladen wird, hat hier geholfen.
- Ein "systemctl restart tinc@lan oder wan" reicht nicht, am Sichersten ist ein reboot.
|