Openvpn в корпоративной сети

У меня на работе в корпоративной сети правило: запрещено все, кроме того что разрешено.

Запрещено даже зеркало яндекс, где и лежат бинарники Calculate.

Пробросим vpn до домашнего компьютера.

Ставим и настраиваем openvpn по данной статье: https://wiki.calculate-linux.org/ru/openvpn

По скольку все порты у нас запрещены, кроме 443, вносим изменения в серверный конфиг openvpn.

Настройка сервера

Изменяем строчку в конфиге

port 443
proto tcp
dev tun0
compress lzo
tls-server
cipher AES-256-CBC
auth SHA256
ca keys/ca.crt
cert keys/server.crt
key keys/server.key
dh keys/dh.pem
tls-auth keys/ta.key 0
server 10.10.0.0 255.255.255.0 # собственно наша виртуальная сеть
topology subnet
push “redirect-gateway def1” # Перенаправлять default gateway на vpn-сервер.
client-config-dir ccd # Директория для клиентских конфигов
push “route 192.168.0.0 255.255.255.0”
push “dhcp-option DNS 1.1.1.1”
push “dhcp-option DNS 8.8.8.8”
duplicate-cn
keepalive 10 120
user openvpn
group openvpn
persist-tun
persist-key
status /var/log/openvpn-status.log

Не забываем рестартовать сервис.

Настройка клиента

Изменяем конфигурацию

client
proto tcp
dev tun
compress lzo

remote х.х.х.х 443 - адрес и порт домашнего компьютера.

persist-tun
persist-key
remote-cert-tls server
ca keys/ca.crt
cert keys/client.crt
key keys/client.key
tls-auth keys/ta.key 1
status /var/log/openvpn-status.log
resolv-retry infinite
nobind
verb 4
auth SHA256
auth-user-pass gw-auth.txt
auth-nocache
key-direction 1

Добавляем строчку в конфиг клиента
http-proxy х.х.х.х 3128 proxy-auth.txt ntlm

  • х.х.х.х адрес и порт корпоративного прокси
  • proxy-auth.txt файл в каталоге /etc/openvpn/, в котором указан логин пароль от корпоративного прокси
  • ntlm - тип авторизации

формат файла proxy-auth.txt
DOMAIN\login
Password

Добавляем строчку в конфиг клиента
auth-user-pass gw-auth.txt

  • gw-auth.txt - файл в каталоге /etc/openvpn/gw-auth.txt

формат файла gw-auth.txt
login от remote х.х.х.х
Password

Общая логика работы:

# по dhcp получаем IP адрес и default gateway в корпоративной сети
# соединяемся с домашним компьютером через прокси (в моем случае Microsoft Forefront Threat Management Gateway) по порту 443, который скорее всего разрешен.

Корпоративный прокси, в моем случае, работает через ntlm идентификацию.

ИТОГ

В моем случае, настройка сервера сделана так, чтобы default gateway направлялся на vpn-сервер.
Поэтому все запросы идут через интерфейс tun0.
Поэтому пришлось добавить файл с маршрутами до корпоративных ресурсов.

Не решено

Я параноик и меня смущает, что логины и пароли в файлах: gw-auth.txt и proxy-auth.txt указаны в режиме PLAIN TEXT.

Установил openvpn, но почему то отсутствует /etc/openvpn/openvpn.conf
Его надо ручками писать или где то есть заготовка ?

я создавал руками. Тем более, что пример приведен выше.

Чето не стартует с этим конфигом

 local 192.168.1.2 


 port 1194 
 proto udp 
 dev tun 
 ca /etc/openvpn/keys/ca.crt
 cert /etc/openvpn/keys/serverVPN.crt
 key /etc/openvpn/keys/serverVPN.key  # Этот файл необходимо хранить в секрете_
 topology subnet
 push "redirect-gateway def1"
 push "dhcp-option DNS 8.8.8.8"
 keepalive 10 120
 ifconfig-pool-persist ipp.txt  
 keepalive 10 120

 tls-auth ta.key 0 
 compress lzo_*

 max-clients 100

 user openvpn
 group openvpn persist-key
 persist-tun 
 status /var/log/openvpn-status.log
 log         /var/log/openvpn.log
 log-append  openvpn.log

CDS /etc/openvpn # /etc/init.d/openvpn start
openvpn | * Starting openvpn …
openvpn | * start-stop-daemon: failed to start `/usr/sbin/openvpn’
openvpn | * Check your logs to see why startup failed [ !! ]
openvpn | * ERROR: openvpn failed to start
CDS /etc/openvpn #

В лог-файлах тоже пусто :frowning:
Посоветуйте где покопаться