Бесплатный VPN от riseup.net. Часть 3.
Как следует из ранее изложенного, ничего сверхъестественного не обнаружилось, и для того, чтобы воспользоваться этим VPN, требовательный к железу Debian 9 x64 не нужен совершенно. Bitmask тоже не нужен. Проблемы могут возникнуть разве что с виндой, а вот с линуксов вполне можно раздавать VPN-интернет на другие устройства в локальной сети, в т.ч. и на виндовые компьютеры. Без bitmask это даже лучше получается, поскольку он пакостит в iptables. Пакостит, правда, для "более лучшей" защиты пользователя. Но в данном случае получается, как у Черномырдина - хотели как лучше, получилось как всегда.
Первым делом надо составить конфиг для Openvpn. Не буду каждый параметр пояснять, а ссылка на сами конфиги есть в конце заметки. Вроде составил правильно, по ранее извлеченным параметрам Openvpn. Единственное что добавил от себя, это запуск пользовательских скриптов - параметры
script-security 2
, разрешающий оный запуск, и параметры up '/путь/к/скрипту up'
и down '/путь/к/скрипту down'
, указывающие Openvpn, какой скрипт надо запускать при, соответственно, установке и разрыве соединения.Про подобные скрипты я совсем недавно упоминал.
Получены в прошлой части.
Переделывался из ранее приведенного примера с небольшими изменениями:
#!/bin/bash
#заводим человеческие переменные
MAIN_STAT=$1 #up/down
DEV_NAME=$2
TUN_MTU=$3
LINK_MTU=$4
LOCAL_IP=$5
REMOTE_IP=$6
ADD_STAT=$7 #init/restart
#путь к ip и iptables
ACPATH="/usr/sbin/"
# [...]
#соединение поднялось
if [ "$MAIN_STAT" = "up" ]; then
#установка маршрута по умолчанию
"$ACPATH"ip route del default #удаление старого
#установка нового
#именно так, локальный ip и удаленный - один и тот же
#особенность провайдера Oo
"$ACPATH"ip route add default via $LOCAL_IP dev $DEV_NAME src $LOCAL_IP
#разрешение транзитного трафика
"$ACPATH"iptables -P FORWARD ACCEPT
#установка адреса DNS-сервера
echo "nameserver 10.42.0.1">/etc/resolv.conf
exit
fi
#соединение разорвано
if [ "$MAIN_STAT" = "down" ]; then
#запрет транзитного трафика
"$ACPATH"iptables -P FORWARD DROP
#установка маршрута по умолчанию без VPN
"$ACPATH"ip route del default
"$ACPATH"ip route add default via 10.10.1.1 dev eth1 src 10.10.20.55
#восстанавление адресов DNS по умолчанию
echo "nameserver 8.8.8.8">/etc/resolv.conf
echo "nameserver 8.8.4.4">>/etc/resolv.conf
fi
Основная особенность в том, что сервер, вместо
REMOTE_IP
, передает маску подсети, а чтобы маршрутизация осуществлялась правильно, вместо удаленного IP надо прописать выданный сервером локальный.
Долго с этим разбирался, т.к. поначалу был глюк - транзитный трафик проходил, а вот локальный нет. Помог выхлоп
ifconfig
:tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,M ULTICAST> mtu 1500
inet 10.42.0.2 netmask 255.255.248.0 destination 10.42.0.2
inet6 2001:db8:123::1000 prefixlen 64 scopeid 0x0
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-0 0-00-00 txqueuelen 100 (UNSPEC)
RX packets 982346 bytes 1307345786 (1.2 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 541554 bytes 27027659 (25.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Вторая важная особенность - надо прописать правильный DNS.
И не забыть передать его клиентам, если компьютер используется в качестве PPTP- или другого VPN-сервера.
ЗЫ. Если будете пользоваться сервисом riseup.net, по возможности донатьте, хорошее дело ребята делают. Фиг где в мире встретишь таких альтруистов.
Предыдущие части заметки
Часть 1. копия
Часть 2. копия
Скачать все в PDF
На моем сайте копия
На PasteBin:
Голландия
Канада
США
Скачать с Mega.nz
На PasteBin
Скачать с Mega.nz
http://riseup.net
Регистрация Riseup Black
О Riseup
Донат
http://bitmask.net
http://leap.se
Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2018/01/12/besp