Клиент OpenVPN на локальном сервере

Клиент OpenVPN на локальном сервере

Мой headless сервер установил VPN соединение с VPN сервером. Как мне подключиться к ip сайту, предоставленному VPN сервером?

Что я хочу:

Что я хочу]

Я не хочу прямого подключения:

Я не хочу прямого подключения]

Любое мнение будет оценено по достоинству.

решение1

Поскольку вы указали, что не можете изменить сервер, вам необходимо использовать NAT. Это потому, что сервер должен знать, куда отправлять ответ, а он знает только о самом VPN-клиенте, вашем локальном сервере. Он не знает о ПК, доступных через VPN-клиент.

На локальном сервере вам необходимо включить NAT на интерфейсе OpenVPN. Это можно сделать с помощью скрипта. Один из возможных хуков — --route-up. Не забудьте изменить --script-securityсоответствующим образом. Команды, которые вам нужно выполнить, — iptables -t nat -A POSTROUTING -o $THE_OPENVPN_INTERFACE -j MASQUERADE. Поскольку IPTables позволяет всему быть по умолчанию, дальнейшая настройка необязательна. Вероятно, вам также следует добавить --route-pre-down(или аналогичный) скрипт, чтобы снова удалить правило IPTables.

Маршрутизацию можно включить, отредактировав /etc/sysctl.conf, net.ipv4.ip_forwardнеобходимо 1. echo 1 > /proc/sys/net/ipv4/ip_forwardделает изменение вступающим в силу немедленно. sysctl.confпредназначено для сохранения после перезагрузок.

На вашем маршрутизаторе вам необходимо настроить статический маршрут к месту назначения (сети, доступной через VPN), где шлюзом будет ваш локальный сервер (клиент VPN). Имейте в виду: поскольку вы находитесь в той же сети, что и шлюз, ваш маршрутизатор может отправлять перенаправления. Вы не сможете изменить это поведение. Ваша ОС должна принимать перенаправления. Но сначала попробуйте без дополнительной настройки.

Возможно, вам следует надежно защитить свой локальный сервер с помощью брандмауэра, поскольку в противном случае злоумышленник, имеющий доступ к VPN-серверу, может получить доступ к вашей локальной сети.

Связанный контент