11 Tinc konfigurieren.page 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. ## Feste IP Adresse Anlegen
  2. 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.
  3. 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
  4. Verbindung:-)
  5. In meinem Fall habe ich mich entschieden für die Adressen:
  6. Apu (Debian) : 192.168.1.100
  7. Laptop : 192.168.1.99
  8. ## Verzeichnisstruktur anlegen
  9. sudo mkdir -p /etc/tinc/lan/hosts/ # für ein lokales Netz
  10. sudo mkdir -p /etc/tinc/wan/hosts/ # für ein Netz mit öffentlicher ip
  11. Unter OpenBSD sind die Pfade hier zu finden: @hoerde:/usr/local/etc/tinc/...
  12. 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.
  13. ## Konfigurationsdateien "lan" und "wan" anlegen
  14. Nun müssen eine Reihe von Konfigurationsdateien und -scripten angelegt werden damit Tinc ordnungsgemäß
  15. seinen Dienst verrichtet.
  16. Die Inhalte und das Vorgehen werden weiter unten beschrieben.
  17. "apu" und "laptop" müssen entsprechend der [ip-Liste](https://wiki.ffdo.de/Community/Bildung/FF@home/IP-Adressen)
  18. umbenannt werden in z.B. "berghofen" und "berglap"
  19. - /etc/tinc/lan/tinc.conf
  20. - /etc/tinc/lan/rsa_key.priv (wird mit tincd erzeugt)
  21. - /etc/tinc/lan/tinc-up
  22. - /etc/tinc/lan/hosts/apu
  23. - /etc/tinc/lan/hosts/laptop
  24. Dabei sind hosts/apu und hosts/laptop auf beiden Geräten identisch, die anderen gerätespezifisch.
  25. Der Pfad lautet entweder /etc/tinc/lan/ oder /etc/tinc/wan/.
  26. ## Tinc-Konfigurationsdatei
  27. vi /etc/tinc/lan/tinc.conf
  28. 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.
  29. Für die tinc-Instanz mit dem Namen "lan" ungefähr Folgendes in die config Datei vi etc/tinc/lan/tinc.conf schreiben:
  30. Name = apu
  31. Device = /dev/net/tun
  32. Mode = switch
  33. AddressFamily = ipv4
  34. BindToAddress = 192.168.1.100
  35. Port = 10001
  36. MaxTimeout = 30
  37. GraphDumpFile = /var/run/tinc.lan.dot
  38. #LocalDiscovery = yes
  39. ConnectTo = laptop # z.B. berglap
  40. Und auf dem Laptop ähnliche Daten, bis auf: "Name,BindToAddress und ConnectTo".
  41. Name = laptop
  42. Device = /dev/net/tun
  43. Mode = switch
  44. AddressFamily = ipv4
  45. BindToAddress = 192.168.1.99
  46. Port = 10001
  47. MaxTimeout = 30
  48. GraphDumpFile = /var/run/tinc.lan.dot
  49. #LocalDiscovery = yes
  50. ConnectTo = apu # z.B. berghofen
  51. ## Auf beiden Geräten die Schlüsselpaare generieren:
  52. Anmerkung: bei mir funktionierte der Befehl nur mit Angabe des Pfades.
  53. tincd -n lan -K 4096 oder mit Pfad
  54. /usr/sbin/tincd -n lan -K 4096
  55. ebenso für wan:
  56. tincd -n wan -K 4096
  57. Die Ausgabe sieht etwa so aus:
  58. Generating 4096 bits keys:
  59. .............................................................................
  60. .............................................................................
  61. ............................................................................................++++ p
  62. ...........................................................++++ q
  63. Done.
  64. Please enter a file to save private RSA key to [/etc/tinc/lan/rsa_key.priv]:
  65. ...
  66. ## /etc/tinc/lan/tinc-up und /etc/tinc/wan/tinc-up erstellen
  67. In tinc.conf haben wir das Device /dev/net/tun festgelegt. Dieses wird unter Debian beim Aufruf von tincd erstellt
  68. und muss aktiviert werden. Dies geschieht mit der Datei tinc-up.
  69. `!/bin/sh`
  70. `IP=193.43.220.165`
  71. `NETLEN=27`
  72. `ip a add $IP/$NETLEN brd 193.43.220.191 dev $INTERFACE`
  73. `ip link set $INTERFACE mtu 1504 up`
  74. IP=193.43.220.165 # Die Variable IP für das wan wird gesetzt.
  75. IP=192.168.40.1 # Die Variable IP für das lan wird gesetzt.
  76. Die öffentliche ip ist die des tun Gerätes für das wan. Debian erstellt 2 unabhängige Geräte tun,
  77. einmal im Verzeichnis /etc/tinc/lan/ für das lan und dann für das wan, beide müssen aktiviert werden.
  78. Die ip für das tun im lan ist z.B. 192.168.40.1
  79. NETLEN=27
  80. Die Variable $NETLEN wird gesetzt, sie bestimmt die Netzgröße 193.40.220.160 - 193.43.220.191.
  81. 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.
  82. `ip a add $IP/$NETLEN brd 193.43.220.191 dev $INTERFACE`
  83. `ip link set $INTERFACE mtu 1504 up`
  84. Der Wert von INTERFACE ist wan. Die Netztmaske $ip/$NETLEN ist 193.43.220.165/27.
  85. Das Setzen der MTU ist besonders wichtig, voreingestellt sind 1500, hier werden aber
  86. wegen der vpn im Nordstadtrechner 4 Byte mehr benötigt, also 1504.
  87. tinc-up kann auch in der Datei interfaces abgebildet werden.
  88. ## Die IP-Adressen eintragen
  89. Dann in den public key Dateien ..
  90. vi /etc/tinc/lan/hosts/apu
  91. und
  92. vi /etc/tinc/lan/hosts/laptop
  93. die IP-Adresse des hosts oben ergänzen:
  94. hier zum Beispiel die Änderung für den Apu
  95. Address = 192.168.1.100
  96. Port = 10001
  97. für das 192er Netz und
  98. Address = 130.180.53.22 #hoerde
  99. Port = 661
  100. -----BEGIN RSA PUBLIC KEY-----
  101. MIICCgKCAgEAwirLKOYuwraf+MneMpzWqKhv8qCcZCC7yFAN2y+OnT5lXzV/LgwQ
  102. [...]
  103. Nun die Datei .../tinc/lan/hosts/apu von der APU an die gleiche Stelle
  104. auf dem Laptop kopieren.
  105. Und umgekehrt .../laptop auf die APU.
  106. Für das wan netz müssen entsprechend die publickey dateien der partner (hoerde, nordstadt,...) auf die APU kopiert werden.
  107. Genauso muss die publickey Datei der APU nach hoerde und nordstadt kopiert werden.
  108. ## Konfiguration rebootfest machen und starten
  109. `$:sudo systemctl enable tinc`
  110. `$:sudo systemctl enable tinc@lan`
  111. `$:sudo systemctl enable tinc@wan`
  112. und
  113. `$:sudo systemctl start tinc`
  114. `$:sudo systemctl start tinc@lan`
  115. `$:sudo systemctl start tinc@wan`
  116. ## Funktionstest
  117. 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
  118. auch funktioniert:
  119. `$:sudo systemctl status tinc@lan` für das lan
  120. `$:sudo systemctl status tinc@wan` für das wan
  121. oder nach Änderungen:
  122. `$:sudo systemctl restart tinc@lan` für das lan
  123. `$:sudo systemctl restart tinc@wan` für das wan
  124. Falls die Fehlermeldung auftaucht: Can't write to Linux tun/tap device (tap mode) /dev/net/tun: Input/output error
  125. Mit `$:ip a` prüfen, ob das tun Device erstellt wurde.
  126. Mit `$:ls -al /dev/net/tun` prüfen, ob das Device rw ist für root.