Hello all,
We are using a Sophos UTM as the primary VPN device in a Transit VPC setup, with just a few (3-5) small VPCs. We've been using this for a while now and we've found that, once the various AWS VGW Site2Site VPN's are connected, the setup is completely stable and throughput is not an issue for us.
However, whenever we add or replace a AWS Site 2 Site VPN configuration (a spoke VPC) things don't work very well and the issue gets worse the more VGWs are added. After 2 VGWs, in the best case, the new VPC configuration will fail to connect for somewhere between 3-10 minutes. Usually, however, all AWS VPC connections need to be stopped and started, or the whole UTM needs to be rebooted before things will connect. Worse, the more AWS VGW's that are connected, the longer the UTM is inaccessible on reboot! When we have 5 VGWs connected and it takes 12-15 minutes after booting before the UTM is even ping-able. If you only have 1-2 VGWs, the UTM is accessible within 0-2 minutes.
Whenever we add or remove a VPC configuration, the system logs are always littered with messages about accessing an uninitialized value in the BGP configuration tooling. Below is a sample of what we see:
This thread was automatically locked due to age.
2020:04:22-01:47:18 netsec-test middleware[3724]:
2020:04:22-01:47:18 netsec-test middleware[3724]: 1. main::_warn:182() mdw.pl
2020:04:22-01:47:18 netsec-test middleware[3724]: 2. ASG::dynamic_routing::reconfigure_bgp:706() /</var/mdw/mdw.plx>ASG/dynamic_routing.pm
2020:04:22-01:47:18 netsec-test middleware[3724]: 3. ASG::dynamic_routing::setAll:370() /</var/mdw/mdw.plx>ASG/dynamic_routing.pm
2020:04:22-01:47:18 netsec-test middleware[3724]: 4. core::Config::load:362() /</var/mdw/mdw.plx>core/Config.pm
2020:04:22-01:47:18 netsec-test middleware[3724]: 5. main::top-level:224() mdw.pl
2020:04:22-01:47:18 netsec-test middleware[3724]: |=========================================================================
2020:04:22-01:47:18 netsec-test middleware[3724]: E Use of uninitialized value in concatenation (.) or string at /</var/mdw/mdw.plx>ASG/dynamic_routing.pm line 713.
2020:04:22-01:47:18 netsec-test middleware[3724]:
2020:04:22-01:47:18 netsec-test middleware[3724]: 1. main::_warn:182() mdw.pl
2020:04:22-01:47:18 netsec-test middleware[3724]: 2. ASG::dynamic_routing::reconfigure_bgp:713() /</var/mdw/mdw.plx>ASG/dynamic_routing.pm
2020:04:22-01:47:18 netsec-test middleware[3724]: 3. ASG::dynamic_routing::setAll:370() /</var/mdw/mdw.plx>ASG/dynamic_routing.pm
2020:04:22-01:47:18 netsec-test middleware[3724]: 4. core::Config::load:362() /</var/mdw/mdw.plx>core/Config.pm
2020:04:22-01:47:18 netsec-test middleware[3724]: 5. main::top-level:224() mdw.pl
2020:04:22-01:47:18 netsec-test middleware[3724]: |=========================================================================
2020:04:22-01:47:18 netsec-test middleware[3724]: E Use of uninitialized value in concatenation (.) or string at /</var/mdw/mdw.plx>ASG/dynamic_routing.pm line 733.
2020:04:22-01:47:18 netsec-test middleware[3724]:
2020:04:22-01:47:18 netsec-test middleware[3724]: 1. main::_warn:182() mdw.pl
2020:04:22-01:47:18 netsec-test middleware[3724]: 2. ASG::dynamic_routing::reconfigure_bgp:733() /</var/mdw/mdw.plx>ASG/dynamic_routing.pm
2020:04:22-01:47:18 netsec-test middleware[3724]: 3. ASG::dynamic_routing::setAll:370() /</var/mdw/mdw.plx>ASG/dynamic_routing.pm
2020:04:22-01:47:18 netsec-test middleware[3724]: 4. core::Config::load:362() /</var/mdw/mdw.plx>core/Config.pm
2020:04:22-01:47:18 netsec-test middleware[3724]: 5. main::top-level:224() mdw.pl
2020:04:22-01:47:18 netsec-test middleware[3724]: |=========================================================================
2020:04:22-01:47:18 netsec-test middleware[3724]: E Use of uninitialized value in concatenation (.) or string at /</var/mdw/mdw.plx>ASG/dynamic_routing.pm line 734.
2020:04:22-01:47:18 netsec-test middleware[3724]:
2020:04:22-01:47:18 netsec-test middleware[3724]: 1. main::_warn:182() mdw.pl
2020:04:22-01:47:18 netsec-test middleware[3724]: 2. ASG::dynamic_routing::reconfigure_bgp:734() /</var/mdw/mdw.plx>ASG/dynamic_routing.pm
2020:04:22-01:47:18 netsec-test middleware[3724]: 3. ASG::dynamic_routing::setAll:370() /</var/mdw/mdw.plx>ASG/dynamic_routing.pm
2020:04:22-01:47:18 netsec-test middleware[3724]: 4. core::Config::load:362() /</var/mdw/mdw.plx>core/Config.pm
2020:04:22-01:47:18 netsec-test middleware[3724]: 5. main::top-level:224() mdw.pl
2020:04:22-01:47:18 netsec-test middleware[3724]: |=========================================================================
2020:04:22-01:47:18 netsec-test middleware[3724]: E Use of uninitialized value in concatenation (.) or string at /</var/mdw/mdw.plx>ASG/dynamic_routing.pm line 750.
2020:04:22-01:47:18 netsec-test middleware[3724]:
2020:04:22-01:47:18 netsec-test middleware[3724]: 1. main::_warn:182() mdw.pl
2020:04:22-01:47:18 netsec-test middleware[3724]: 2. ASG::dynamic_routing::reconfigure_bgp:750() /</var/mdw/mdw.plx>ASG/dynamic_routing.pm
2020:04:22-01:47:18 netsec-test middleware[3724]: 3. ASG::dynamic_routing::setAll:370() /</var/mdw/mdw.plx>ASG/dynamic_routing.pm
2020:04:22-01:47:18 netsec-test middleware[3724]: 4. core::Config::load:362() /</var/mdw/mdw.plx>core/Config.pm
2020:04:22-01:47:18 netsec-test middleware[3724]: 5. main::top-level:224() mdw.pl
2020:04:22-01:47:19 netsec-test middleware[3724]: |=========================================================================
2020:04:22-01:47:19 netsec-test middleware[3724]: E Use of uninitialized value in concatenation (.) or string at /</var/mdw/mdw.plx>ASG/dynamic_routing.pm line 751.
2020:04:22-01:47:19 netsec-test middleware[3724]:
2020:04:22-01:47:19 netsec-test middleware[3724]: 1. main::_warn:182() mdw.pl
2020:04:22-01:47:19 netsec-test middleware[3724]: 2. ASG::dynamic_routing::reconfigure_bgp:751() /</var/mdw/mdw.plx>ASG/dynamic_routing.pm
2020:04:22-01:47:19 netsec-test middleware[3724]: 3. ASG::dynamic_routing::setAll:370() /</var/mdw/mdw.plx>ASG/dynamic_routing.pm
2020:04:22-01:47:19 netsec-test middleware[3724]: 4. core::Config::load:362() /</var/mdw/mdw.plx>core/Config.pm
2020:04:22-01:47:19 netsec-test middleware[3724]: 5. main::top-level:224() mdw.pl