VPN
VPNНе VPN-ом единым
Это всего лишь один из способов, притом не самый простой – но, как по мне, самый надежный. Несомненно, существуют и другие, не менее надежные, и, зачастую более простые. Буду, кстати, рад, если в комментах кто-нибудь поделится ими.
Суть любого способа обхода «Великого Российского Фаервола» (тм) заключается в том, что вы делаете вид, что идете на запрещенный сайт не из России, а откуда-нибудь из США, Германии или других стран с нормальным законодательством. Физически вы, естественно, сидите дома (на работе, в парке etc.), но железные мозги этого не понимают, и думают что вы где-то там.
На всякий случай, перечислю основные способы обхода – если заинтересуетесь, гугл вам в помощь, ну или задавайте вопросы. если смогу – отвечу.
- Готовый VPN (заранее настроенный, собственно, то, что я описываю, но сделанное за вас другими людьми) – например, вот https://www.vpntunnel.se/en/order.p
- hp
- Прокси за границей – ищите, и обрящете. Проблема в том, что открытых и скоростных проксей не так много и они регулярно закрываются.
- tor, технология, автоматически выстраивающая цепочку прокси от вас до конечного узла. Начинать отсюда – https://www.torproject.org
- SSH-туннель – нужны знания unix-систем и любой хостинг в свободной стране. Начинать отсюда https://github.com/apenwarr/sshuttl
- e ну и в гугл.
- Совсем просто – режим «Turbo» в Опере. Зачастую, помогает, потому что это тот же самый тоннель, только без такого параноидального шифрования, как предлагаю я.
- Ну и наконец то, что предлагаю я – виртуальный (VDS) сервер и самостоятельная настройка openVPN
Объяснюсь. Это дело платное, сразу стоит заметить, если хотите бесплатно – tor, proxy или ищите бесплатный VDS. За 6,50 евро в месяц вы получаете собственный серв в Австрии и можете, кроме искомого VPN-а, разместить там сайт, например. Или еще что полезное сделать.
Я буду писать на примере EDIS, так как сам его использую.
Поехали
Заходим по ссылке http://www.edis.at/en/server/kvm-vps/au
stria/kvm-starter/, нажимаем большую синюю кнопку, переходим на страницу, которая предлагает нам выбрать, как нам удобнее платить. Выбираем, пишем что-нибудь в поле Hostname, можно выбрать Location (я оставил по-умолчанию, но вдруг вы Париж предпочитаете), OS оставьте Debian 6 64bit – я буду выкладывать конфиги именно для него.
Нажимаем на кнопку Add to cart & Checkout
На следующем этапе вам нужно заполнить анкету. Данные можно уазывать любые вообще, главное – напишите действующий e-mail (туда придут реквизиты) и выберите достаточно серьезный пароль. Ну не «111» во всяком случае.
После того, как вы получите письмо, не торопитесь :-)
Дело в том, что примерно в течение 15-20 минут на ваш сервер устанавливается ОС, с которой мы будем работать потом.
Ок, сходили покурили / попили кофе, можно приступать.
Если вы перейдете по ссылке из письма в админку сервера, вы увидите свою панель управления. Здесь нам практически ничего не нужно, но следует знать, что именно отсюда можно переустановить ОС или перезагрузить сервер.
В числе прочего в письме вам придет нечто подобное:
Pv4 addresses: 158.255.212.240
Netmask: 255.255.255.0
Gateway: 158.255.212.1
Nameserver: 91.227.204.227 / 91.227.205.227
IPv6 Range: 2a03:f80:ed15:158:255:212:240:0/112
Gateway: 2a03:f80:ed15::1
Nameserver: 2001:4860:4860::8888 / 2001:4860:4860::8844
User: root
Password: <здесь пароль суперпользователя, сгенерированный автоматически>
Берем любой ssh-клиент (если у вас windows – советую Putty), запускаем и соединяемся с сервером.
Если все прошло успешно, то вы увидите консоль вашего удаленного серва. Оттуда можно сделать с ним вообще все, что хочешь, но нас интересует VPN, поэтому его и поставим.
Команда apt-get install openvpn
установит для вас все, что необходимо, и вашей задачей будет это все запустить.
Итако, в консоли сервера выполняем apt-get install openvpn
, немного ждем, серверная часть openVPN установлена.
Поехали настраивать
Последовательно в консоли выполняем:
cd /etc/openvpn
mkdir easy-rsa
cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/
* easy-rsa/
chmod -R +x easy-rsa/
cd easy-rsa/
source ./vars
./clean-all
Следующей командой мы создаем сертификат так называемого бюро сертификатов (CA). Вообще такие вещи принадлежат организациям, которые на их основе генерируют сертификаты для своих пользователей, но в данном случае мы сами себе и организация, и пользователь, так что смело командуем:
./build-ca
Создаем сетификат-ключ для сервера
./build-key-server server
Генерируем шифровальные ключи
./build-dh
И, наконец, ключи для себя
./build-key myname
Теперь в папке /etc/openvpn/easy-rsa/keys
лежат все необходимые нам ключи. На локальной машинке нам понадобятся myname.crt
, myname.key
и ca.crt
Дальше нам предстоит создать и отредактировать конфигурационный файл сервера openVPN.
Это просто.
Команда nano /etc/openvpn/server.conf
открывает окно текстового редактора Nano с пустым (пока) файлом, который мы задали как аргумент.
В этот файл вставляем строки:
port 1194
proto tcp
;proto udp
;dev tap
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
duplicate-cn
comp-lzo
persist-key
persist-tun
status /var/log/openvpn-status.log
log /var/log/openvpn.log
verb 3
push "redirect-gateway def1"
push "dhcp-option DNS 91.227.204.227"
Нажимаем кнопки ctrl+O
, ctrl+X
, тем самым сохраняя файл и выходя из редактора.
Поздравляю, конфиг создан.
Теперь нам нужны модули ядра для обеспечения туннелирования.
Командой nano /etc/modules
открываем для редактирования файл со списком динамически подгружаемых модулей ядра, переходим в самый его конец и вставляем следующие строки:
nf_nat_ftp
nf_nat
nf_conntrack_ipv4
nf_conntrack_ftp
nf_conntrack
tun
Сохраняем (ctrl+O
), выходим (ctrl+X
).
Теперь, чтобы не перезагружать лишний раз сервер, мы подгрузим все эти модули на лету. Выполняем следующие команды:
modprobe nf_nat_ftp
modprobe nf_nat
modprobe nf_conntrack_ipv4
modprobe nf_conntrack_ftp
modprobe nf_conntrack
modprobe tun
Все, теоретически серверная часть должна работать.
Даем команду service openvpn start
, тем самым запуская openVPN сервис.
Активируем NAT
echo 1 > /proc/sys/net/ipv4/ip_forward
echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf
Выполните команду ifconfig
В выводе ее должно быть что-то вроде такого:
eth0 Link encap:Ethernet HWaddr 52:54:00:88:f3:b0
inet addr:158.255.212.240 Bcast:158.255.212.255 Mask:255.255.255.0
inet6 addr: fe80::5054:ff:fe88:f3b0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:14192479 errors:0 dropped:0 overruns:0 frame:0
TX packets:53685 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:873095869 (832.6 MiB) TX bytes:18996952 (18.1 MiB)
…………
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-0
0-00-00
inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:14975 errors:0 dropped:0 overruns:0 frame:0
TX packets:15777 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:2050126 (1.9 MiB) TX bytes:10430919 (9.9 MiB)
На следующем шаге вам понадобятся адреса интерфейсов eth0
и tun0
– то, что написано после inet addr.
В данном случае это 158.255.212.240
и 10.8.0.1
Даем еще одну команду. Вместо <внешнийIP> и <внутреннийIP> подставьте, соответственно, адреса, которые висят на eth0 и tun0.
iptables -t nat -A POSTROUTING -s 10.8.0.0.0/24 -o <внутреннийIP> -j SNAT --to-source <внешнийIP>
Сохраняем настройки:
iptables-save > /etc/iptables.rules
cd /etc/rc.local
iptables-restore < /etc/iptables.rules
update-rc.d openvpn defaults
service openvpn restart
Все, теперь настройка серверной части точно закончена.
Переходим к клиентской части
Чтобы соединиться со своим новым сервером, вам нужно забрать оттуда ключи.
Проще всего это сделать, выводя содержимое файлов ключей и сертификатов на экран и копируя его себе в текстовые файлики.
Итак:
cd /etc/openvpn/easy-rsa/keys/
(перешли в каталог с ключами)
cat ca.crt
выведет вам на экран содержимое файла ca.crt
, скопируйте его, создайте текстовый файл у себя на компьютере, вставьте содержимое, сохраните, закройте.
Нам понадобятся три файла – ca.crt
, myname.key
и myname.crt
.
ca.crt
мы уже скопировали, точно так же поступаем с остальными.
Должен предупредить – не стоит никому показывать, а уж тем более отдавать или публиковать ваши сертификаты – это небезопасно.
В конце концов, когда у нас есть все для успешного соединения, возьмите любой OpenVPN-клиент для своей платформы, покажите ему ваши сертификаты, IP вашего сервера и наслаждайтесь свободным интернетом.
Если кому-то это все показалось сложным и пугающим – не пугайтесь :-)
Во-первых – если вы все же решитесь оплатить VDS и что-нибудь не получится – обращайтесь, я попробую помочь. Если вы не решаетесь купить VDS и вам что-нибудь попроще – посмотрите вначале поста, там бегло перечислены способы, или загляните сюда, это замечательный пост
ntv, в котором обзор гораздо полнее, чем у меня.
Но помните одно. На сегодняшний день не существует закона, который запрещал бы мне смотреть или читать что-либо потому, что кто-то непонятно кто из ФСКН или Минсвязи объявил это запрещенным.
Интернет не запретишь, как ни старайся.