Я ничего не знаю об OpenVPN. Со своей стороны я использую туннель SSH. Основы довольно просты, но полная настройка может быть довольно сложной. При этом у вас может быть любое количество компьютеров, туннелирующих (это быстро, если вы не пытаетесь использовать все туннели одновременно).
ssh -fNR 2222:localhost:22 aws-компьютер
aws-компьютер
это имя в моем ~/.ssh/config
файл, который определяет используемый ключ и имя пользователя/пароль.
Теперь, когда я ssh на моем aws-компьютер
Я могу использовать:
ssh -p 2222 pc1
и он подключается, как если бы у меня было одно/обычное соединение SSH.
Вы можете повторять туннелирование столько раз, сколько хотите, что означает, в конце концов, вы можете сделать один ssh пк2
от pc1 и один ssh пк1
от ПК2. Это всего лишь небольшая настройка, чтобы все заработало.
Хост aws-компьютер
HostName <ip-адрес-или-доменное-имя>
Имя пользователя
Порт 22
ПарольАутентификация нет
Аутентификация на основе хоста нет
ИдентичностиТолько да
IdentityFile /home/name/.ssh/tunnel_keys/tunnel_rsa
Примечание. Я использую подкаталог для дополнительных ключей (ключи, отличные от моих обычных), так что таким образом Я могу иметь любое их количество.
Основное ограничение заключается в том, что вам нужно использовать разные порты (т.е. вы не можете иметь две службы на одном компьютере, используя один порт). Другое ограничение заключается в том, что один из компьютеров должен иметь статический IP-адрес, или вам необходимо сделать доступным сервер доменных имен, который записывает IP-адреса. Такой DNS не очень безопасен, поскольку кто-то другой может получить «ваш» старый IP-адрес, и ваши системы могут попытаться подключиться через сторонний компьютер.