Маршрутизируйте трафик из одного контейнера docker через VPN (предоставляемый вторым контейнером)

В конце концов я обнаружил проблему.

По умолчанию, если вы определяете сеть internal: true это означает, что будут введены некоторые правила iptables, блокирующие выход из него всех контейнеров в сегменте локальной сети.

Вначале я думал, что это просто маршрут, скажем, с 192.168.80.2 на 192.168.80.1 (IP-адрес, назначенный хост-машине для этого сегмента локальной сети), а затем в Интернет. Внимательно прочитав все правила iptables, я обнаружил, что переадресация также отключена.

Удаление internal: true позволил контейнеру маршрутизировать через VPN, как и ожидалось, за счет предоставления веб-серверу прямого доступа к общедоступному Интернету.