Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Погрузись в захватывающий шутер!

FRAGEN

Шутер, Экшены, Шутер от первого лица

Играть

Топ прошлой недели

  • SpongeGod SpongeGod 1 пост
  • Uncleyogurt007 Uncleyogurt007 9 постов
  • ZaTaS ZaTaS 3 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
11
spinik
8 лет назад

Мой опыт в настройке openvpn сервера для обхода блокировок.⁠⁠

Привет всем. Я сам родом из Украины. Кто не в курсе, наш президент запретил вконтакте, одноклассни, яндекс и mail.ru. Эти все сервисы очень важны для меня и я начал думать как ими пользоваться. Для android ставил Orbot (клиент TOR), OperaMax, OpenVPN(zaborona.help), для компьютера пользовался Opera с её встроенным VPN. Но все эти способы не устраивали меня. Сервис Zaborona.help подходил, но мне не нравилась маршрутизация через русский ip и что я не могу контролировать его. Скажу сразу -  у меня нет неприязни к русским.

Захотелось себе свой openvpn сервер. Начал я со сбора информации : что это за штука VPS, как с ней работать, как поставить openvpn, сколько стоит это удовольствие, какая мощность мне нужна для сервера 

Что такое VPS? Википедия дала исчерпывающий ответ  . И главное что я понял это не отдельный компьютер для сервер, а виртуальная машина на основе физического сервера.

Стоит такая штука от 1 доллара/евро в месяц в зависимости от мощности. Можно найти предложения и подешевле при оплате сразу за год.

Как я прочёл на хабре для сервера openvpn достаточно 256 мегабайт ОЗУ и  процессор от  1 Ггц.

Openvpn - это открытая реализация сервера VPN. Работает на Windows/Linux/Android/iOS.

Чтобы поставить openvpn на VPS можно воспользоваться кучей гайдов из сети или качнуть скрипт автоматической установки.

Управлять сервером нужно через конфигурационные файлы.

Итак: я купил VPS в Италии (сервис не буду называть чтобы не сочли за рекламу, он еще и в Чехии работает) за 1 евро в месяц. Мой конфиг :

Linux

1 Core Intel® Xeon® E5-2650L v4

1 GB RAM

20 GB SSD Storage

2TB/month data transfer

Мне такого хватит с головой.

Процесс оплаты я не буду описывать там всё стандартно.

При регистрации нужно ввести Hostnamе. Сначала меня ввело это в ступор, т.к. предлагалось в placeholder (серые буквы в поле ввода) ввести имя сайта. Но это не так, это нужно просто ввести имя машины, название сервера. Дальше я выбрал операционную систему Ubuntu 16.04. Ввёл данные для root пользователя, подождал 5 минут и мой сервер готов к установке openvpn. Чтобы получить доступ к его потрохам я скачал последнюю версию ssh клиента Putty (версия 0.7), установил её и получил доступ к командной строке.

Установка и настройка проходил по шагам:

1. Установил mc apt-get install mc . Ктопомнит нортонн командер или работает с FAR меня поймёт

2. Добавил в source list репозитарий openvpn. Использовал для этого команды:

wget -O - https://swupdate.openvpn.net/repos/repo-public.gpg|apt-key add -

echo "deb http://build.openvpn.net/debian/openvpn/ release/2.4 xenial main" > /etc/apt/sources.list.d/openvpn-aptrepo.list

3. Установил openvpn c помощью скрипта отсюда. Почему именно оттуда, мне было лень выполнять гайды состоящие из кучи шагов. При установке скрипт будет задавать вопросы в которых нужно будет сделать выбор типа сети, порта, названия файла конфигурации. Сам файл будет в /root.

4. Приступил к настройке самого сервера. Идею как его настроить почерпнул из конфигов Zaborona.help на гитхабе. Т.е. на моём сервере как и на забороне будет прокидывать vpn тунелль только к заблокированным сайтам. Адреса сайтов взял из конфигов забороны. Но я ещё хотел  чтобы можно было весь трафик пускать через vpn.

5. Итак у меня получилось 2 конфига.

server.conf:

port 1194 #порт на котором работает сервер

proto tcp #протокол работы сети

dev tun

sndbuf 0

rcvbuf 0

ca /etc/openvpn/ca.crt

cert /etc/openvpn/server.crt

key /etc/openvpn/server.key

dh /etc/openvpn/dh.pem

auth SHA512

tls-auth /etc/openvpn/ta.key 0

topology subnet

server 10.8.0.0 255.255.255.0 #ip адреса для клиентов сервера

#ifconfig-pool-persist ipp.txt

#push "redirect-gateway def1 bypass-dhcp" #после раскомментирования строки весь трафик будет идти чрез vpn

push "dhcp-option DNS 208.67.222.222" #использую OPENDNS

push "dhcp-option DNS 208.67.220.220"

push "route 208.67.220.220"

push "route 208.67.220.222"

keepalive 10 120

cipher AES-256-CBC

comp-lzo

user nobody

group nogroup

persist-key

persist-tun

status openvpn-status.log

verb 3

crl-verify /etc/openvpn/crl.pem

#log-append openvpn.log

mode server

duplicate-cn


# Routes - маршруты на запрещённые сайты


# Yandex network

push "route 5.45.192.0 255.255.192.0"

push "route 5.255.192.0 255.255.192.0"

push "route 37.9.64.0 255.255.192.0"

push "route 37.140.128.0 255.255.192.0"

push "route 77.75.152.0 255.255.248.0"

push "route 77.88.0.0 255.255.192.0"

push "route 84.201.128.0 255.255.192.0"

push "route 87.250.224.0 255.255.224.0"

push "route 93.158.128.0 255.255.192.0"

push "route 95.108.128.0 255.255.128.0"

push "route 100.43.64.0 255.255.224.0"

push "route 109.235.160.0 255.255.248.0"

push "route 130.193.32.0 255.255.224.0"

push "route 141.8.128.0 255.255.192.0"

push "route 178.154.128.0 255.255.128.0"

push "route 185.32.185.0 255.255.255.0"

push "route 185.32.186.0 255.255.255.0"

push "route 185.71.76.0 255.255.252.0"

push "route 199.21.96.0 255.255.252.0"

push "route 199.36.240.0 255.255.252.0"

push "route 213.180.192.0 255.255.224.0"


#push "route-ipv6 2001:678:384::/48"

#push "route-ipv6 2620:10f:d000::/44"

#push "route-ipv6 2a02:6b8::/32"

#push "route-ipv6 2a02:5180::/32"


# Mail.ru network

push "route 5.61.16.0 255.255.248.0"

push "route 5.61.232.0 255.255.248.0"

push "route 79.137.157.0 255.255.255.0"

push "route 79.137.183.0 255.255.255.0"

push "route 94.100.176.0 255.255.240.0"

push "route 95.163.32.0 255.255.224.0"

push "route 95.163.248.0 255.255.248.0"

push "route 128.140.168.0 255.255.248.0"

push "route 178.22.88.0 255.255.248.0"

push "route 178.237.16.0 255.255.240.0"

push "route 185.5.136.0 255.255.252.0"

push "route 185.16.148.0 255.255.252.0"

push "route 185.16.244.0 255.255.252.0"

push "route 188.93.56.0 255.255.248.0"

push "route 194.186.63.0 255.255.255.0"

push "route 195.211.20.0 255.255.252.0"

push "route 195.211.128.0 255.255.252.0"

push "route 195.218.168.0 255.255.255.0"

push "route 208.87.92.0 255.255.252.0"

push "route 217.20.144.0 255.255.240.0"

push "route 217.69.128.0 255.255.240.0"

push "route 185.6.244.0 255.255.252.0"

push "route 185.30.176.0 255.255.252.0"

push "route 195.218.190.0 255.255.254.0"


#push "route-ipv6 2a00:1148::/32"

#push "route-ipv6 2a00:a300::/32"

#push "route-ipv6 2a00:b4c0::/32"

#push "route-ipv6 2a04:4b40::/29"


# VK.com network

push "route 87.240.128.0 255.255.192.0"

push "route 93.186.224.0 255.255.240.0"

push "route 95.142.192.0 255.255.240.0"

push "route 95.213.0.0 255.255.192.0"

push "route 185.29.130.0 255.255.255.0"

push "route 185.32.248.0 255.255.252.0"


# Kaspersky network

push "route 77.74.176.0 255.255.252.0"

push "route 77.74.181.0 255.255.255.0"

push "route 77.74.183.0 255.255.255.0"

push "route 93.159.228.0 255.255.252.0"

push "route 185.54.220.0 255.255.254.0"

push "route 185.85.12.0 255.255.255.0"

push "route 185.85.14.0 255.255.254.0"

push "route 77.74.176.0 255.255.248.0"

push "route 91.103.64.0 255.255.248.0"

push "route 93.159.224.0 255.255.248.0"


#push "route-ipv6 2a03:2480::/33"


# DrWeb

push "route 178.248.232.183 255.255.255.255"

push "route 178.248.233.94 255.255.255.255"

push "route 195.88.252.0 255.255.254.0"

server2.conf:

port 1193

proto tcp

dev tun2

sndbuf 0

rcvbuf 0

ca /etc/openvpn/ca.crt

cert /etc/openvpn/server.crt

key /etc/openvpn/server.key

dh /etc/openvpn/dh.pem

auth SHA512

tls-auth /etc/openvpn/ta.key 0

topology subnet

server 10.8.1.0 255.255.255.0

#ifconfig-pool-persist ipp.txt

push "redirect-gateway def1 bypass-dhcp"

push "dhcp-option DNS 208.67.222.222"

push "dhcp-option DNS 208.67.220.220"

keepalive 10 120

cipher AES-256-CBC

comp-lzo

user nobody

group nogroup

persist-key

persist-tun

status openvpn-status.log

verb 3

crl-verify /etc/openvpn/crl.pem

duplicate-cn


6. Чтобы заработало сразу 2 конфига нужно было в файле /etc/rc.local добавить маршрутизацию и запуск 2-х экземпляров сервера

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j SNAT --to ip_address_vps

iptables -t nat -A POSTROUTING -s 10.8.1.0/24 ! -d 10.8.1.0/24 -j SNAT --to ip_address_vps

sudo service openvpn start server

sudo service openvpn start server2

до строчки exit


7. Команды управления openvpn:

openvpn --config /etc/openvpn/server.conf - проверка выбранного конфига, нет ли в нём конфликтующих опций

service openvpn restart или stop или start или status

8. Установка и настройка ftp сервера - чтобы забрать файл конфигурации для клиентов

apt-get install vsftpd

конфиг находится по пути /etc/vsftpd.conf

мой конфиг:

listen=YES

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

use_localtime=YES

connect_from_port_20=YES

xferlog_enable=YES

ascii_upload_enable=YES

ascii_download_enable=YES

secure_chroot_dir=/var/run/vsftpd/empty

pam_service_name=vsftpd

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

ssl_enable=NO

utf8_filesystem=YES

chroot_local_user=NO  - опция отвечающая чтобы юзер попадал только в свою домашнюю дтректорию

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list - список юзеров у которых  доступен вход в домашнюю директорию

Чтобы зайти на ftp сервер нужно создать отдельного пользователя командой

useradd ftp_user - вводим ему пароль, потом идём в /home/ftp_user и создаём папку с правами на запись.

Нюанс заключается в том что в самой директории /home/ftp_user права только на чтение, а в  созданной папке уже и на запись.

/etc/vsftpd.chroot_list содержит только имя юзера ftp_user

9. Скачиваем файл конфигурации и изменяем его для 2-х конфигов.

Менять нужно только порт чтобы соответсвовал конфигу. Для каждого конфига свой файл конфигурации.


10. Для windows качаем openvpn клиент, импортируем конфигурацию и подключаемся. Для android я рекомендую использовать "Openvpn для Android",  тоже делаем импорт конфигурации и настраиваем какие приложения должны бегать через vpn.


После всего этого осталось только вовремя оплачивать аренду сервера.

Показать полностью
[моё] Длино-пост Openvpn VPS Vsfptd Конфиг Длиннопост Текст
46
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии