У меня на работе в корпоративной сети правило: запрещено все, кроме того что разрешено.
Запрещено даже зеркало яндекс, где и лежат бинарники 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.