Как настроить OpenVPN для доступа к локальным клиентам


2

РЕДАКТИРОВАТЬ 2 : Согласно моему первому редактированию ниже, я определил, что OpenVPN прекрасно подключается в публичной среде и маршрутизирует весь трафик через него. На самом деле вопрос заключается в том , как мне сконфигурировать мои файлы, чтобы мой клиент рабочего стола успешно направлялся через OpenVPN?

Я хочу, чтобы мой рабочий стол обладал всеми преимуществами экранирования VPN и вполне мог позволить удаленно подключаться к нему из публичной точки доступа с помощью моего ноутбука (хотя это может быть совсем другой вопрос).

Мой маршрутизатор имеет адрес шлюза 192.168.1.254, мой рабочий стол подключен к нему через 192.168.1.150, а мой сервер подключен через 192.168.1.180. Мой ноутбук может подключаться к серверу с общедоступного Wi-Fi, но не может подключиться при подключении через Wi-Fi к локальному маршрутизатору.

Оригинальный вопрос - OpenVPN не будет обращаться к HTTP-серверам

Я следовал этому руководству ( https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-16-04 ) по настройке VPN на моем веб-сервере. ,

Клиент OpenVPN прекрасно подключается к серверу (по крайней мере, я так думаю) и может получить доступ к паре веб-сайтов с помощью HTTPS; однако он не может получить доступ ни к каким обычным веб-сайтам HTTP, и соединение имеет тенденцию обрываться через пять или около того минут.

На данный момент, я не совсем уверен, правильны ли мои настройки IP для определенных файлов, потому что в руководстве не было слишком ясно, какими должны быть определенные IP-адреса. Я не уверен, должны ли некоторые IP-адреса указывать на маршрутизатор шлюза или публичный IP-адрес сервера.

Что мне нужно исправить в файлах ниже, чтобы помочь мне поддерживать соединение OpenVPN с моим сервером и маршрутизировать весь трафик через него?

Полезные факты:

  • Рабочий стол работает под управлением Windows 10 с OpenVPN GUI v11.4.0.0; на сервере работает Ubuntu Server 16.04. Если на моем рабочем столе все работает хорошо, я бы хотел иметь возможность удаленно подключаться к серверу из кампуса колледжа, используя один из моих ноутбуков (с Windows 10 Pro и Ubuntu Desktop 16.04.2)
  • Рабочий стол и сервер подключены к одной локальной сети на маршрутизаторе.
  • Брандмауэр маршрутизатора настроен для пересылки запросов через порт 1194 на сервер.
  • Некоторые из закомментированных строк не включены в эти файлы. Дайте мне знать, если я должен отредактировать их обратно или добавить определенный файл журнала.
  • Как указывалось в руководстве, сертификаты и ключи записаны в файле client1.ovpn, и я прокомментировал эти данные в этом посте.

/etc/openvpn/server.conf

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS xxx.xxx.xxx.xxx" #My server's public IP
;push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
tls-auth ta.key 0 # This file is secret
key-direction 0
cipher AES-128-CBC   # AES
auth SHA256
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

/etc/ufw/before.rules

*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMIT
#Rest of file left out for brevity

client1.ovpn

client
dev tun
proto udp
remote xxx.xxx.xxx.xxx 1194 #My server's public IP
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
cipher AES-128-CBC
auth SHA256
key-direction 1
remote-cert-tls server
comp-lzo
verb 3
<ca>
-----BEGIN CERTIFICATE-----
# Certificate string exists here
-----END CERTIFICATE-----
</ca>
<cert>
# Certificate data
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
#Private key here
-----END PRIVATE KEY-----
</key>
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
#OpenVPN static key
-----END OpenVPN Static key V1-----
</tls-auth>

РЕДАКТИРОВАТЬ

Обновление: сегодня утром я создал конфигурацию client2 для своего ноутбука и вынул ноутбук в сеть моей школы. В этой среде OpenVPN теперь работает нормально, поэтому проблема связана с тем, что мой настольный компьютер и ноутбук находятся в той же локальной сети, что и мой сервер, что вызывает вышеупомянутые проблемы с подключением.

Теперь, когда я убежден, что OpenVPN действительно работает, но попытка подключиться к нему, находясь в одной и той же локальной сети, вызывает проблемы, я могу провести некоторое исследование этой конкретной проблемы и задать новый вопрос, если это произойдет.


«Рабочий стол и сервер подключены к одной локальной сети на маршрутизаторе». Почему устройство, которое вы пытаетесь подключить к сети, находится в той же сети?
Сервис-менеджер

Сервер и устройство физически находятся рядом друг с другом под моим столом, поэтому они находятся в одной сети. Я немного новичок в сети и VPN, поэтому я написал этот вопрос, предполагая, что десктоп должен был получить доступ к серверу через общедоступный IP-адрес, несмотря на то, что он работал в той же локальной сети, чтобы он работал. Я надеялся, что после того, как он будет работать на моем рабочем столе, я смог установить OpenVPN на один из моих ноутбуков, который можно было бы использовать публично.
MrZander

Просто чтобы подтвердить, вы хотите преимущества безопасности VPN, но на рабочем столе все еще в той же сети, что и сервер VPN, правильно?
Сервисный менеджер

Да. И настольный компьютер, и сервер находятся в одной сети, и я хотел бы, чтобы безопасность, обеспечиваемая программным обеспечением OpenVPN с сервера, направляла интернет-трафик рабочего стола через сервер (по крайней мере, я так думаю, он работает или должен работать, поправьте меня, если я ' м неправильно в этом предположении). Я не уверен, как файлы конфигурации должны быть установлены для достижения этой цели; будь то удаленный доступ через общедоступный IP-адрес сервера, удаленный доступ через частный IP-адрес или что-то другое, чего мне не хватает.
MrZander

Цель VPN - зашифровать ваше соединение с сетью, к которой подключается ваш компьютер. Это избыточно, так как ваш компьютер уже находится в сети, в которой работает VPN-сервер.
Service Manager

Ответы:


0

Единственный правильный способ проверить VPN - настроить устройство не в той же сети, что и сервер VPN.

Хотя бывают ситуации, когда полезны VPN внутри сети (такие как обеспечение конфиденциальности и разделение ресурсов), они возможны только в корпоративной среде. Более того, существуют и другие способы предотвращения доступа людей к ресурсам, которые не требуются для их роли, такие как виртуальные локальные сети (VLAN).

Что касается ваших файлов конфигурации, я не вижу в них ошибок. Я сравнил их с файлами конфигурации, которые я использовал для своей VPN, и не вижу никаких противоречий. Попробуйте настроить один из ваших ноутбуков так, как настроен ваш рабочий стол. Держу пари, что это сработает, но если это не сработает, обновите свой вопрос. Если это последнее, я бы поспорил, что у службы VPN на вашем сервере могут быть проблемы.


Я взял свой ноутбук для тест-драйва под моей домашней локальной сетью и школьным WiFi. У него все еще были проблемы в той же среде, что и на рабочем столе, но служба OpenVPN, кажется, прекрасно работает при подключении к кампусу. Итак, вы правы, программа работает за пределами локальной сети, но что-то в установлении соединения в этой сети вызывает проблемы. Я обновлю свой вопрос, чтобы отразить эти новые выводы.
MrZander
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.