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

Грибные блоки

Головоломки, Расслабляющая, Пазлы

Играть

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

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

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

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

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

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

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

Linux + VPN

С этим тегом используют

Windows IT Программирование Ubuntu IT юмор Компьютер Программист Блокировка Интернет Роскомнадзор YouTube Блокировка YouTube Политика Вопрос Все
83 поста сначала свежее
14
DELETED
4 года назад

Авылда №0. Видеонаблюдение, сетевая часть. Длинно и скучно⁠⁠

Сколько ни откладывай неизбежное, а закончить рассказ о видеонаблюдении придётся.


Остановился я на том моменте, когда сервер собран и настроен. Дать ему доступ в интернет - не проблема, поскольку деревня недалеко от города, 4g на телефоне ловится без проблем. Однако, когда я поставил брендированный роутер от Йоты, он хоть и показывал хороший уровень сигнала, но работать устойчиво отказывался. Пришлось купить выносную антенну и прикрутить её к роутеру. Антенну выбирал обязательно с поддержкой 20-ой полосы (800 мГц). Для краткости просто примем, что это диапазон, на котором LTE работает за городом.


Итак, интернеты у меня появились. Но из интернета доступ к видеосерверу по-прежнему невозможен, потому что роутеру Йота выдает внутренний адрес, а услуга аренды внешнего ip для физиков у них невозможна в принципе. Однако дома-то у меня есть постоянный внешний ip-адрес, хоть и от другого провайдера. Еще у меня дома есть постоянно включенный мини-сервер для скачивания торрентов, хранения библиотеки с медиа и всякого по мелочи. Решение напрашивается само собой - создать туннель между видеосервером в деревне и домашним сервером, чтобы видеосервер стал доступен в домашней сети, а затем пробросить ему необходимые порты на домашнем роутере. Приступаем.


Для поднятия туннеля используем OpenVPN. Авторизацию настроим по ключу - это просто, надежно и безопасно (до тех пор, пока нет физического доступа к серверам). Начинаем с сервера - устанавливаем, настраиваем, генерируем ключи:


Обновляем систему (напомню, что это Ubuntu 16.04.7 LTS Server), ставим OpenVPN и всякое нужное, переходим в директорию для дальнейшей настройки

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install openvpn easy-rsa bridge-utils
cd /usr/share/easy-rsa

Можно заполнить дефолтные значения, которые будут подставляться при создании сертификатов. Можно не заполнять.

vim ./vars

export KEY_COUNTRY="RU"

export KEY_PROVINCE="TAT"
export KEY_CITY="Avylda"
export KEY_ORG="Khareji"
export KEY_EMAIL="admin@khareji.ru"
export KEY_OU="vpn"
source ./vars

генерируем корневой сертификат удостоверяющего центра

./build-ca

генерируем ключ Диффи-Хельмана, это долго

./build-dh

Создаем ключ для сервера, он будет называаться vpnserv

./build-key-server vpnserv

Создаем ключ для клиента, он будет называться avreg

./build-key avreg

Чтобы всё лежало в одном месте, делаю ссылку на директорию с ключами. Можно не делать, тогда в настройках сервера надо указать правильный путь.

ln -s /usr/share/easy-rsa/keys /etc/openvpn/keys

Далее переходим к настройке OpenVPN. Есть два пути - использовать TUN или TAP интерфейс. Что это такое я описывать не буду, кто захочет - сам почитает. Мне нужен TAP, поскольку я буду объединять физический и туннельный интерфейсы мостом, чтобы видеосервер оказался в домашней подсети.


Использовать я буду следующие адреса:

192.168.1.1 - внутренний адрес домашнего роутера

192.168.1.2 - адрес впн-сервера

192.168.1.100 - адрес видеосервера в домашней сети

95.78.1.2 - внешний адрес домашнего роутера

10.0.0.1 - внутренний адрес деревенского роутера


Само собой разумеется, что на домашнем роутере udp порт 1194 проброшен на 192.168.1.2, чтобы можно было поднять туннель из интернета. Порты tcp 80 и 847 проброшены на 192.168.1.100, чтобы видеосервер был доступен из интернета.


Настраиваем сервер

vim /etc/openvpn/server.conf

Из интересного здесь:

server-bridge, где указываем адрес сервера, подсеть и пул адресов клиентов.

ifconfig-pool-persist, где мы указываем файл с настройками клиентов. 0 в конце обязателен для того, чтобы этот файл не перезаписывался сервером при рестарте.


mode server

tls-server
port 1194
proto udp
dev tap0
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/vpnserv.crt
key /etc/openvpn/keys/vpnserv.key
dh /etc/openvpn/keys/dh2048.pem
server-bridge 192.168.1.2 255.255.255.0 192.168.1.100 192.168.1.110
max-clients 3
ifconfig-pool-persist /etc/openvpn/ipp.txt 0
comp-lzo no
cipher AES-256-CBC
keepalive 10 120
client-to-client
verb 3

После этого перейдем к настройке моста на сервере. Делать это, конечно же, будем не руками. Создаем скрипт.

vim /etc/openvpn/openvpn-bridge
eth_ip это адрес сервера, eth_gateway это адрес роутера, eth это имя физического интерфейса. В принципе, ничего сложного.
#!/bin/sh
br="br0"
tap="tap0"
eth="enp1s0"
eth_ip="192.168.1.2"
eth_netmask="255.255.255.0"
eth_broadcast="192.168.1.255"
eth_gateway="192.168.1.1"
case "$1" in
start)
for t in $tap; do
openvpn --mktun --dev $t
done
brctl addbr $br
brctl addif $br $eth
for t in $tap; do
brctl addif $br $t
done
for t in $tap; do
ifconfig $t 0.0.0.0 promisc up
done
ifconfig $eth 0.0.0.0 promisc up
ifconfig $br $eth_ip netmask $eth_netmask broadcast $eth_broadcast
sleep 1
route add default gw $eth_gateway
;;
stop)
ifconfig $br down
brctl delbr $br
for t in $tap; do
openvpn --rmtun --dev $t
done
ifconfig $eth $eth_ip netmask $eth_netmask broadcast $eth_broadcast
route add default gw $eth_gateway
;;
*)
echo "Usage: openvpn-bridge {start|stop}"
exit 1
;;
esac
exit 0

Делаем скрипт исполняемым

chmod +x /etc/openvpn/openvpn-bridge

Редактируем systemd скрипт запуска OpenVPN, чтобы при старте сервера интерфейсы настраивались автоматически

vim /lib/systemd/system/openvpn.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/true
ExecReload=/bin/true
WorkingDirectory=/etc/openvpn
ExecStartPre=/etc/openvpn/openvpn-bridge start
ExecStopPost=/etc/openvpn/openvpn-bridge stop
systemctl daemon-reload

Сразу создадим файл с настройками клиентов

vim /etc/openvpn/ipp.txt
avreg,192.168.1.100

Готово. Сервер настроен.



Переходим к настройке клиента. Там всё одновременно проще и сложнее. Проще, потому что клиент легче в настройке, а сложнее потому что надо настраивать маршрутизацию.


Обновляем систему (напомню, что здесь Ubuntu 20.04.1 LTS Server), ставим OpenVPN

apt update && apt full-upgrade
apt install openvpn

Копируем с сервера ключи avreg.crt avreg.key ca.crt, кладем их в /etc/openvpn/

Настраиваем клиент

vim /etc/openvpn/client/client.conf

Из интересного здесь - параметры remote с адресом сервера, shaper с ограничением скорости (вам скорее всего не нужен)

client
remote 95.78.1.2 1194
nobind
proto udp
dev tap0
ca /etc/openvpn/ca.crt
cert /etc/openvpn/avreg.crt
key /etc/openvpn/avreg.key
comp-lzo no
cipher AES-256-CBC
persist-key
persist-tun
pull
log /var/log/openvpn.log
verb 3
shaper 262144

Запускаем, добавляем сервис в автозапуск.

systemctl start openvpn-client@client
systemctl enable openvpn-client@client

Настройка клиента закончена, туннель должен подняться, видеосервер должен стать доступен из домашней сети. Попробуем зайти на внешний адрес домашнего роутера и убедимся, что при проверке из интернета ничего не работает.


Попробуем разобраться. На клиенте сейчас есть три интерфейса. Локальный lo, физический enp1s8, туннельный tap0.

Маршрут по умолчанию сейчас

default _gateway 0.0.0.0 UG 0 0 0 enp1s8

Это означает, что все пакеты из неизвестных сетей улетят через физический интерфейс к провайдеру. Однако эти пакеты прилетели через туннельный интерфейс, перед тем пройдя через NAT на домашнем роутере. Роутер переписал в заголовках пакетов адрес источника. Провайдер не знает, что с этими пакетами делать и просто их отбросит.

Решение очевидно - надо поменять маршрут по умолчанию, чтобы завернуть исходящий трафик через туннельный интерфейс. Однако, если прямо сейчас это сделать, то перестанет работать вообще всё, потому что openvpn-клиент не сможет общаться с внешним ip openvpn-сервера через физический интерфейс.

Очевидно, что сначала надо добавить маршрут до openvpn-сервера, а потом поменять маршрут по умолчанию. Выглядит несложно. Делать это будем конечно же автоматически скриптом при создании туннеля.


Создаем скрипт, делаем исполняемым.

vim /etc/openvpn/openvpn-route-client
#!/bin/sh
case "$1" in
start)
sleep 10
route add -host 95.78.1.2 gw 10.0.0.1
sleep 1
route del default gw 10.0.0.1
sleep 1
route add default gw 192.168.1.1
;;
stop)
sleep 10
route del -host 95.78.1.2 gw 10.0.0.1
sleep 1
route del default gw 192.168.1.1
sleep 1
route add default gw 10.0.0.1
;;
*)
echo "Usage: openvpn-route-%i {start|stop}"
exit 1
;;
esac
exit 0
chmod +x /etc/openvpn/openvpn-route-client

Скрипт добавляем в systemd файл openvpn-клиента, перечитываем изменения

vim /lib/systemd/system/openvpn-client@.service
[Service]
...
ExecStartPost=/etc/openvpn/openvpn-route-%i start
ExecStopPost=/etc/openvpn/openvpn-route-%i stop
systemctl daemon-reload

Для проверки, что всё поднимается как надо, перезагружаем клиент и сервер. Убеждаемся, что всё поднялось и работает.

Авылда №0. Видеонаблюдение, сетевая часть. Длинно и скучно Linux, VPN, Локальная сеть, Длиннопост

При этом нужно помнить, что из интернета надо обращаться на внешний адрес роутера, из домашней сети надо обращаться на внутренний адрес vpn-клиента в домашней сети, из деревенской wifi-сети надо обращаться на физический интерфейс видеосервера. Всё это элементарно решается правильной настройкой dns и файла hosts.


Всё описанное на других дистрибутивах с отличными от моих версиями openvpn/easy-rsa может настраиваться сильно иначе. Rtfm.


Пост писался спустя три месяца после настройки всех событий по памяти и выводу команды history. Если что-то упустил - посыпаю голову пеплом.

Задавайте вопросы.

Показать полностью 1
[моё] Linux VPN Локальная сеть Длиннопост
13
51
megavolt0
megavolt0
5 лет назад

Pritunl — поставим энтерпрайз на службу человеку⁠⁠

Ранее я уже выкладывал на Пикабу статьи про личные VPN, личные хранилища файлов и прочие штуки для защиты личной информации. Это статья про интересную оболочку для OpenVPN. Если у Вас никогда не было личного VPN сервера, самое  время им обзавестись. Ниже пошаговая инструкция с картинками. Это просто. Вы сможете. Поберегите товарища майора, зачем ему нервничать из-за Ваших предпочтений в сети Интернет?

Примечание 1: это статья рассчитана на нулевой или начальный уровень читающего. Очень подробно и просто, без занудства.

Примечание 2: Всё описанное в этой статье приведено только в обучающих целях и не должно быть использовано для противоправных действий.

Примечание 3: статья может и будет дорабатываться. Наиболее актуальный вариант как всегда в первоисточнике. Да и конфиги там выглядят как надо.

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

Pritunl — тот же OpenVPN, но с преферансом и куртизанками. Почитать можно здесь. На самом деле Pritunl является оболочкой для OpenVPN, предоставляя удобный графический интерфейс для создания конфигураций OpenVPN сервера, создания пользователей, генерации ключей и т.д. Продукт предназначен для энтерпрайза, но есть и бесплатная версия. Её функционал урезан, однако для личных целей или для малого офиса его вполне достаточно. Установка не сложная, советую попробовать.

Нам понадобится любой VPS с поддержкой TUN/TAP. Pritunl можно поставить практически на любую операционную систему. Про это можно почитать здесь. В рамках данной статьи будет применяться CentOS 7.

Обновим сервер командами:

yum -y install epel-release

yum -y update

Для начала настройте безопасную аутентификацию на сервере, как написано здесь. Далее настроим правила файрволла. В текущей статье будет настраиваться следующая конфигурация: порт для web-консоли — 4445, порт для подключение ovpn-клиентов — 443. Для настроийки файрволла используйте вот эту инструкцию. Единственный момент — в файл ipt-set вписывайте не то, что указано в инструкции, а вот такое содержимое:

#!/bin/sh

IF_EXT="venet0"

VPN_PORT="443"

WEBADMIN_PORT="4445"

IPT="/sbin/iptables"

IPT6="/sbin/ip6tables"

# flush

$IPT --flush

$IPT -t nat --flush

$IPT -t mangle --flush

$IPT -X

$IPT6 --flush

# default

$IPT -P INPUT DROP

$IPT -P OUTPUT DROP

$IPT -P FORWARD DROP

$IPT6 -P INPUT DROP

$IPT6 -P OUTPUT DROP

$IPT6 -P FORWARD DROP

# loopback

$IPT -A INPUT -i lo -j ACCEPT

$IPT -A OUTPUT -o lo -j ACCEPT

$IPT6 -A INPUT -i lo -j ACCEPT

$IPT6 -A OUTPUT -o lo -j ACCEPT

# allow forwarding

echo 1 > /proc/sys/net/ipv4/ip_forward

# INPUT chain

# #########################################

$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPT6 -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# ssh

$IPT -A INPUT -p tcp --dport 22 -j ACCEPT

# pritunl_web

$IPT -A INPUT -p tcp --dport $WEBADMIN_PORT -j ACCEPT

$IPT -A INPUT -p tcp --dport 80 -j ACCEPT

# pritunl_vpn

$IPT -A INPUT -p tcp --dport $VPN_PORT -j ACCEPT

$IPT -A INPUT -p udp --dport $VPN_PORT -j ACCEPT

# OUTPUT chain

# #########################################

$IPT -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

$IPT6 -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Не забудьте про правильное имя внешнего интерфейса в переменной IF_EXT.

Если всё сделано верно, то по команде

iptables -L -n

будет получен такой вывод:

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

Обратите внимание, что открыт также порт 80. Это нужно для получения и обновления сертификатов от LetsEncrypt для нашей web-консоли. Не лишним будет проверить, что этот порт не занят. Такое может быть, если при установке операционной системы сразу установлен apache или иной web-сервер. Выполните команду:

netstat -tulnp | grep 80

В ответ мы должны получить ровно ничего, а значит порт свободен.

Если система ругается, что -bash: netstat: command not found, то выполняем команду:

yum install net-tools -y

Теперь пробуем:

netstat -tulnp | grep 80

Если в выводе команды видим:

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

то значит порт занят, в данном случае, службой httpd. Остановим её и уберем из автозагрузки:

systemctl stop httpd

systemctl disable httpd

Таким же способом можно проверить незанятость порта 443.

Теперь добавим репозиторий mongodb командой:

tee /etc/yum.repos.d/mongodb-org-4.0.repo << EOF

[mongodb-org-4.0]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64...

gpgcheck=1

enabled=1

gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

EOF

Добавим репозиторий pritunl командой:

tee /etc/yum.repos.d/pritunl.repo << EOF

[pritunl]

name=Pritunl Repository

baseurl=https://repo.pritunl.com/stable/yum/centos/7/

gpgcheck=1

enabled=1

EOF

Импортируем ключи:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7....

gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A

gpg --armor --export 7568D9BB55FF9E5287D586017AE645C0CF8E292A > key.tmp; rpm --import key.tmp; rm -f key.tmp

Теперь можно установить mongodb и pritunl командами:

yum -y install pritunl mongodb-org

Запустим службы mongodb и pritunl и добавим в автозагрузку mongodb:

systemctl start mongod pritunl

systemctl enable mongod

Запустите приведенные ниже команды, чтобы увеличить ограничение на количество открытых файлов на сервере. Это нужно для нормальной работы mongodb:

sh -c 'echo "* hard nofile 64000" >> /etc/security/limits.conf'

sh -c 'echo "* soft nofile 64000" >> /etc/security/limits.conf'

sh -c 'echo "root hard nofile 64000" >> /etc/security/limits.conf'

sh -c 'echo "root soft nofile 64000" >> /etc/security/limits.conf'

Когда вы запускаете Pritunl в первый раз, на веб-сервере, работающем через порт 443, вам будет показано приглашение настроить базу данных. Программа установки базы данных запросит ключ установки и URI MongoDB. Чтобы получить ключ установки запустите команду:

pritunl setup-key

В ответ получите тот самый setup-key из цифр и букв.

Теперь можно перейти по адресу https://[IP-адрес вашего сервера] в браузере. Так как сертификат для https пока самоподписанный, то увидим предупреждение. Соглашаемся:

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

Получаем приглашение настроить базу данных:

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

Используем секретный ключ, полученный ранее командой pritunl setup-key. Строчку URI не трогаем.

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

Некоторое время будет идти создание и настройка базы данных.

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

После это появится запрос логина и пароля.

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

Логин и пароль получим в ssh-консоли командой:

pritunl default-password

Вводим логин и пароль и попадаем в web-консоль. Нас сразу попросят сделать базовые настройки.

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

Здесь вам нужно сделать как инимум одну настройку: поменять порт с 443 на 4445. Также рекомендую изменить имя пользователя и пароль с дефолтных на свои.

Также, если у Вас есть доменное имя и настроена DNS-запись на IP-адрес сервера (подробнее можно найти в этой статье), то може вписать это имя в поле «Lets Encrypt Domain». Это позволит ходить в консоль по имени, а не по IP-адресу и не получать указанное выше предупреждение браузера при каждом входе. Если использовать доменное имя не планируется, оставьте поле пустым. Вы всегда можете вернуться к этим настройкам позднее.

Когда настройки сделаны, нажмите Save. Если вы ввели доменное имя, то некоторое время будет происходить получение сертификата Lets Encrypt . Обычно 5-10 секунд.

Так как порт мы поменяли, то в браузере нужно открыть новый адрес:

-- https://[IP-адрес вашего сервера]:4445 — если доменное имя не используется

-- https://[имя сервера]:4445 — если доменное имя используется

Теперь мы видим консоль

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

Осталось сделать еще одну вещь, прежде, чем мы начнем конфигурировать vpn-сервер.

Мы будем в web-консоли создавать vpn-серверы, а pritunl будет сам прописывать правила для них в iptables. При этом, в начале статьи, мы сделали свои настройки iptables. Нужно сделать так, чтобы это всё уживалось и не конфликтовало. Выше, после установки mongodb и pritunl мы добавили в автозагрузку только mongodb. И это неспроста. Теперь в файл /root/ipt-set в самом конце мы допишем строчки:

# Starting Pritunl Service

systemctl start pritunl

Сохраним и перезагрузим сервер командой reboot.

Т.е. теперь у нас будут при запуске сервера отрабатываться настройки iptables из файла ipt-set и только после применения настроек скрипт ipt-set запустит pritunl, а тот уже, в свою очередь, добавит в iptables свои настройки. В итоге никаких конфликтов и никаких лишних доступов.

Всё, ssh-консоль больше не нужна, заходим в web-консоль и работаем с ней. Жмём сверху в меню «Users», а потом кнопку «Add Organization».

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

Вводим любое имя организации. Не важно.

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

И нажимаем «Add». Теперь жмём «Add User». Здесь вводим имя будущего пользователя, а также пин-код. В пин-коде должно быть не менее 6 цифр. Он используется как второй фактор при авторизации. Email вводить не обязательно.

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

Жмём «Add» и получаем запись нового пользователя.

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

Обратите внимание на иконки слева. Когда создадим vpn-сервер, то с их помощью сможем получить готовый конфиг пользователя.

Сверху в меню выбираем «Servers»

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

Жмём кнопку «Add Server» и, в появившемся окне, сверху, «Advanced».

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

На скриншоте цветом выделены параметры, на которые нужно обратить внимание:

-- Name — любое понятное вам имя сервера.

-- Port — порт, на котором будет работать сервер. В моём примере я ставлю 443.

-- Protocol — протокол. В моём примере я ставлю tcp.

-- Encryption Cipher — ставим AES 256bit или 512bit.

-- DNS Server — DNS сервер, к которому будут обращаться клиенты. Я поставил гугловые восьмёрки.

-- Enable Google Authenticator — если поставите галочку, то клиенты смогут дополнительно, при аутентификации, использовать одноразовые пароли из Google Authenticator. Сначала потренеруйтесь без этой опции. Её можно включить позже.

-- Bind Address — впишите внешний IP вашего сервера к которому будет привязан vpn-сервер.

-- Hash Algorithm — ставьте SHA-256.

-- Allow Multiple Devices — если галочка стоит, то клиент сможет использовать свой конфиг и ключи на нескольких устройствах одновременно.

-- Block Outside DNS — если галочка стоит, то клиенты будут использовать только тот DNS -сервер, который прописан здесь.

-- Inter-Client Communication — если галочка стоит, то клиенты могут видеть друг друга по виртуальным IP-адресам.

Настраиваем и жмём Add. Теперь нужно привязать сервер к организации.

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

Жмём кнопку «Attach Organization»

и привязываем наш сервер к организации.

Т.е. мы можем создать разные организации (например отдельные организации для рабочих и домашних устройств или для разных отделов в офисе), у каждой организции свой набор пользователей и серверов. Это позволит очень гибко предоставлять и прекращать доступы. Один сервер можно привязать к нескольким организациям.

Итоговый вид такой:

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

Оратите внимание: вместе с организацией к серверу прикрепился и пользователь этой организации.

Запускаем сервер кнопкой «Start Server» и видим, что сервер запустился

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

Дальше в меню выбираем «Users». Используя иконки напротив имени пользователя скачиваем конфиг с ключами.

Например если так:

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

То будет предложено несколько временных ссылок на разные типы ахивов. Скачиваем zip, внутри него стандартный ovpn-файл, который добавляем в OpenVPN-клиент.

Или так:

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

Тогда будет скачан tar-архив, но внтури всё тот же ovpn-файл.

Если нажать на стрелочку, то увидите виртуальный адрес клиента (или несколько адресов, если клиенту разрешено использовать профиль на нескольких устройствах):

Pritunl — поставим энтерпрайз на службу человеку VPN, Собственный VPN-сервер, Linux, Длиннопост

Как использовать готовый ovpn-файл, описано во второй половине этой статьи.

На этом, думаю, достаточно. Пользуйтесь. В web-консоли ещё куча кнопок, кроме описанных здесь. Их все можно нажимать, найдёте ещё много интересного.

Связь с автором в чатике канала Телеграм.

Показать полностью 22
[моё] VPN Собственный VPN-сервер Linux Длиннопост
25
156
lexa500
lexa500
6 лет назад
GNU/Linux

Автономный криптороутер своими руками⁠⁠

Привет, я опять выхожу на связь.

В прошлом своем посте я писал про решение для впн на Wireguard.

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


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

Я не бухал тут пару недель, сдал бутылки и в результате накопил на RPi3 c raspbian, tp-link tl-wn772n, huawei e8372, аккум на 10000 от xiaomi, немного велкро ленты. получилось вот такое:

Автономный криптороутер своими руками Wireguard, Raspberry pi, VPN, Linux, Длиннопост

Модем был перешит на нормальный ttl и imei номер, отвязан от оператора(и можно ставить норм тарифы).


На распбиан были поставлены модули для rtl8188(при обновлении через apt-update может отваливаться, под каждую версию ядра свой нужен), навернут hostapd, dnsmasq. поставлен сам ваергард с клиентским конфигом и написан мелкий systemd модуль который через 100 секунд после старта поднимает сессию впн, iptables с натом через wg0.

в результате при подаче питания все оживает, и раздает по вайфаю интернет с впн сразу. можно настроить аплинк не только через lte но и через лан или встроенный вайфай(для распбиана есть вебморда для быстрого переключения интерфейсов).


по автономности получилось примерно сутки, в модеме было 2 разъема на ts9, туда воткнул доп антенки, правда толку от них не очень было. вайфая хватает на участок 6 соток.


По итогу вся конструкция осела на даче у мамы, там успешно тянет Shinobi (zoneminder слишком тупорылый) для видеонаблюдения + поставил антенку побольше, поскольку в той местности плохой прием.

Автономный криптороутер своими руками Wireguard, Raspberry pi, VPN, Linux, Длиннопост

Всем спасибо, надеюсь, кому-то будет полезным

Показать полностью 2
[моё] Wireguard Raspberry pi VPN Linux Длиннопост
49
73
lexa500
lexa500
7 лет назад
GNU/Linux

Сам себе vpn⁠⁠

Привет! На волне общей борьбы со здравым смыслом расскажу как настроить свой очень шустрый впн за минимальные деньги. это не будет 100500й гайд про openvpn или strongswan.

Речь пойдет про новомодное решение WireGuard

https://www.wireguard.com/

ребята вообще молодцы и используют крутую криптографию (Noise protocol framework, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF), еще очень круто что это все живет в кернеле и работает очень шустро на минимальных инстансах любых хостеров.

Вообще гайд как настроить(а там не сложно) есть на офсайте , но я поясню некоторые не совсем очевидные моменты, так что гайд не совсем для новичков

оригинал инструкции взят вот тут

https://www.ckn.io/blog/2017/11/14/wireguard-vpn-typical-set...


Из минусов - нормально работает на linux, и роутерах ddwrt(на каких-то чипах - не очень),  роутерах ubiquty/vyatta. на вин10 и макос работает в юзерленде, но стабильно. на устройствах андроид -скорее не работает.

Итак по настройке

Предположу, что виртуальную мащину у хостера вы уже купили (aruba, scaleway, digitalocean, aws - да тысячи их) и там стоит что-то из семейства debian

1. ставим по инструкции отсюда https://www.wireguard.com/install/ там под разные дистры, так что все более менее понятно, на клиент и на сервер


2. генерим по 2 ключа на клиент и сервер

####

Umask 077

wg genkey | tee server_private_key | wg pubkey > server_public_key

wg genkey | tee client_private_key | wg pubkey > client_public_key

####


3. делаем конфиг сервера /etc/wireguard/wg0.conf

####

[Interface]

Address = 10.200.200.1/24

SaveConfig = true

PrivateKey = <insert server_private_key>

ListenPort = 51820

[Peer]

PublicKey = <insert client_public_key>

AllowedIPs = 10.200.200.2/32

####

Моменты такие wg0 -будет название интерфейса, ключи какие куда-тоже понятно, вставлять, похоже, что сам ключ а не путь до файла.AllowedIPs - виртальный адрес клиента


4. делаем конфиг клиента /etc/wireguard/wg0-client.conf

####

[Interface]

Address = 10.200.200.2/32

PrivateKey = <insert client_private_key>

DNS = 10.200.200.1

[Peer]

PublicKey = <insert server_public_key>

Endpoint = <insert vpn_server_address>:51820

AllowedIPs = 0.0.0.0/0

PersistentKeepalive = 21

####

тут allowedips = 0.0.0.0/0 -завернет весь траффик клиента в тунель, dns - это на сервере стоит unbound dns для пущей секурности. endpoint - внешний адрес сервера


5. поднимаем интерфейс на сервере

####

chown -v root:root /etc/wireguard/wg0.conf

chmod -v 600 /etc/wireguard/wg0.conf

wg-quick up wg0

systemctl enable wg-quick@wg0.service

####


6.включаем ротуинг на сервере в /etc/sysctl.conf добавляем  net.ipv4.ip_forward=1

и что бы не перезагружать

####

sysctl -p

echo 1 > /proc/sys/net/ipv4/ip_forward

####


7.пилим iptables на сервере

####

iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -p udp -m udp --dport 51820 -m conntrack --ctstate NEW -j ACCEPT

iptables -A INPUT -s 10.200.200.0/24 -p tcp -m tcp --dport 53 -m conntrack --ctstate NEW -j ACCEPT

iptables -A INPUT -s 10.200.200.0/24 -p udp -m udp --dport 53 -m conntrack --ctstate NEW -j ACCEPT

iptables -A FORWARD -i wg0 -o wg0 -m conntrack --ctstate NEW -j ACCEPT

iptables -t nat -A POSTROUTING -s 10.200.200.0/24 -o eth0 -j MASQUERADE

######

в последней строчке eth0 - название вашего сетевого интерфейса на сервере

настроим сохранение правил

####

apt-get install iptables-persistent

systemctl enable netfilter-persistent

netfilter-persistent save

####


8. стаивим unbound для dns на сервер


####

apt-get install unbound unbound-host curl

curl -o /var/lib/unbound/root.hints https://www.internic.net/domain/named.cache

####


конфиг днс сервера такой /etc/unbound/unbound.conf

#####

server:

num-threads: 4

#Enable logs

verbosity: 1

#list of Root DNS Server

root-hints: "/var/lib/unbound/root.hints"

#Use the root servers key for DNSSEC

auto-trust-anchor-file: "/var/lib/unbound/root.key"

#Respond to DNS requests on all interfaces

interface: 0.0.0.0

max-udp-size: 3072

#Authorized IPs to access the DNS Server

access-control: 0.0.0.0/0 refuse

access-control: 127.0.0.1 allow

access-control: 10.200.200.0/24 allow

#not allowed to be returned for public internet names

private-address: 10.200.200.0/24

# Hide DNS Server info

hide-identity: yes

hide-version: yes

#Limit DNS Fraud and use DNSSEC

harden-glue: yes

harden-dnssec-stripped: yes

harden-referral-path: yes

#Add an unwanted reply threshold to clean the cache and avoid when possible a DNS Poisoning

unwanted-reply-threshold: 10000000

#Have the validator print validation failures to the log.

val-log-level: 1

#Minimum lifetime of cache entries in seconds

cache-min-ttl: 1800

#Maximum lifetime of cached entries

cache-max-ttl: 14400

prefetch: yes

prefetch-key: yes

####


запускаем днс

####

chown -R unbound:unbound /var/lib/unbound

systemctl enable unbound

####


можно проверить как работает днс таким образом

####

nslookup www.google.com. 10.200.200.1

####


9. поднимаем интерфейс клиента

####

sudo wg-quick up wg0-client

####

проверить моджно командой sudo wg show

должно выдать что то типа

interface: wg0-client

public key: FwdTNMXqL46jNhZwkkzWsyR1AIlGX66vRWe1HFSemHw=

private key: (hidden)

listening port: 39451

fwmark: 0xca6c

peer: +lb7/6Nn8uhlA/6fjT3ivfM5fWKKQ2L+stX+dSq18CI=

endpoint: 165.227.120.177:51820

allowed ips: 0.0.0.0/0

latest handshake: 49 seconds ago

transfer: 11.41 MiB received, 862.25 KiB sent

persistent keepalive: every 21 seconds


10. Фух, вроде все! проверяем изменился или нет наш ип адрес например вот тут

https://whoer.net/ а днс можно проверить вот здесь http://dnsleak.com/. остановить интерфейс можно вот так

####

sudo wg-quick down wg0-client

####


По тестам - мой провайдер дает 250мбит, оно успешно было завернуто в WG,т.е. все 250 мбит пролезли, инстанс -2core, 1Gb ram, при тесте нагрузка составила 10% от CPU. на такой же машине openvpn смог 80мбит, ipsec/l2tp -130мбит.

Всем спасибо, удачи!

Показать полностью
[моё] VPN Wireguard Linux Длиннопост Текст
80
306
megavolt0
megavolt0
8 лет назад

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть2)⁠⁠

Продолжение.

Часть 1


Пробуем запустить dnsmasq

systemctl restart dnsmasq

и смотрим состояние

systemctl status dnsmasq

Должно быть типа такого:

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть2) VPN, VPS, Softether, Linux, Настройки, Инструкция, Длиннопост

Если не так, то смотрим в лог /var/log/messages


Если есть ошибка "warning: interface tap_softether does not currently exist", то либо вы ошиблись где-то в настройках ранее, либо не запущен VPN-сервер. Как запустить, написано выше.


Если ошибка "failed to bind DHCP server socket: Address already in use", то смотрим вывод команды

netstat -anlp | grep -w LISTEN

Скорее всего увидим что-то типа:

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/init
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 19819/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 110/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 196/sendmail: accep
tcp6 0 0 :::111 :::* LISTEN 15492/rpcbind
tcp6 0 0 :::80 :::* LISTEN 104/httpd
tcp6 0 0 :::53 :::* LISTEN 19819/dnsmasq
tcp6 0 0 :::22 :::* LISTEN 110/sshd

Видим, что висит процесс dnsmasq и занимает интерфейс. Запоминаем число перед /dnsmasq (в моём случае это 19819) и используем его в команде

kill 19819

После этого пробуем

systemctl start dnsmasq
systemctl status dnsmasq

Всё должно стать хорошо.


Теперь открываем наш скрипт запуска VPN-сервера /etc/rc.d/init.d/sevpnserver и редактируем по образцу (можно просто очистить содержимое и вставить отсюда):

#!/bin/sh
#
# chkconfig: 2345 20 80
# description: SoftEther VPN Server
#
#
#
#
DAEMON=/etc/sevpn/vpnserver/vpnserver
LOCK=/var/lock/vpnserver/vpnserver
TAP_ADDR=10.8.0.1
test -x $DAEMON || exit 0
case "$1" in
start)
echo Starting SoftEther VPN Server...
$DAEMON start
touch $LOCK
sleep 3
/sbin/ifconfig tap_softether $TAP_ADDR
sleep 3
systemctl restart dnsmasq
;;
stop)
echo Stopping SoftEther VPN Server...
$DAEMON stop
rm $LOCK
;;
restart|reload)
echo Reloading SoftEther VPN Server...
$DAEMON stop
sleep 5
$DAEMON start
sleep 3
/sbin/ifconfig tap_softether $TAP_ADDR
sleep 3
systemctl restart dnsmasq
;;
*)
echo Usage: $0 "{start|stop|restart}"
exit 1
esac
exit 0

По традиции скрипты и конфиги с нормальным форматированием здесь

Сохраняем.


Добавим скрипт в автозагрузку

chkconfig sevpnserver on

Проверить, что скрипт добавился можно командой

chkconfig --list

В выводе команды должна присутствовать строчка

sevpnserver 0:off 1:off 2:on 3:on 4:on 5:on 6:off

Теперь идём в статью про файрволл и маршрутизацию и делаем всё, как там написано, но с единственным отличием: содержимое файла ipt-set взять указанное ниже.


В переменную IP_EXT вместо 123.123.123.123 вписываем IP-адрес своего VPS.

#!/bin/sh
IF_EXT="venet0"
IF_VPN="tap_softether"
VPN_PORT="443"
IPT="/sbin/iptables"
IPT6="/sbin/ip6tables"
IP_EXT="123.123.123.123"
# flush
$IPT --flush
$IPT -t nat --flush
$IPT -t mangle --flush
$IPT -X
$IPT6 --flush
# loopback
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
# default
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
$IPT6 -P INPUT DROP
$IPT6 -P OUTPUT DROP
$IPT6 -P FORWARD DROP
# allow forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
# NAT
# #########################################
# SNAT - local users to out internet
$IPT -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source $IP_EXT
# INPUT chain
# #########################################
$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# ssh
$IPT -A INPUT -i $IF_EXT -p tcp --dport 22 -j ACCEPT
# DNS
$IPT -A INPUT -i $IF_VPN -p udp --dport 53 -s 10.8.0.0/24 -j ACCEPT
# vpn
$IPT -A INPUT -i $IF_VPN -p icmp -s 10.8.0.0/24 -j ACCEPT
$IPT -A INPUT -i $IF_EXT -p tcp --dport $VPN_PORT -j ACCEPT
$IPT -A INPUT -p udp --dport 500 -j ACCEPT
$IPT -A INPUT -p udp --dport 4500 -j ACCEPT
$IPT -N syn_flood
$IPT -A INPUT -p tcp --syn -j syn_flood
$IPT -A syn_flood -m limit --limit 500/s --limit-burst 2000 -j RETURN
$IPT -A syn_flood -j DROP
# FORWARD chain
# #########################################
$IPT -A FORWARD -i $IF_VPN -o $IF_EXT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -i $IF_EXT -o $IF_VPN -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -s 10.8.0.0/24 -d 10.8.0.0/24 -j ACCEPT
# OUTPUT chain
# #########################################
$IPT -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

В Server Manager откроем «Encryption and Network»

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть2) VPN, VPS, Softether, Linux, Настройки, Инструкция, Длиннопост

И выставляем опции как на скриншоте (обведено красным)

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть2) VPN, VPS, Softether, Linux, Настройки, Инструкция, Длиннопост

Жмём Ок.

Перезагрузим VPS командой из консоли

reboot

Теперь наш сервер готов принимать подключения.

Как их настроить, читайте здесь.

Показать полностью 2
[моё] VPN VPS Softether Linux Настройки Инструкция Длиннопост
55
803
megavolt0
megavolt0
8 лет назад

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1)⁠⁠

Ранее мы рассмотрели, как построить собственную VPN сеть на основе решения OpenVPN (1 2 3 4). Это очень хорошее решение, но есть ряд общих недостатков для конечного пользователя:

- относительно сложные установка и настройка;

- обязательное наличие на сервере TUN/TAP;

- трафик OpenVPN легко детектируется всякими Роскомнадзорами.


При этом OpenVPN является безусловным лидером с подтвержденной криптоустойчивостью. И если у вас нет необходимости маскировать VPN трафик под «обычный», то пользуйтесь OpenVPN.


А теперь отличная новость для тех кто в России/Украине/Казахстане/Китае и других странах, с контролем сети интернет на государственном уровне.


Встречайте решение от наших японских товарищей: SoftEther VPN.


SoftEther VPN — это мощный мультипротокольный VPN-сервер под лицензией CPLv2 (т.е. совершенно свободный к распространению и использованию).


Решение обладает огромным спектром возможностей:

- собственный протокол SSL-VPN, который не отличим от HTTPS траффика. При этом он может работать не только по TCP, но и по UDP, и, даже, ICMP.

- Поддерживает большинство существующих протоколов VPN: L2TP/IPsec, MS-SSTP, OpenVPN, L2TPv3 и EtherIP, причем для L2TP указана строгая совместимость со встроенными клиентами в iOS и Android. Т.е. к серверу SoftEther VPN вы можете подключить клиента OpenVPN или подключиться с использованием встроенных VPN-механизмов Windows. Причем одновременно.

- Сервер может быть установлен на Windows, Linux, OS X, FreeBSD и Solaris.

- И теоретически и практически работает быстрее OpenVPN.

- Имеет GUI через который можно управлять несколькими серверами.

- Ему не нужно TUN/TAP.

- Имеет встроенный NAT и DHCP. Не нужно настраивать iptables.


Нужно понимать, что хотя SoftEther VPN достаточно стабильное и надежное решение, но оно всё еще в стадии beta. А значит, теоретически, в его работе возможны неожиданные ошибки.


Хватит читать, нужно пробовать. Арендуем себе дешёвенький VPS, выполним его предварительную настройку. Исходим из того, что вы подключились к серверу по SSH через putty и WinCSP.


Идём на страницу загрузки SoftEther VPN и выбираем нужный дистрибутив.

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

Получив ссылку на нужный дистрибутив, переходим к консоли

cd /tmp/
wget http://www.softether-download.com/files/softether/v4.22-9634...

Также нам понадобиться некоторой набор инструментов:

yum -y groupinstall "Development Tools"
yum -y install gcc zlib-devel openssl-devel readline-devel ncurses-devel
yum -y install system-config-network-tui system-config-firewall-tui
yum -y install policycoreutils-python
yum -y install net-tools

Переведем SELinux в разрешающий (permissive) режим:

setenforce 0

Отключим файрвол:

system-config-firewall-tui
Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

Убедимся, что в строчке «Firewall: [ ] Enabled нет звездочки *


Если она там есть, то используя кнопку TAB дл перемещения и пробел для «нажатия» убираем её. Затем переходим на кнопку ОК и нажимаем её. Если звёздочки нет, то сразу на ОК. В появившейся форме

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

«нажимаем» Yes.


Создадим папку для нашего сервера:

mkdir /etc/sevpn/

Теперь распакуем скачанный ранее архив с VPN-сервером, установим права на папку и перейдём в неё:

tar xzvf 64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz -C /etc/sevpn/
chmod -R 744 /etc/sevpn
cd /etc/sevpn/vpnserver

Скомпилируем наш сервер:

make

На все вопросы о лицензионных соглашениях вводим 1 и жмём Enter.

Сделаем скрипт запуска. Для этого в папке /etc/rc.d/init.d создадим файл sevpnserver со следующим содержимым:

#!/bin/sh
#
# chkconfig: 2345 20 80
# description: SoftEther VPN Server
#
#
#
#
DAEMON=/etc/sevpn/vpnserver/vpnserver
LOCK=/var/lock/vpnserver/vpnserver
test -x $DAEMON || exit 0
case "$1" in
start)
echo Starting SoftEther VPN Server...
$DAEMON start
touch $LOCK
;;
stop)
echo Stopping SoftEther VPN Server...
$DAEMON stop
rm $LOCK
;;
restart|reload)
echo Reloading SoftEther VPN Server...
$DAEMON stop
sleep 3
$DAEMON start
;;
*)
echo Usage: $0 "{start|stop|restart}"
exit 1
esac
exit 0

По традиции пикабу не позволяет выкладывать скрипты и конфиги в нормальном структурированном виде. Работать будет и так, за красотой идём сюда.

И установим ему права 0755


Создадим папку /var/lock/vpnserver

mkdir /var/lock/vpnserver

Проверим работу сервера.

Введём команды:

/etc/sevpn/vpnserver/vpncmd

В появившемся запросе введём 3 и нажмём Enter.

Далее введём команду

check

Будет выполнено шесть тестов и в ответ на каждый мы должны получить Pass

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

Отлично. Выходим из VPN Tools командой

exit

Запустим наш сервер

/etc/rc.d/init.d/sevpnserver start

Опять вводим

/etc/sevpn/vpnserver/vpncmd

Вводим 1, а потом два раза жмём Enter. Появится приглашение:

VPN Server>

Вводим

ServerPasswordSet

И вводим два раза пароль. Это административный пароль сервера. Он открывает доступ ко всем настройкам и управлению. Пароль должен быть стойким к перебору: не менее 10 символов, верхний и нижний регистр, цифры, спецсимволы.


Чтобы выйти из режима администрирования (когда приглашение командной строки имеет вид VPN Server> ) введите

exit

Теперь установим на свой компьютер консоль управления для настройки сервера. Опять идём на страницу проекта и выбираем

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

Скачиваем Server Manager по получившейся ссылке и запускаем установку.

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост
Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

Затем всё время «Далее» и «Готово». В появившемся окне

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

Жмём «New Setting» и заполняем параметры Setting Name (любое понравившееся имя) и HostName (IP-адрес вашего сервера)

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

Жмём Connect и вводим административный пароль VPN сервера. Если пароль введен правильно, консоль подключится и запросит первоначальную конфигурацию. Выбираем как на скриншоте:

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

Соглашаемся

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

Придумываем имя виртуальному хабу

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

На следующем шаге мы можем выбрать имя для нашего VPN сервера. Это позволит в дальней, благодаря службе Dynamic DNS, обращаться к нашему серверу не только по IP-адресу, но и по имени (обведено зелёным цветом).

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

Выберем протокол и придумаем PSK ключ (т.е. еще один стойкий пароль). Этот ключ, по сути, секретная фраза необходимая для первоначального соединения между клиентом и сервером VPN. SoftEther не рекомендует делать его больше 9 символов, так это вроде вызывает баги в Android.

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

И откажемся от VPN Azure

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

На следующем шаге создадим нового пользователя

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

Настраиваем пользователя. Этот пользователь будет у нас для подключения с компьютера/ноутбука (т.е. Windows или Linux). Обязательно заполняем поле User Name. Поля Full Name и Note не обязательны. Выбираем аутентификацию по сертификатам (Individual Certificate Authentication) и жмём Create Certificate

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

Заполняем необходимые поля. Поля Organization, Country, State, Locale заполняем любыми значениями. Длительность действия сертификата рекомендую ставить 365 дней (но тут уж как сами захотите), длину ключа 4096 бит.

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

Жмём ОК и выбираем формат и место сохранения ключей. Также вы можете указать пароль для сертификата (обведено зелёным). Тогда при каждом подключении клиента к серверу нужно будет вводить пароль. Так, несомненно, лучше, но не очень удобно. Выбирать вам. Я всегда рекомендую делать сертификаты с паролями для тех устройств, которые вы не можете полностью контролировать (рабочий компьютер) или которые можно легко потерять, т.е. носимые устройства (ноутбук, смартфон).

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

Нажимаем ОК и указываем имя файла сертификатов (будут сформированы открытый и закрытый сертификаты) и куда сохранить . В окне создания пользователя жмём ОК.


В окне VPN Easy Setup Tasks жмём Close.


Теперь выбираем наш хаб и жмём Manage Virtual Hub

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

Зайдем в настройки NAT

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост
Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

Проверяем, что SecureNAT выключен (обведённая зелёным кнопка не активна) и жмём SecureNAT Configuration

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

Настраиваем как на скриншоте и жмём OK и Exit


Теперь настроим Local Bridge (мост, по которому VPN будет общаться с внешним миром).

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

Если появится предупреждение о недоступности физического LAN адаптера, просто жмём OK

Анонимность в интернете своими руками. Установка и настройка SoftEther VPN Server (Часть1) VPN, Linux, VPS, Softether, Инструкция, Длиннопост

И жмём Exit

Проверим, что наш виртуальный интерфейс действительно создался. В консоли putty выполним команду

ifconfig tap_softether

Должны получить примерно такой вывод

[root@vps00000 ~]# ifconfig tap_softether
tap_softether: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::2ac:ceff:fec4:484f prefixlen 64 scopeid 0x20<link>
ether 00:ac:ce:c4:49:4f txqueuelen 500 (Ethernet)
RX packets 158 bytes 10938 (10.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 136 bytes 11232 (10.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Установим DNSMasq

yum -y install dnsmasq

Создадим файл /etc/dnsmasq.conf со следующим содержимым

interface=tap_softether
dhcp-range=tap_softether,10.8.0.2,10.8.0.200,12h
dhcp-option=tap_softether,3,10.8.0.1
server=8.8.8.8

IP адреса вписываете те, которые мы запомнили из настроек SecureNAT (см. выше). Сохраняем и закрываем файл.


Лимит на картинки кончился. Потому конец первой части. Часть вторая.

Показать полностью 25
[моё] VPN Linux VPS Softether Инструкция Длиннопост
137
34
pocoZ
pocoZ
8 лет назад
GNU/Linux

Параноикам посвящается. Или VPN за 30 секунд.⁠⁠

Информация касается только OS Linux.
Добрый вечер, уважаемые пикабушники! Решил поделиться с вами информацией, о том, как не настраивая специальным образом сервер, запилить VPN. Первое, что нам потребуется - это запущенный VPS сервевер, коих великое множество и цена за такое счастье колеблется в пределах 200 - 500р. в месяц. Предложу пару вариантов в комментариях, если попросите. Вероятней всего у некоторых из вас уже есть арендованный сервер. В общем погнали.
Открываем терминал и устанавливаем sshuttle
sudo apt-get install sshuttle
После установки пишем:
sudo sshuttle --dns -r user@ip_сервера_или_доменное_имя 0.0.0.0/0
Жмем Enter и радуемся собственному VPN-у

VPN Linux Текст
67
Партнёрский материал Реклама
specials
specials

Сколько нужно времени, чтобы уложить теплый пол?⁠⁠

Точно не скажем, но в нашем проекте с этим можно справиться буквально за минуту одной левой!

Попробовать

Ремонт Теплый пол Текст
8
AxeJustAxe
AxeJustAxe
8 лет назад

АНБ считает пользователей Linux «экстремистами»⁠⁠

Американские спецслужбы склонны считать всех пользователей Linux, а заодно и Tor, «экстремистами». Это следует из файлов системы тотального наблюдения за интернет-пользователями XKeyscore.



Пользователи Linux — «экстремисты»



Агентство национальной безопасности (АНБ) США называет «экстремистами» читателей журнала Linux Journal, а также пользователей Tor и Tails Linux, следует из файлов программного обеспечения XKeyscore, которое агенты используют для слежки за людьми, сообщает Techspot.



Амбициозный проект XKeyscore



О существовании XKeyscore в 2013 г. стало известно благодаря бывшему системному администратору АНБ Эдварду Сноудену (Edward Snowden). А недавно в распоряжении немецких телеканалов оказался исходный код этого решения. XKeyscore представляет собой самый амбициозный проект АНБ для слежки за интернет-пользователями. Он включает карту интернета и набор аналитических инструментов, которые позволяют «узнавать практически все, что пользователь делает в сети».



Автоматический перехват поисковых запросов



Но XKeyscore предлагает не только инструменты для проведения расследований. Ее автономные аналитические способности позволяют автоматически фиксировать пользователей, которые вводят в поисковой строке заданные слова и словосочетания. Среди них: tails, secure desktop, truecrypt, tor, linux, USB, CD, IRC и др.



В АНБ пользователей Linux объединяет одно слово - «экстремисты»


После того как пользователь вводит такой поисковый запрос, XKeyscore автоматически записывает его IP-адрес в базу данных. При этом речь идет не только об американских пользователях. Германский телеканал Das Erste после собственного расследования обнаружил два сервера в Германии, которые обслуживают систему. Авторы публикации утверждают, что XKeyscore следит за всеми пользователями интернета, во всем мире.



«Экстремистская организация»



Помимо этого, XKeyscore контролирует все подключения к серверу, который обслуживает сервис анонимной электронной почты Лаборатории вычислительной техники и искусственного интеллекта при Массачусетском технологическом институте (CSAIL). Наконец, XKeyscore отслеживает все посещения linuxjournal.com и записывает данные об этих посещениях. В файлах системы сообщество читателей Linux Journal называется «экстремистской организацией», пишет Das Erste. Помимо linuxjournal.com, АНБ отслеживает посетителей privacy.li, FreeProxies.org, HotSpotShield, MegaProxy, FreeNet, Centurian, MixMinion и других сайтов и сервисов, которые предназначены для анонимизации, скрытия своей личности и местонахождения. У системы XKeyscore много различных триггеров.



Отрицание вины



В АНБ нарушение конституционных прав граждан как всегда опровергают. После публикации новых материалов представители организации напомнили, что они действуют в полном соответствии с законом. Они также прокомментировали информацию о XKeyscore. По их словам, данная система обладает встроенной многоуровневой технологией проверки соответствия требованиям действующих законов. Таким образом, она не может работать в обход законодательства.



http://www.cnews.ru/news/top/2016-07-08_vseh_polzovatelej_li...

Показать полностью
Cnews Linux АНБ США VPN Слежка Длиннопост Текст
31
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии