Project

General

Profile

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 
 </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> 

Back