VPN: различия между версиями
(не показано 20 промежуточных версий 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 | |||
openvpn CLIENTNAME.ovpn | === Как сервис === | ||
Переиместить 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 | |||
Поднимется новый интерфейс и добавится правило маршрутизации для айпи сервера. | Поднимется новый интерфейс и добавится правило маршрутизации для айпи сервера. | ||
Проверить можно так: | Проверить можно так: | ||
ping ip_openvpn_server | # ping ip_openvpn_server | ||
=== Подключение | === Подключение на Android === | ||
# Установить приложение [https://play.google.com/store/apps/details?id=net.openvpn.openvpn&hl=ru OpenVPN connect] | # Установить приложение [https://play.google.com/store/apps/details?id=net.openvpn.openvpn&hl=ru OpenVPN connect] | ||
# Импортировать .ovpn файл | # Импортировать предварительно скачанный .ovpn-файл (Import -> Import from SD card) | ||
== | === Подключение iPhone === | ||
== Статьи 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://habrahabr.ru/post/246281/ | *[https://habrahabr.ru/post/246281/ Масштабирование vpn] | ||
*[https://github.com/kylemanna/docker-openvpn | *[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
- Установить приложение OpenVPN connect
- Импортировать предварительно скачанный .ovpn-файл (Import -> Import from SD card)
Подключение iPhone
Статьи Etersoft о применении реализаций VPN
- [[OpenVPN]
- Racoon
- Бага о переносе fund
Ссылки
- https://wiki.archlinux.org/index.php/OpenVPN_(Русский)
- Хороший официальный мануал
- Создания мостов через openvpn xgu
- Статья про openvpn в альте
- Огромная и подробная статья на хабре
- Обход блокировок
- Масштабирование vpn
- Докер-контейнер
- docker
- Разные советы (english)
- https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-16-04
- Скрипт Streisand создаёт новый сервер, использующий L2TP/IPsec, OpenConnect, OpenSSH, OpenVPN, Shadowsocks, sslh, Stunnel, мост Tor, и WireGuard