VPN: различия между версиями

Материал из Etersoft wiki
Перейти к навигацииПерейти к поиску
(Новая страница: «VPN (англ. Virtual Private Network — виртуальная частная сеть) — обобщённое название технологий, поз…»)
 
 
(не показаны 22 промежуточные версии 3 участников)
Строка 20: Строка 20:
Retrieve the client configuration with embedded certificates
Retrieve the client configuration with embedded certificates
  docker run --volumes-from $OVPN_DATA --rm kylemanna/openvpn ovpn_getclient CLIENTNAME > CLIENTNAME.ovpn
  docker run --volumes-from $OVPN_DATA --rm kylemanna/openvpn ovpn_getclient CLIENTNAME > CLIENTNAME.ovpn
== Настройка сервера (из пакета) ==
=== Установить нужные пакеты ===
epmi openssl openvpn openvpn-auth-pam easy-rsa
=== Сгенерировать ключи ===
Воспользуемся скриптами из докер контейнера (TODO адаптировать и собрать в пакет)
cd /usr/local/
git clone https://github.com/kylemanna/docker-openvpn.git
cd docker-openvpn/bin
Дальше настройка аналогична докеру за исключением переменных окружения.
1. Создать конфиг и ключи
OPENVPN=/etc/openvpn EASYRSA_PKI=/etc/openvpn/pki /usr/local/docker-openvpn/bin/ovpn_genconfig -u udp://fund.eterhost.ru
OPENVPN=/etc/openvpn /usr/local/docker-openvpn/bin/ovpn_initpki
2. Запустить и прописать в автозагрузку openvpn
serv openvpn on
3. Выпустить ключ для подключения eter
cd /etc/openvpn
easyrsa build-client-full eter nopass
OPENVPN=/etc/openvpn /usr/local/docker-openvpn/bin/ovpn_getclient eter > /tmp/eter.ovpn


== Запуск на клиенте ==  
== Запуск на клиенте ==  
Файл настроек ovpn для подкючения к fund.eterhost.ru
/home/share/resources/vpn/eter.ovpn.conf
=== Как сервис ===
Переиместить eter.ovpn
mv eter.ovpn /etc/openvpn/eter.ovpn.conf
Запустить сервис
serv openvpn start
==== Создание моста ====
На сервере и клиенте:<br>
1. В конфиге /etc/openvpn/vpn.ovpn.conf сменить тип интерфейса tun на tap <br>
2. Добавить интерфейс в мост
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 tap0
3. Добавить в автозагрузку
echo "brctl addif br0 tap0" > /etc/rc.d/rc.local


  openvpn CLIENTNAME.ovpn
=== В консоли ===
  # openvpn CLIENTNAME.ovpn


Поднимется новый интерфейс и добавится правило маршрутизации для айпи сервера.
Поднимется новый интерфейс и добавится правило маршрутизации для айпи сервера.
Проверить можно так:
Проверить можно так:
  ping ip_openvpn_server
  # ping ip_openvpn_server
 
=== Подключение на Android ===
# Установить приложение [https://play.google.com/store/apps/details?id=net.openvpn.openvpn&hl=ru OpenVPN connect]
# Импортировать предварительно скачанный .ovpn-файл (Import -> Import from SD card)


== Настройка сервера (из пакета) ==
=== Подключение iPhone ===


TODO
== Статьи Etersoft о применении реализаций VPN ==
* [[OpenVPN]
* [[Racoon]]
* [http://bugs.etersoft.ru/show_bug.cgi?id=10945 Бага о переносе fund]


== Ссылки ==
== Ссылки ==
* https://wiki.archlinux.org/index.php/OpenVPN_(Русский)
*[https://openvpn.net/index.php/open-source/documentation/howto.html Хороший официальный мануал]
*[http://xgu.ru/wiki/OpenVPN_Bridge Создания мостов через openvpn xgu]
*[https://www.altlinux.org/OpenVPN Статья про openvpn в альте]
*[https://habrahabr.ru/post/233971/ Огромная и подробная статья на хабре]
*[https://habrahabr.ru/post/233971/ Огромная и подробная статья на хабре]
*[https://habrahabr.ru/post/153855/ Обход блокировок]
*[https://habrahabr.ru/post/153855/ Обход блокировок]
*[https://github.com/kylemanna/docker-openvpn Докерт контейнер]
*[https://habrahabr.ru/post/246281/ Масштабирование vpn]
*[https://github.com/kylemanna/docker-openvpn Докер-контейнер]
*[[docker]]
*[[docker]]
* [https://blog.g3rt.nl/openvpn-security-tips.html Разные советы (english)]
* https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-16-04
* [https://habrahabr.ru/company/ruvds/blog/343050/ Скрипт Streisand создаёт новый сервер, использующий L2TP/IPsec, OpenConnect, OpenSSH, OpenVPN, Shadowsocks, sslh, Stunnel, мост Tor, и WireGuard]
[[Категория:Администрирование]]

Текущая версия на 13:28, 25 ноября 2017

VPN (англ. Virtual Private Network — виртуальная частная сеть) — обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (например, Интернет). Грубо говоря прямо соединить проводом два удалённых компьютера.

Настройка сервера (docker)

Отличный контейнер и инструкция: https://github.com/kylemanna/docker-openvpn

Create the $OVPN_DATA volume container, i.e. OVPN_DATA="ovpn-data"

docker run --name $OVPN_DATA -v /etc/openvpn busybox

Initialize the $OVPN_DATA container that will hold the configuration files and certificates

docker run --volumes-from $OVPN_DATA --rm kylemanna/openvpn ovpn_genconfig -u udp://VPN.SERVERNAME.COM
docker run --volumes-from $OVPN_DATA --rm -it kylemanna/openvpn ovpn_initpki

Start OpenVPN server process

docker run --volumes-from $OVPN_DATA -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn

Generate a client certificate without a passphrase

docker run --volumes-from $OVPN_DATA --rm -it kylemanna/openvpn easyrsa build-client-full CLIENTNAME nopass

Retrieve the client configuration with embedded certificates

docker run --volumes-from $OVPN_DATA --rm kylemanna/openvpn ovpn_getclient CLIENTNAME > CLIENTNAME.ovpn

Настройка сервера (из пакета)

Установить нужные пакеты

epmi openssl openvpn openvpn-auth-pam easy-rsa

Сгенерировать ключи

Воспользуемся скриптами из докер контейнера (TODO адаптировать и собрать в пакет)

cd /usr/local/
git clone https://github.com/kylemanna/docker-openvpn.git
cd docker-openvpn/bin

Дальше настройка аналогична докеру за исключением переменных окружения.

1. Создать конфиг и ключи

OPENVPN=/etc/openvpn EASYRSA_PKI=/etc/openvpn/pki /usr/local/docker-openvpn/bin/ovpn_genconfig -u udp://fund.eterhost.ru
OPENVPN=/etc/openvpn /usr/local/docker-openvpn/bin/ovpn_initpki

2. Запустить и прописать в автозагрузку openvpn

serv openvpn on

3. Выпустить ключ для подключения eter

cd /etc/openvpn
easyrsa build-client-full eter nopass
OPENVPN=/etc/openvpn /usr/local/docker-openvpn/bin/ovpn_getclient eter > /tmp/eter.ovpn

Запуск на клиенте

Файл настроек ovpn для подкючения к fund.eterhost.ru

/home/share/resources/vpn/eter.ovpn.conf

Как сервис

Переиместить eter.ovpn

mv eter.ovpn /etc/openvpn/eter.ovpn.conf

Запустить сервис

serv openvpn start

Создание моста

На сервере и клиенте:
1. В конфиге /etc/openvpn/vpn.ovpn.conf сменить тип интерфейса tun на tap

2. Добавить интерфейс в мост

brctl addbr br0
brctl addif br0 eth0
brctl addif br0 tap0

3. Добавить в автозагрузку

echo "brctl addif br0 tap0" > /etc/rc.d/rc.local

В консоли

# openvpn CLIENTNAME.ovpn

Поднимется новый интерфейс и добавится правило маршрутизации для айпи сервера. Проверить можно так:

# ping ip_openvpn_server

Подключение на Android

  1. Установить приложение OpenVPN connect
  2. Импортировать предварительно скачанный .ovpn-файл (Import -> Import from SD card)

Подключение iPhone

Статьи Etersoft о применении реализаций VPN

Ссылки