У меня есть сеть машин внутри сети OpenVPN. Я без проблем могу подключиться к этой сети со своего локального компьютера:
openvpn --config ./myconfig.ovpn --auth-user-pass ./mycredentials
Проблема в том, что я пытаюсь подключить другой удаленный компьютер (облачный VPS) в качестве клиента. Использование того же файла конфигурации и учетных данных на VPS не сработает.
См. Здесь для аналогичной проблемы.
В основном происходит то, что машина зависает. Моя текущая сессия оболочки перестает отвечать. Единственный выход из этого - перезагрузка машины. Что еще хуже, если я запущу его как службу (service openvpn start
с файлом конфигурации в /etc/openvpn
) Я даже не могу вернуться в машину. Даже после перезагрузки.
Может быть, соединение устанавливается и отключает мой SSH? Я действительно не уверен. Однако мне действительно нужно выяснить, как настроить VPS в качестве клиента для моей VPN и при этом иметь возможность управлять машиной.
Итак, после ГЛАВНОЙ работы над этим ... я обнаружил, что действительно могу попасть в машину (хотя и не через SSH). Когда я выключил openvpn, я смог снова подключиться к SSH как обычно. Подозрение подтвердилось.
Затем возник вопрос: как мне подключиться к клиенту OpenVPN по SSH?
Для всех, у кого есть проблема, я также помещаю решение здесь:
ip rule add from x.x.x.x table 128
ip route add table 128 to y.y.y.y/y dev ethX
ip route add table 128 default via z.z.z.z
Где x.x.x.x - ваш общедоступный IP-адрес, y.y.y.y / y должен быть подсетью вашего общедоступного IP-адреса, ethX - вашим общедоступным интерфейсом Ethernet, а z.z.z.z - шлюзом по умолчанию.