У меня работает виртуальная машина CentOS 7 сильный который устанавливает VPN-туннель между нашей локальной сетью и Google Compute Engine (Google Cloud VPN). Это делает локальные машины в локальной сети доступными для экземпляров GCE и наоборот.
Я бы хотел запустить strongSwan в контейнере Docker вместо ресурсоемкой виртуальной машины. Однако я почти уверен, что не могу сообщить контейнеру о нашей локальной сети и, следовательно, не заставить экземпляры GCE обращаться к машинам в нашей локальной сети (и наоборот) - поскольку туннель VPN будет создан только между сетью контейнера и сетью Google.
Я прав или можно как-то этого добиться?
strongSwan использует IPsec в туннельном режиме, который (в Linux) требует загрузки и использования нескольких модули ядра. Загрузка модуля и его настройка - это не то, что вы можете сделать внутри обычного контейнера. Вы можете обойти это, сделав контейнер привилегированным и используя сеть в режиме "хоста", чтобы контейнер мог видеть туннель, который он создает (docker run --privileged --net=host
), но по сути это отключает изоляцию между контейнером и его хостом, поэтому, вероятно, это не то, что вам нужно.