Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| technik:gateways:gateway-einrichten-segment [07.08.2017 - 15:09] – Roland Volkmann | technik:gateways:gateway-einrichten-segment [28.04.2019 - 11:38] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 2: | Zeile 2: | ||
| - | ====== Kurzanleitung für Ubuntu 14.04 ====== | ||
| - | |||
| - | |||
| - | |||
| - | ==== Policyrouting vorbereiten ==== | ||
| - | / | ||
| - | | ||
| - | | ||
| - | | ||
| - | |||
| - | ==== Interfaces einrichten (IPs anpassen!!!) ==== | ||
| - | / | ||
| - | auto br05 | ||
| - | iface br05 inet static | ||
| - | hwaddress 02: | ||
| - | address 10.191.0.17 | ||
| - | netmask 255.255.192.0 | ||
| - | pre-up | ||
| - | up /sbin/ip address add fd21: | ||
| - | post-down | ||
| - | # be sure all incoming traffic is handled by the appropriate rt_table | ||
| - | post-up | ||
| - | pre-down | ||
| - | # default route is unreachable | ||
| - | post-up | ||
| - | post-down | ||
| - | # ULA route for rt_table stuttgart | ||
| - | post-up | ||
| - | post-down | ||
| - | |||
| - | | ||
| - | iface vpn05 inet6 manual | ||
| - | hwaddress 02: | ||
| - | pre-up | ||
| - | post-up | ||
| - | post-up | ||
| - | |||
| - | | ||
| - | iface bat05 inet6 manual | ||
| - | pre-up | ||
| - | post-up | ||
| - | post-up | ||
| - | post-up | ||
| - | pre-down | ||
| - | |||
| - | |||
| - | ==== VPN/Fastd einrichten (IPs anpassen!!!) ==== | ||
| - | mkdir / | ||
| - | git clone https:// | ||
| - | ln -s / | ||
| - | |||
| - | / | ||
| - | # error|warn|info|verbose|debug|debug2 | ||
| - | log level info; | ||
| - | hide ip addresses yes; | ||
| - | hide mac addresses yes; | ||
| - | | ||
| - | | ||
| - | | ||
| - | # Bind von v4 and v6 interfaces | ||
| - | bind 1.2.3.4: | ||
| - | bind [2001: | ||
| - | | ||
| - | mtu 1406; # 1492 - IPv4/IPv6 Header - fastd Header... | ||
| - | | ||
| - | | ||
| - | |||
| - | |||
| - | === Key generieren, alternativ vorhandenen nehmen === | ||
| - | fastd --generate-key > / | ||
| - | echo -n " | ||
| - | cat / | ||
| - | cat / | ||
| - | Ergebis sollte eine Zeile sein die so aussieht: | ||
| - | | ||
| - | |||
| - | |||
| - | ==== dnsmasq konfigurieren ==== | ||
| - | / | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | |||
| - | / | ||
| - | | ||
| - | # | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | / | ||
| - | | ||
| - | | ||
| - | | ||
| - | # | ||
| - | # .ffs/ | ||
| - | | ||
| - | | ||
| - | # Forward DNS requests via wan-vpn | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | |||
| - | |||
| - | ==== Openvpn Berlin (anderer Anbieter wie CyberGhost) ==== | ||
| - | / | ||
| - | # Datei von Berlin (xxxxxxx-udp.ovpn) rein kopieren oder umbenennen | ||
| - | # folgende Zeilen am Anfang hinzufügen | ||
| - | | ||
| - | | ||
| - | up " | ||
| - | down " | ||
| - | |||
| - | / | ||
| - | # | ||
| - | ip rule add from $ifconfig_local table stuttgart priority 9970 | ||
| - | # Routen kopieren von Tabelle main | ||
| - | ip route show table main | grep -v ^default | while read ROUTE ; do ip route add table stuttgart $ROUTE ; done | ||
| - | # default route in table stuttgart | ||
| - | ip route add 0.0.0.0/1 via $route_vpn_gateway dev $dev table stuttgart | ||
| - | ip route add 128.0.0.0/1 via $route_vpn_gateway dev $dev table stuttgart | ||
| - | # NAT aktivieren (2 Moeglichkeiten), | ||
| - | # | ||
| - | # | ||
| - | # | ||
| - | exit 0 | ||
| - | |||
| - | / | ||
| - | # | ||
| - | ip rule del from $ifconfig_local table stuttgart priority 9970 | ||
| - | # NAT deaktivieren, | ||
| - | # | ||
| - | # | ||
| - | exit 0 | ||
| - | |||
| - | chmod +x / | ||
| - | |||
| - | | ||
| - | |||
| - | ==== Funktionstest kann beginnen ==== | ||
| - | |||
| - | |||
| - | ==== Bird konfigurieren ==== | ||
| - | | ||
| - | |||
| - | # Filter definieren | ||
| - | | ||
| - | krt_metric = 100; | ||
| - | if net ~ [ 172.21.0.0/ | ||
| - | if net ~ [ 10.190.0.0/ | ||
| - | else reject; | ||
| - | } | ||
| - | |||
| - | | ||
| - | learn; | ||
| - | persist no; | ||
| - | scan time 20; # Scan kernel routing table every 20 seconds | ||
| - | import filter ffs_filter; | ||
| - | kernel table 70; # fuer table stuttgart | ||
| - | export filter ffs_filter; | ||
| - | device routes; | ||
| - | } | ||
| - | |||
| - | # This pseudo-protocol watches all interface up/down events. | ||
| - | | ||
| - | scan time 10; # Scan interfaces every 10 seconds | ||
| - | } | ||
| - | |||
| - | | ||
| - | preference 100; # prio zahl | ||
| - | rfc1583compat no; # Metrik gem. OSPFv2, RFC 2328 | ||
| - | stub router no; # Box macht ggf. auch Transit-Traffic | ||
| - | tick 1; # Topologie-Berechnungen nur alle 1s | ||
| - | ecmp no; # Kein Equal-Cost-Multipath, | ||
| - | # Uplinks aus dem Weg zu gehen | ||
| - | import filter ffs_filter; | ||
| - | export filter ffs_filter; | ||
| - | area 0.0.0.0 { # Backbone-Area | ||
| - | external{ | ||
| - | 0.0.0.0/0; | ||
| - | }; | ||
| - | |||
| - | | ||
| - | cost 100; | ||
| - | hello 10; | ||
| - | poll 20; | ||
| - | retransmit | ||
| - | priority | ||
| - | wait 40; | ||
| - | type bcast; | ||
| - | authentication | ||
| - | password | ||
| - | }; | ||
| - | }; | ||
| - | }; | ||
| - | |||
| - | |||
| - | ==== Bird6 konfigurieren ==== | ||
| - | | ||
| - | |||
| - | # Filter definieren | ||
| - | | ||
| - | krt_metric = 100; | ||
| - | if net ~ [ fd21: | ||
| - | else reject; | ||
| - | } | ||
| - | |||
| - | | ||
| - | learn; | ||
| - | persist no; | ||
| - | scan time 20; # Scan kernel routing table every 20 seconds | ||
| - | import filter ffs_filter; | ||
| - | kernel table 70; # fuer table stuttgart | ||
| - | export filter ffs_filter; | ||
| - | device routes; | ||
| - | } | ||
| - | |||
| - | # This pseudo-protocol watches all interface up/down events. | ||
| - | | ||
| - | scan time 10; # Scan interfaces every 10 seconds | ||
| - | } | ||
| - | |||
| - | | ||
| - | preference 100; # prio zahl | ||
| - | rfc1583compat no; # Metrik gem. OSPFv2, RFC 2328 | ||
| - | stub router no; # Box macht ggf. auch Transit-Traffic | ||
| - | tick 1; # Topologie-Berechnungen nur alle 1s | ||
| - | ecmp no; # Kein Equal-Cost-Multipath, | ||
| - | # Uplinks aus dem Weg zu gehen | ||
| - | import filter ffs_filter; | ||
| - | export filter ffs_filter; | ||
| - | area 0.0.0.0 { # Backbone-Area | ||
| - | external{ | ||
| - | ::/0; | ||
| - | }; | ||
| - | |||
| - | | ||
| - | cost 100; | ||
| - | hello 10; | ||
| - | poll 20; | ||
| - | retransmit | ||
| - | priority | ||
| - | wait 40; | ||
| - | type bcast; | ||
| - | }; | ||
| - | }; | ||
| - | }; | ||
| - | |||
| - | |||
| - | ==== Freifunk Aktualisierungen ==== | ||
| - | |||
| - | / | ||
| - | / | ||
| - | |||
| - | / | ||
| - | # | ||
| - | | ||
| - | | ||
| - | # | ||
| - | while : ; do | ||
| - | ## ffs Peers aktualisieren | ||
| - | cd / | ||
| - | | ||
| - | echo " | ||
| - | / | ||
| - | ## ffsbb aktualisieren | ||
| - | cd / | ||
| - | | ||
| - | echo " | ||
| - | tincd -n ffsbb -k HUP | ||
| - | # Status veroeffentlichen | ||
| - | for i in $vpns; do | ||
| - | | ||
| - | done | ||
| - | echo "*** fertig ***" | ||
| - | sleep 120 | ||
| - | done | ||
| - | |||
| - | ===== Tinc VPN Layer 2 einrichten ===== | ||
| - | * Es wird ein Tinc Netz 10.191.255.0/ | ||
| - | * 3 DHCP Server erhalten die IPs 10.191.255.251/ | ||
| - | * die Gateways nutzen erhalten eine IP in 10-191.255.x/ | ||
| - | * Jeder GW macht in Tinc 3 VPN Connects zu den 3 DHCP Servern, diese fungieren als Zentralen des VPN Netzes. | ||
| - | * IPv6 entsprechend einrichten | ||
| - | * Das wars! | ||
| - | |||
| - | |||
| - | / | ||
| - | echo ' | ||
| - | |||
| - | mkdir -p / | ||
| - | |||
| - | / | ||
| - | Name = gw07n99 | ||
| - | | ||
| - | | ||
| - | | ||
| - | Mode = switch | ||
| - | Port = 6551 | ||
| - | # | ||
| - | |||
| - | / | ||
| - | # | ||
| - | ip addr add 10.191.255.99/ | ||
| - | ip link set $INTERFACE up | ||
| - | ip rule add iif $INTERFACE table stuttgart priority 7000 | ||
| - | ip route add 10.191.255.0/ | ||
| - | ip addr add fd21: | ||
| - | |||
| - | chmod +x / | ||
| - | |||
| - | tincd -n ffsbb -K | ||
| - | 2 x Return drücken | ||
| - | |||
| - | / | ||
| - | | ||
| - | port = 6551 | ||
| - | |||
| - | echo ffsbb >> / | ||
| - | |||
| - | | ||
| - | |||
| - | / | ||
| - | |||
| - | ===== Tinc VPN Layer 2 einrichten Teil2, hosts Dateien aus Git holen ===== | ||
| - | |||
| - | git clone https:// | ||
| - | |||
| - | Alte hosts umbenennen als Backup | ||
| - | mv / | ||
| - | |||
| - | Git Dateien verwenden | ||
| - | ln -s / | ||
| - | |||
| - | | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | ====== Gateway sicher vom Netz nehmen ====== | ||
| - | |||
| - | Wenn ein Gateway aus dem Netz raus soll, bitte wiefolgt vorgehen, damit es keine Ausfälle bei den Nodes und Clients gibt | ||
| - | |||
| - | * batctl gw off | ||
| - | * 1 Minute warten | ||
| - | * DHCP Server deaktivieren, | ||
| - | * 10 Minuten warten, damit die Clients eine IP vom Alternativ-DHCP Server bekommen | ||
| - | * fastd beenden | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | {{tag>gw setup howto}} | ||