Преглед изворни кода

Tinc und Bird Einstellungen unter Debian

efbeff пре 4 година
родитељ
комит
76fe18da79
1 измењених фајлова са 277 додато и 0 уклоњено
  1. 277 0
      Community/Bildung/FF@home/Debian10.page

+ 277 - 0
Community/Bildung/FF@home/Debian10.page

@@ -0,0 +1,277 @@
+# Installation
+- Wird an anderer Stelle des Wiki beschrieben
+
+# Allgemein
+- Informationen auf dieser Seite sind teilweise von anderen Wiki-Seiten übernommen.
+
+Hier sollen die Schritte nach der Installation von Debian 10 (buster) zum Aufbau eines VPN mit Tinc und Bird beschrieben werden.
+Für die meisten Befehle sind root Rechte erforderlich.
+
+# Hardware
+- APU mit Buster ohne grafische Oberfläche 
+- Laptop mit Ubuntu 18.04
+
+Es werden für alle Interfaces statische IPV4 Adressen verwendet, auf dem Laptop ist auch DHCP aktiv.
+Die hier verwendeten Adressen sind dem Wiki [IP-Adressen](IP-Adressen) für berghofen entnommen.
+
+berghofen, wie auch die anderen Standorte, bestehen jeweils mindesten aus der APU und einem Laptop sowie einem Internetrouter (F!Box).
+An jedem Standort gibt es eine Tincverbindung zwischen APU und Laptop, lan genannt, und eine  Tincverbindung zwischen APU und den anderen Standorten, wan.
+
+# Software 
+- Debian 10.7 (buster), auf dem Laptop Ubuntu 18.04
+- Tinc 1.1pre17 oder tinc 1.0.36
+- Bird 2.07
+
+# Dateien der APU
+/etc/network/interfaces
+   
+    # This file describes the network interfaces available on your system
+    # and how to activate them. For more information, see interfaces(5).
+
+    source /etc/network/interfaces.d/*
+
+    # The loopback network interface
+    auto lo
+    iface lo inet loopback
+    	up ip addr add 193.43.220.130/32 dev lo
+    	up /home/fb/bin/r
+    
+    # The primary network interface
+    allow-hotplug enp1s0
+    iface enp1s0 inet static
+    	address 192.168.178.51/24
+    # gateway 192.168.178.254 #default gateway wird von bird erledigt
+    	broadcast 192.168.178.255
+    	# dns-* options are implemented by the resolvconf package, if installed
+    	dns-nameservers 192.168.178.254
+    	dns-search fritz.box
+
+    allow-hotplug wan
+    iface wan inet static
+    	address 193.43.220.162/27
+    	broadcast 193.43.220.191
+    	mtu 1504
+
+    allow-hotplug lan
+    iface lan inet static
+    	address 192.168.34.1/24
+    	broadcast 192.168.34.255
+    	mtu 1504
+
+    #allow-hotplug wlp5s0
+    #iface wlp5s0 inet dhcp
+
+# Tinc Verzeichnistruktur Tinc APU und Laptop Einstellungen
+
+
+    etc/tinc/
+    |-- lan
+    |   |-- hosts
+    |   |   |-- apu
+    |   |   `-- laptop
+    |   |-- rsa_key.priv
+    |   |-- ed25519_key.priv  ## nur bei tinc 1.1
+    |   `-- tinc.conf
+    `-- wan   ## wan Verzeichis nur auf der APU 
+        |-- hosts
+        |   |-- berghofen
+        |   |-- hoerde
+        |   `-- nordstadt
+        |-- rsa_key.priv
+        |-- ed25519_key.priv  ## nur bei tinc 1.1
+        `-- tinc.conf
+
+/etc/tinc/lan/tinc.conf
+
+    ## APU lan tinc.conf
+    Name = apu
+    Device = /dev/net/tun
+    Mode = switch
+    AddressFamily = ipv4
+    BindToAddress = 192.168.178.51
+    Port = 10001
+    MaxTimeout = 30
+    GraphDumpFile = /var/run/tinc.lan.dot
+    ConnectTo = laptop
+
+/etc/tinc/wan/tinc.conf
+
+    ## APU wan tinc.conf
+    Name = berghofen
+    Device = /dev/net/tun
+    Mode = switch
+    AddressFamily = ipv4
+    BindToaddress = 192.168.178.51
+    Port = 661
+    MaxTimeout = 30
+    GraphDumpFile = /var/run/tinc.wan.dot
+    ConnectTo = hoerde
+    ConnectTo = nordstadt
+
+Inhalt der hosts Dateien
+
+Die ED25519PublicKey Zeile existiert nur bei tinc 1.1
+
+/etc/tinc/lan/hosts/apu auf APU und laptop
+
+    Address = 192.168.178.51
+    Port = 10001
+
+    -----BEGIN RSA PUBLIC KEY-----
+     Schlüsseldaten 
+    -----END RSA PUBLIC KEY-----
+    Ed25519PublicKey = WmAmMY95+B/A9FDQz7ZiV6WQcG2qAUUclRP52dwXSdD
+
+
+/etc/tinc/lan/hosts/laptop auf APU und laptop
+
+    Address = 192.168.178.52
+    Port = 10001
+
+    -----BEGIN RSA PUBLIC KEY-----
+     Schlüsseldaten 
+    -----END RSA PUBLIC KEY-----
+    Ed25519PublicKey = WCkEAe/gohI7JAGLiHPKdE+ayxYrG1wuTfQQijAROuD
+
+
+/etc/tinc/wan/hosts/berghofen auf APU
+
+    -----BEGIN RSA PUBLIC KEY-----
+     Schlüsseldaten 
+    -----END RSA PUBLIC KEY-----
+    Ed25519PublicKey = Tkhp7t+MsmQKsWIkO5qimTKoWdkvRigKwctxtfOu2MF
+
+
+/etc/tinc/wan/hosts/hoerde auf APU
+
+    Address = 130.180.53.22
+    Port = 661
+
+    -----BEGIN RSA PUBLIC KEY-----
+     Schlüsseldaten
+    -----END RSA PUBLIC KEY-----
+    Ed25519PublicKey = MjaltxtfPP1SdHgNH/dUuHmbYDXFdZMEUUbl0Qi/YCA
+
+
+/etc/tinc/wan/hosts/nordstadt auf APU
+
+    Address = 91.204.4.53
+    Port = 661
+
+    -----BEGIN RSA PUBLIC KEY-----
+     Schlüsseldaten
+    -----END RSA PUBLIC KEY-----
+    Ed25519PublicKey = 4znU87BKnctOFb+/JQhIltGtYN3h3czOVInolRPWgvA
+
+Beide Tinc Instanzen können auf der APU parallel gestartet werden
+
+    systemctl start tinc@lan
+    systemctl start tinc@wan
+
+
+# Bird auf der APU
+
+/etc/iproute2/rt_tables  identisch auf APU / laptop
+
+    #
+    # reserved values
+    #
+    255	    local
+    254	    main
+    253	    default
+    0	    unspec
+    #
+    # local
+    #
+    1       tinc
+
+
+- Die bird.conf des laptops ist bis auf andere IP adressen und der fehlende Eintrag für interface wan identisch
+
+
+/etc/bird/bird.conf
+
+    router id 193.43.220.130; /* public IP APU */
+
+    log syslog { debug, info, trace, remote }; /* optional */
+
+    define AS35675_all = [
+            193.43.220.0/23
+            ];
+
+    define AS35675_any = [
+            193.43.220.0/23+
+            ];
+
+    protocol device device0 {
+            scan time 10;
+    }
+
+
+    /* wg. BSD: */
+    protocol direct direct0 {
+            ipv4;
+    }
+
+    protocol kernel kernel0 {
+            learn on;
+            scan time 120;
+            ipv4 {
+                    import all;
+                    export where source != RTS_DEVICE;
+            };
+    }
+
+    # erstellt neue routing tabelle 
+    ipv4 table fib1table;
+
+    #RTS route source
+    #import / export
+    protocol kernel kernel1 {
+            kernel table 1;
+            learn on;
+            scan time 120;
+            ipv4 {
+                    table fib1table;
+                    import all;
+                    export where source != RTS_DEVICE;
+            };
+    }
+
+    protocol static static1 {
+            ipv4 {
+                    table fib1table;
+            };
+            route 0.0.0.0/0 via 192.168.178.254; /* zur F!Box */
+    }
+
+    protocol ospf ospfwan {
+            ipv4 {
+                    import all;
+                    export where net ~ AS35675_any;
+            };
+            area 0.0.0.0 {
+                    stubnet 193.43.220.130/32 { cost 1; };
+                    interface "wan" {    /* 4 Zeilen ab hier nur APU */
+                            type broadcast;
+                            cost 100;
+                    };
+                    interface "lan" {
+                            type broadcast;
+                            cost 10;
+                    };
+            };
+    }
+
+
+Den bird starten.
+
+    systemctl start bird
+
+# Sonstiges
+
+/etc/sysctl.conf
+
+    # Uncomment the next line to enable packet forwarding for IPv4
+    net.ipv4.ip_forward=1
+