Task #7180
Updated by Nico Schottelius about 5 years ago
* router1-new is up and running h2. Steps * Verify / update cdist configuration * Checkout IP configuration ** Add VRRP IPs to loopback interface (will be used instead of keepalived) * Verify sysctl configuration * Rerun cdist, exclude announcing of routes * Adjust radvd configuration ** lower interval ** lower life time h2. cdist configuration Was written for Devuan/keepalived. Need to check step-by-step. * __ungleich_bgp_router: *TEMPFIX* ** contains static route announcements ** can only be used once the upstream networking is verified * __dcl_node_exporter: still makes sense ** Is debian/devuan specific, needs changes * __ungleich_ipv6_radvd --config router-$dc ** 80% done ** restart needs to be implemented * __ungleich_nftables --config router-$dc * --__dcl_router_resolvconf --search-path "$d"--: done ** no changes required * __dcl_tftp_http_pxe_bootserver ** ok, needs to be tested for alpine ** needs to be updated for ipv6 only boot ** could be moved to APUs * -require="__dcl_router_network" __dcl_router_keepalived --master-: done ** Needs to be ported to loopback + bgp ** -commented out statement for place6 routers-: done * __dcl_router_network --ipsuffix 5 ** Need to add keepalived IPs * # __dcl_nat64 --mtu 9000 h2. Networking * Update interfaces for alpine ** -place6- ** place5 h2. Implementing virtual IPs with BGP * Announce the IPv6/128 IPv4/32 address ** Or network alone is enough? * -Add the addresses to the loopback interface-: done ** all done locally on router1-new ** Needs to be put back into cdist * Add addresses for place5 h2. Firewalling h2. Change router advertisements We will have 2 active routers now with both advertising with radvd at the same time. This is part of replacing keepalived. * -Change router advertisement lifetime to 10 seconds- * -Change advertisement interval to 3..5- * Modify cdist type to restart/reload radvd on changes <pre> MinRtrAdvInterval 3; MaxRtrAdvInterval 5; AdvDefaultLifetime 10; </pre> h2. Switch configuration * Switches *might* need ipv4 bgp peering for providing virtual IPv4 address support * Don't see traffic on router1-new from upstream ** Need to verify trunk configuration on switches <pre> switch5-place6(config)#vlan 100 switch5-place6(config-vlan-100)#name netstream switch5-place6(config-vlan-100)#write Copy completed successfully. switch6-place6#configure switch6-place6(config)#vlan 100 switch6-place6(config-vlan-100)#name netstream switch6-place6(config-vlan-100)#write Copy completed successfully. </pre> h2. Building jool Requirements: <pre> apk add alpine-sdk apk add libnl3-dev apk add iptables-dev apk add linux-vanilla-dev apk add argp-standalone </pre> Build: <pre> wget https://github.com/NICMx/Jool/releases/download/v4.0.1/jool_4.0.1.tar.gz tar xvfz jool_4.0.1.tar.gz cd jool-4.0.1/ ./configure && make && make install </pre> Last encountered error: <pre> gcc -DPACKAGE_NAME=\"Jool\" -DPACKAGE_TARNAME=\"jool\" -DPACKAGE_VERSION=\"4.0.1\" -DPACKAGE_STRING=\"Jool\ 4.0.1\" -DPACKAGE_BUGREPORT=\"jool@nic.mx\" -DPACKAGE_URL=\"\" -DPACKAGE=\"jool\" -DVERSION=\"4.0.1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_ARPA_INET_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE__BOOL=1 -DHAVE_INET_NTOA=1 -DHAVE_MEMSET=1 -DHAVE_STRCASECMP=1 -DHAVE_STRTOL=1 -DHAVE_POW=1 -I. -Wall -O2 -I./../../ -I/usr/include/libnl3 -g -O2 -MT ../common/jool_siit-wargp.o -MD -MP -MF ../common/.deps/jool_siit-wargp.Tpo -c -o ../common/jool_siit-wargp.o `test -f '../common/wargp.c' || echo './'`../common/wargp.c In file included from ../common/wargp.c:1: ../common/wargp.h:4:10: fatal error: argp.h: No such file or directory 4 | #include <argp.h> | ^~~~~~~~ compilation terminated. make[2]: *** [Makefile:813: ../common/jool_siit-wargp.o] Error 1 make[2]: Leaving directory '/root/jool-4.0.1/src/usr/siit' make[1]: *** [Makefile:318: all-recursive] Error 1 make[1]: Leaving directory '/root/jool-4.0.1/src/usr' make: *** [Makefile:344: all-recursive] Error 1 </pre>