Comments 157
сразу видно, что софт не доведен до уровня пользователя.

автор, ты писал это для пользователей у которых зарублен youtube и т.п. или просто историю из своей жизни?
До уровня юзабельности обычным пользователем, софт доводят VPN-провайдеры, коих нынче множество. Названия указывать не буду, ибо самореклама — это плохо, а реклама конкурентов — не выгодно.
Руки не доходят поменять. И вообще, закончить бы стройку века с новым клиентом™ на Qt.
Есть определённый набор проблем, в первую очередь связанных с макосью и работой GTK# под этой самой макосью. Так всё всех устраивало. Сейчас на Qt переносимое ядро с платформозависимыми участками, и логика на JS.
Простите мою серость. А вот если я захочу свою локальную рабочую сеть через вас пустить, это мне надо будет оплатить все клиентские машины? Или есть какой-то хаб, или прокси-сервер что-ли?
думаю нужно просто маршрутизатор сети подключить к VPN и сделать VPN дефолтным маршрутом.
Мне наверное повезло с девушкой, но со своего телефона к VPN она подключалась минуты 2-3, с того момента как я отправил ей сертификат.
Она просто вписала адрес моего VPN сервера в профиле и выбрала сертификат который я ей прислал, всё. Для удобства еще скинула ярлык мгновенного подключения на рабочий стол. Сказала что все было просто.
Не знаю как у автора комментария, но у меня при словах «2 часа ночи» и «девушка» совсем другие мысли и планы, а вот «VPN» в тот же самый момент в голову ну никак не попадает.
Если девушка в другом городе, а планы далеко идущие, то вполне логичные шаги =)
Возможно, открою для вас нечто новое, но девушка — это не предмет употребления в согласии с вашими «мыслями и планами», а еще и живой человек, который при правильном выборе доставляет гораздо больше удовольствия от других вещей, а не только от тех, что первыми приходят в воспаленное подростковое сознание.
OpenVPN AS устанавливается в пару комманд и имеет пользовательский интерфейс, не нужно вообще заморачиваться. openvpn.net/index.php/access-server/docs/admin-guides/123-how-to-install-openvpn-as-software.html

2 пользователя могут работать бесплатно, что более чем достаточно для спасения «милой» =) автор потратил время только
>Как спасти свою милую от стресса в 2 часа ночи?
Есть другие более приятные способы.
Зашел сюда в надежде прочитать эту великолепную блистательную остроту.
Если Youtube заблокируют совсем, то и за использование VPN, прокси, tor и I2P будут сажать к тому времени, мне кажется.
Сейчас пока «прощупывают».
Для личного использования вряд-ли. Если только продажу подобных услуг на территории страны будут пресекать.
Уже предложили ввести штрафы. Но я крайне сомневаюсь, что можно оштрафовать всех пользователей VPN.
К вопросу о DPI (цитата из man openvpn про режим с pre-shared key):

Another advantageous aspect of Static Key encryption mode is that it is a handshake-free protocol without any distinguishing signature or feature (such as a header or protocol handshake sequence) that would mark the ciphertext packets as being generated by OpenVPN. Anyone eavesdropping on the wire would see nothing but random-looking data.

Сажать — вряд ли. Даже в Китае не сажают.
А прописать альтернативный DNS (ну если вся блокировка сводилась к тому что DNS не отдавал адрес ютуба) не проще было б, чем связываться с проксями?
а трейс до IP youtube.com, полученному запросом к 8.8.8.8 уходил в никуда
Ага, а потом она будет жаловаться на надписи
«К сожалению, это музыкальное содержание ИМЯ_КОПИРАСТА_КРЫШУЕМОГО_ГЕМОЙ не доступно в Германии, потому что организация GEMA не предоставила соответствующие издательские права.»
Проблему решил настройкой IPv6 от HE.net (гуглом все сети туннельброкера определяются как США), подцепленного к тому самому серверу в Германии. Но там все сложнее с настройкой DualStack поверх tap.
Для Android нынче рынок VPN не такой тусклый как был раньше, и сейчас можно подключиться в пару кликов. Поэтому париться с настройкой под мобильный я бы по крайней мере не стал. Кроме того, учитывая, что надо еще и на вдс деньги тратить… лучше уж софт готовый поюзаю с халявушкой.

play.google.com/store/search?q=vpn
В этом посте я узнал про замечательного хостера. Завтра вышлю админа покупать сервера.
С Hetzner-ом, увы, не всё так гладко. Они раздают сейчас IP в подсети 5.0.0.0/8, так что вы рискуете нарваться на неработоспособность сайта у клиента, сын которого поставил на компьютер Hamachi. Ресурсы околоигровой тематики там хостить вообще противопоказано.
Мне как бы для внутренних нужд надо было. Хм.
Хотя с другой стороны не хорошо что там какие-то левые IP.
Это не IP левые, а хамачи начали использовать для внутренней сети адреса которые были ничьи, но пространство закончилось… и адреса получили хозяина, а хамачи внутренние не переделала.
Очень популярно среди геймеров. Организует вам «локалку» через интернет из-за любого NAT-а.
И чего сразу сын-то? :) Мы с друзьями до сих пор в StarCraft и HoMM3 играем в своей «псевдолокалке» через Хамачи :)
можно еще юзать openvpn as, там вроде как 2 коннекта бесплатно, из приятного вебморда, и все гораздо проще для енд юзера при подключении. Да и лицензии 5 баксов за штуку располагают к покупке.
Возможно она специально забанила youtube, чтобы ты к ней приехал, а ты взял и VPN поднял ))
Если абстрагироваться от удовольствия сделать это с нуля собственными руками и от прокачки кармы :), то есть смысл сравнить упомянутые затраты на сервер — «Hetzner подойдет, цена вопроса всего 7.90 Евро/мес» с тарифами упоминаемого Вами в ссылках «Hide My Ass» — от $11.52/мес до $6.55/мес при заказе срока пользования VPN соответственно 1 мес. и 1 год.
При этом у НМА 282 сервера в 51-й стране. Завтра Вам может понадобиться американский IP — например, захочется послушать радио pandora.com или какой-то ролик на youtube окажется заблокированным и для немцев.
отсутствие логов и сниферов — бесценно :) хотя в полной мере это относится только к отдельной железке
Можно вместо хетзнера взять Amazon AWS. Недавно настраивал работает вполне сносно. По цене вообще полная шара (ну ток за трафик не вылазить), ибо в Free акк оно вписывается без особых проблем.
Для тех, кому лень заморачиваться с настройками, есть openvpn.net/ ставиться в пару кликов, работает прямо из коробки, как на серверное стороне так и на клиентской.
А сейчас, по истечении шары, приходят счета по 20-30$. VPS-ка в Hetzner всяко дешевле выходит.
У меня стабильно «Total: $5.30» за один включенный инстанс. Наверное меньше используется.
Мистика. Надо садиться и просматривать счета, за что берут. Сам считаю что за полу-дохлый Micro instance 20$ перебор, а вот 5.30 было бы самое оно. Осталось только разобраться как на такую цифру выйти. Спасибо за идею.
В письме биллинга имеется ссылка, где можно посмотреть каких услуг вы перерасходовали.
через год стоит пять с лишним баксов, что тоже не напрягает
Бесплатно и 5 баксов в месяц, всё-таки разные величины. Особенно если этот сервер нужен по мелочи и раз в полгода.
Год бесплатно, потом либо пять баксов в месяц для ленивых и не жадных, либо новый (например виртуальный) пластик и новый аккаунт амазон…
в догонку, его можно тормозить с админки, и не платить когда не нужен.
не знаю почему, но содержание топика вызвало ностальгию по интернету начала 2000х. недостаток underground'a видимо
Тоже думаю последнее время про VPN. Анонимность меня не сильно волнует (точнее волнует, но я вроде не параноик), но в универе есть открытая сеть и вот там с некоторых пор приходится часто пользоваться ноутбуком и вобщем-то опасаюсь за свои пароли и прочую ерунду. Насколько безопасно пользоваться открытой точкой доступа wifi и при этом по соединению ssl? Gmail, google account, google reader и т.п. — т.е. все что угодно, но через ssl(https)?
Если не принимать сертификаты с кривой подписью — то безопасно.
Не очень безопасно, как-то у себя дома свой трафик снифал — оказалось, что добрая половина софта смело принимает левые сертификаты без вопросов (например, встроенный в андроид exchange-клиент) и выдаёт в открытом виде явки/пароли.
Собственноручно поднятый vpn-сервер безопаснее коммерческой услуги? Если предположить, что коммерческих провайдеров vpn обязывают вести логи и предоставлять их в случае чего?
кто кого обяжет?
вот есть vpn-провайдер, юр.лицо у него на Виргинских островах, сервера стоят на Каймановых, а сам он живет в Новой Гвинеи с паспортом гражданина Гвинеи-Бисау. Кто его обяжет?
но в любом случае свое надежней )) главное поднимать его в стране в которой вы уверены.
Вроде бы никто не обяжет, а на практике таки бывает, что ведут. Откуда вам знать, что он в Новой Гвинее, а не местный особист?
Я ничего не знаю про провайдера, поэтому у меня нет над ним контроля. Вдруг он на фбр работает, мало ли.
Ну а по поводу страны — есть ли разница, если это мой сервер? Провайдер будет вести логи всех запросов со всех серверов?
Разница есть, когда к вам подбираются с той стороны :) То есть, когда расследование идёт от сервера к злоумышленнику, и прервётся на анонимном впн-сервере. А бывает и наоборот
Есть, конечно. Посмотрите локальные законы и поймете в чем разница.
Я не про законы, я про техническую сторону вопроса. Если я арендовал сервер и поднял там vpn, что можно отследить?
по запросу хостер может лить ваш трафик. смотрите законы той страны где хостите сервак
без монтирования вашей виртуалки входящие коннекты, с монтированием все что угодно.
вы взяли VPS, он лежит на хосте.
дальше продолжать?
Я себе такой-же практически поднял. Очень доволен.
Подключаюсь с Android телефона и с ноутбука.

Думаю не помешает заметить, что в Linux можно подключаться очень просто через openvpn плагин для NetworkManager через GUI и без ковыряния конфигов.

Я ключи генерирую в /etc/openvpn/keys а не в /usr/share/doc/openvpn/examples/easy-rsa/2.0/ т.к. второй смотрится как-то не интуитивно =)

Вот мои конфиги, если кому интересно.

$ ls /etc/openvpn/
keys  README  server.conf  update-resolv-conf  vars

$ cat /etc/openvpn/server.conf | grep -E "^[a-z]"
port 1194
proto udp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key  # This file should be kept secret
dh /etc/openvpn/keys/dh1024.pem
server 10.8.0.0 255.255.255.128
push "redirect-gateway def1"
push "dhcp-option DNS 208.67.222.222"
client-to-client
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
verb 3

$ cat /etc/openvpn/vars | grep -E "^[a-z]"
export EASY_RSA="`pwd`"
export OPENSSL="openssl"
export PKCS11TOOL="pkcs11-tool"
export GREP="grep"
export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA`
export KEY_DIR="/etc/openvpn/keys"
echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR
export PKCS11_MODULE_PATH="dummy"
export PKCS11_PIN="dummy"
export KEY_SIZE=1024
export CA_EXPIRE=3650
export KEY_EXPIRE=3650
export KEY_COUNTRY="RU"
export KEY_PROVINCE="Moscow"
export KEY_CITY="Moscow"
export KEY_ORG="seriyps"
export KEY_EMAIL="me@*********"

$ cat /etc/openvpn/README
http://habrahabr.ru/blogs/linux/67209/
http://lithium.opennet.ru/articles/openvpn/openvpn-howto.html

# NAT
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/25 -o eth0 -j MASQUERADE 
sudo sysctl net.ipv4.ip_forward=1

# Generate new key
sudo su
cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/
source /etc/openvpn/vars
export CLIENT_NAME="client_name"
./build-key-pass $CLIENT_NAME
tar -cf /home/seriy/$CLIENT_NAME.tar /etc/openvpn/keys/ca.crt /etc/openvpn/keys/$CLIENT_NAME.{crt,key}
sudo chown seriy:seriy /home/seriy/$CLIENT_NAME.tar

У себя дома в Молдове сделал домашнюю файлопомойку, с торрент клиентом, и бонусом добавил VPN сервер. Как в воду глядел.
В Молдове на работе внешка была зарезана до полумегабита, а интранет доступен на 100 мегабит, вот и нужен был vpn сервер, чтобы пользоваться с работы быстрым домашним 30мегабитным инетом. Как оказалось, не зря я курил маны по установке vpn сервера на Ubuntu.
Понаехав в Россию, мой молдавский сервер VPN оказался как никогда актуален в свете последних событий, так как в Молдове не блочат сервера в интернете — нет смысла, да и законодательство не позволяет.
Для России цена этого сервера без налога €6.64. Плюс, если планируете у них держать NS — €0.5 один раз за добавление домена. Сам пользуюсь уже больше года. Не только VPN, а еще всякие разные сервисы для себя.
У меня VPN до дома есть уже давно. В качестве сервера D-Link DFL-800, так как никаких секретных данных не гоняю, то все без изысков. Стандартный PPTP с минимальным шифрованием (ибо настраивалось еще на русской прошивке, а там все что больше 56бит недоступно ибо ФЗ). Плюс PPTP в том, что работает на всем, чем нужно вообще без плясок с бубном (Win, OS X, Android, iOS), спокойно НАТится в обе стороны, в отличии от L2TP и чистого IPSec-а, и не надо ничего устанавливать.
Недавно тоже прикупил себе на всякий случай серверок и поднял до него IPSec (с той стороны racoon под CentOS) в тестовых целях. Хотя РТК (да и остальные провы в нашем регионе) пока ничего не блокирует, но так спокойнее. Если что-то заблокируют, можно зарулить в IPSec-овый туннель.
я тоже за pptp, из коробки работает с айфонов, легко поднять с роутера…
В такой конфигурации какая максимальная скорость соединения была?
У меня все уперлось в мой канал связи (~20Мбит/с), поэтому реальную производительность замерять не удалось.
А кто бы подсказал подходящего провайдера для размещения VPN-сервера внутри России. А то в наших палестинах и со спутника толком ничего не транслируют на русском и по IP большинство русскоязычных сервисов режут. А так хоть к ним доступ бы был. А то есть у человека желание смотреть отечественное ТВ, а как помочь, да так чтобы за недорого, пока не придумал.
А насколько правильно править ручками файлы в /usr/ пусть даже в директории examples?
Вот тут я написал как это обойти habrahabr.ru/post/153855/#comment_5248427
Нужно, например, скопировать файл /usr/share/doc/openvpn/examples/easy-rsa/2.0/vars в /etc/openvpn/vars и в нём прописать export KEY_DIR="/etc/openvpn/keys"
Тогда для генерации ключа
sudo su
cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/
source /etc/openvpn/vars
./build-key-pass ...

и ключи появятся в KEY_DIR, т.е. /etc/openvpn/keys, или что вы там пропишете
Наверняка можно поставить как DIY приложение на OpenShift (https://openshift.redhat.com/ ), тогда получаем вообще бесплатное решение
UFO landed and left these words here
На удаленных серверах, как правило, не поднимают графический интерфейс. Да и для тек кто привык работать с консолью, настройка через GUI может показаться неудобной, сложной, негибкой.
Он говорит про настройку клиента очевидно. VPN-клиент в NetworkManager вполне себе ничего.
Я понимаю, лично у меня был негативный опыт настройки через NetworkManager, то что в /etc/network/interfaces изменяется за пару минут там, по крайней мере раньше, было каким-то сложным в NetworkManager и работало не так как нужно было :)
PS. А если нужен функционал который в данный момент не поддерживается NetworkManager он начинал глючить с измененными вручную настройками.
PPS. Да и зачем грузить сервер лишними приложениями, изначально покупался сервер подешевле.
В смысле «грузить сервер лишними приложениями»?
У меня есть VPS с OpenVPN сервером настроенным как у автора
У меня есть ноутбук с Ubuntu и NetworkManager с которого я к этому VPN подключаюсь

Ноутбук я настраиваю через NM. Из плюсов — иконка на значке соединения позволяет увидеть что VPN отвалился + приложения знают (через D-Bus интерфейс если есть необходимость), что я работаю через VPN ну и настройка в гуе.
Внутри этот плагин точно так же запускает обычный /usr/bin/openvpn --client с нужными параметрами.

Если вы через VPN соединяете 2 сервера, то это конечно другая история
Мы о разных вещах говорили) Я почему — то подумал что имеется ввиду поднятие VPN сервера на VPS средствами NM. Да и все это не так важно, каждый пользуется инструментами которые ему удобнее, я и на клиентской машине, скорее всего, настраивал бы через консоль.
>> Как вернуть доступ к youtube.com, если ваш провайдер его заблокировал?
Прописал гугловские ДНС и все работает.
Некоторые московские провайдеры блокируют доступ к чужим ДНС и заставляют пользоваться своими, с#ки :)
А что мешает использовать купленный сервер как прокси используя ssh-туннель?
Поставить программку Bitvise Tunnelier, прописать там динамический туннелинг и дать наказ жёношке запускать эту прогу и в настройках браузера прописать полученный прокси? Там телодвижений намного меньше
А Hetzner не банит за использование VPN? Где-то читал, что запрещено… но что-то сейчас не найду гед ((
У меня больше года на их серверах тоннель крутится, ни разу никаких писем счастья или блокировок не было, хотя я и торренты гонял и просто серфил (на работе только через свой тоннель).
У них в вики есть:
" Are tun/tap devices usable?
Yes they are usable. If you wanted to you could run for example openVPN on a virtual server." (http://wiki.hetzner.de/index.php/VServer/en)
Так что думаю никаких проблем быть не должно :)
А с какой стати вообще youtube заблокирован? И почему не сменить провайдера на другого, «годного»?
Eсть места, где провайдер — монополист с соответствующими замашками «куда хочу — туда верчу». Альтернатива им — дохленький мегафон модем который даже 500 кбит не вытягивает.
1) Не рекомендуется для генерации ключей использовать VPN сервер. При компрометации ca.* файлов компрометируется вся сеть. Лучше вынести папку easy-rsa куда-нибудь в безопасное место.

2) Не стоит использовать стандартный порт. Причины очевидны. Устанете дяде из ФСБ объяснять, что это Вы ютуб смотрите, а не «central processors» (CP) передаете через этот Ваш буржуйский openvpn.

3) Включите tls-auth:
openvpn --genkey --secret ta.key
раскидываем ta.key на сервер и клиенты, Далее
tls-auth ta.key 0 — на сервере
tls-auth ta.key 1 — на клиентах
Телодвижений минимум, а выгода: скрытие факта существования VPN сервера и защита от (D)DOS'a, даже если спалите нестандартный порт.

4) (да, я параноик!) chroot наше все. OpenVPN это прекрасно умеет.
5) Включите верификацию сертификата сервера на клиентах (remote-cert-tls server), а то школьник Вася, прилежно загугливший про man-in-the-middle атаки будет слушать весь Ваш трафик, в то время, как Вы будете успокоены безопасностью VPN.
6) Чем длинее ключи, тем спокойнее спится. У меня VDSка за 150 рублей вполне спокойно рулит трафиком с
KEY_SIZE=2048
cipher AES-256-CBC
7) С помощью iptables не только трафик форвардить надо, еще все порты, что не нужно лучше сразу закрыть.

Подробная инструкция на английском: openvpn.net/index.php/open-source/documentation/howto.html#security
remote-cert-tls server, первое о чем я подумал как дописал статью. позже обязательно добавлю.
Уважаемый, почему у вас отрицательная карма? Ну непорядок же. :)
3) Включите tls-auth:
openvpn --genkey --secret ta.key
раскидываем ta.key на сервер и клиенты, Далее
tls-auth ta.key 0 — на сервере
tls-auth ta.key 1 — на клиентах
Телодвижений минимум, а выгода: скрытие факта существования VPN сервера и защита от (D)DOS'a, даже если спалите нестандартный порт.


для того чтобы скрыть факт использования шифрования аутентификация по симметричному ключу больше подходит.
для большей совместимости с некоторыми клиентами лучше использовать key-direction 0|1

некоторые провайдеры блокируют tls режим, но рф это пока не касается.

Добавил в конфиги в статье remote-cert-tls server.
tls-auth вызывает лишний шаг в настройке и мне кажется для базовой конфигурации излишен, поэтому внес комментарии в статью, для тех кому он необходим. Так же добавил заметку, про нестандартный порт.
А может кто знающий подскажет решение следующих идей:
1. Контролировать/органичить траффик (объем скажем в день/месяц) по VPN для отдельного пользователя.
2. На клиенте пустить по VPN только определенные хосты (для экономии платного траффика), скажем только Youtube.
3. Получить доступ (объеденить в одну сеть) по Windows Network внутрь Windows виртуальной машины на том же сервере, что и VPN.
1. Когда я последний раз интересовался вопросом, винда не умела делить трафик по пользователям в пределах одной системы.
2. Прописываете маршрут к подсетям ютуб через VPN — интерфейс. Конкретику не скажу, не владею виндой.
3. Не очень понял вопрос. Вам нужно связать host и guest машины через windows network (smb протокол)? Либо подсоединяете гостя к VPN и просто настраиваете рабочую группу. Должно заработать.
1. VPN (сервер) же на Debian'е. Хочется, чтобы жена/подруга не сожрала израсходовала весь месячный траффик за день.
3. Есть WinXP вирутальная машина на том же сервере, что и OpenVPN. Хочется снаружи на ноуте быть с той машиной в одной сети. Вобщем, похоже это решается клиентом openVPN на виртуальной машине…
1. Контролировать/органичить траффик (объем скажем в день/месяц) по VPN для отдельного пользователя.

1. VPN (сервер) же на Debian'е. Хочется, чтобы жена/подруга не сожрала израсходовала весь месячный траффик за день.

Что Вы имеете в виду под «отдельным пользователем»? Локального пользователя на виндовом клиенте? Или компьютер жены, подключающийся к VPN по отдельному своему сертификату? Если второе, то ставьте любую систему учета трафика на сервер. Я когда-то давно использовал NetAMS, тогда еще в третье версии.
Если первое, то не понимаю как связан локальный пользователь на клиенте и сервер на Debian.
Да, конечно второе. Спасибо, посмотрю.
А может есть какое-то решение внутри VPN (понятно, что не openVPN, но на его основе и не на его куча всяких решений), которые позволяют скажем вебмордой создавать пользователей (VPN), котролировать сертификаты, траффик, скажем временем доступа и т.п.
Хм, насколько я понимаю на iOS (Apple) под OpenVPN клиента не существует? (везде предлагают только для джелбрекнутых версий клиенты)?
iOS поддерживает VPN из коробки. Только вот отваливается он, нельзя его один раз включить и постоянно юзать, надо каджый раз при необходимости включать в настройках
Из коробки iOS вроде как поддерживает только L2TP, IPSec и PPTP…
Это правда лишь отчасти. Для VPN с использованием сертификатов ( L2TP / IPsec ) есть такая опция как onDemand, когда подключение будет активироваться всякий раз когда происходит доступ к ресурсам сети. По странной логике Apple, для парольной авторизации такая опция не предусмотрена.
ну да, я слышал, Cisco OnDemand, но где ж его взять на обычном покупном впне. Логика действительно странная
Тогда вопрос- может кто подкинуть статейку хорошую как организовать L2TP / IPsec для таких нужд, ну или хоте бы какой софт для этого использовать порекомендуете (есть сервачек с CentOS)?
Вот буквально на днях выбрал себе такую же конфигурацию. Автор, спасибо! теперь руки точно дойдут.
Ubuntu server 12.04.1, локальный IP: 192.168.1.33, Маршрутизатор: 192.168.1.1 + внешний IP, порт 1194 проброшен.

Сделал всё по инструкции. Windows-машина подключается, но доступ почему то есть только к 192.168.1.33. Любые другие адреса не отвечают. (Подсоединялся с другого провайдера.)

server.conf http://paste.org.ru/?0l9n5a
openvpn-windows клиент http://paste.org.ru/?i1lhzq

В чем может быть проблема?
Медотом исключения остается проверить cat /proc/sys/net/ipv4/ip_forward на сервере. Должен выдавать единицу. Если выдает ноль, то сделайте

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

и, если заработает, сохраните в /etc/sysctl.conf
net.ipv4.ip_forward = 1
Это в статье тоже описано было, выполнял.
cat /proc/sys/net/ipv4/ip_forward
Показывает «1»
Столкнулся с подобной проблемой, напишу, вдруг еще кто-нибудь столкнется.

Не обязательно интернет висит на eth0, как указано в конфиге из статьи, нужно подставлять свой интерфейс
Простите, возможно глупый вопрос, но мне не понятно — после установки впн-клиента на андроиде и подключения его к серверу — почему вдруг браузер или любое другое приложение должно идти на запрашиваемый ресурс не напрямую, а через канал впн?
Клиент впн под андроид назначает шлюз по умолчанию для активного интерфейса? Или создает виртуальный интерфейс, связывает его с интерфейсом сервера впн, делая его шлюзом по-умолчанию?
Если я при этом расшариваю этот интернет с помощью телефона (делаю его wifi-точкой доступа) — то клиенты этого wifi — тоже пойдут в интернет по впн?
Простите еще раз за возможную глупость, просто хотелось бы все до конца понять. Связывая 2 сети через интернет с помощью openvpn мне пришлось править iptables направляя трафик из одной сети в другую и наоборот.
«создает виртуальный интерфейс, связывает его с интерфейсом сервера впн, делая его шлюзом по-умолчанию" — это я имел в виду, что правильный этот вариант.

«создает виртуальный интерфейс, связывает его с интерфейсом сервера впн, делая его шлюзом по-умолчанию?»

Связывая 2 сети через интернет с помощью openvpn мне пришлось править iptables направляя трафик из одной сети в другую и наоборот.
Достаточно было сказать
push «redirect-gateway def1 bypass-dhcp»
в конфиге сервера. Кстати, это можно говорить для отдельных клиентов, используя параметр ccd.
Как раз решил настроить OpenVPN на своем VPS на базе CentOS.
Сделал по инструкции.
Прописываю параметр push «redirect-gateway def1 bypass-dhcp»
Трафик до сервера ходит нормально, но вот дальше начинаются проблемы.
Трассировка на доменные имена на работает.
Трассировка на, к примеру, 8.8.8.8 занимает пару минут.
На машине ничего не открывается.
Клиент под Windows.
route PRINT на нем выдает
IPv4 таблица маршрута
===========================================================================
Активные маршруты:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.2 25
0.0.0.0 128.0.0.0 10.18.0.5 10.18.0.6 30
10.18.0.0 255.255.255.0 10.18.0.5 10.18.0.6 30
10.18.0.4 255.255.255.252 On-link 10.18.0.6 286
10.18.0.6 255.255.255.255 On-link 10.18.0.6 286
10.18.0.7 255.255.255.255 On-link 10.18.0.6 286


Ранее с такой проблемой не сталкивался. В iptables все прописано корректно. Как понять в чем может быть проблема?
Трейс ходил, но очень медленно. Какой-то баг был временный, видимо. Сейчас все поднялось.
Кстати хетцнеру не нравится, когда его пользуют под vpn. Был опыт — забанили.
Я попытался нагуглить эту статью по словам «OpenVPN на страже семейных отношений», так как фраза классная и запоминающаяся. Не получилось, хотя через посик хабра нашел.
Потом понял, что фраза была в самой картинке
Внес небольшие изменения в статью (конфиги и комментарии), надеюсь она не стала чуть более запутанной.
Вохможно есть вариант дешевле. Выбираем на Amazon Web Services Free Usage Tier получаете машинку примерно тех же параметров на год безплатно. Там же есть ещё Virtual Private Cloud но безплатно уже не выйдет. 5 центов в час.
Сделал все как в инструкции. Кто нибудь может объяснить, как сделать, чтобы whoer.net не палил мой российский DNS?
Если все сделано как в статье то не должен, т.к. в конфиге из стать пушатся DNS от гугла.
Перечитайте вот эти строки
# все настройки по-умолчанию нас устроят, меняем, раскомментируем:
На днях заморочился автоматизацией подключения и хранением сертификатов для подключения, получилось достаточно дружелюбно.

SFX EXE файл с упакованным во внутрь томом TrueCrypt и самим TrueCrypt в портативном виде. При запуске exe файла, все его содержимое (бинарник truecrypt и том tc) извлекаются во временную директорию, ./tmp_vpn, рядом с exe файлом, удобно например если носишь на флешке.
после того как все будет распаковано, открывается консоль CMD и запрашивает пароль от тома tc, введенный пароль заменяется символами **** через EditV64 или EditV32 (архитектура определяется автоматом), если пароль на том введен верно, он монтируется в тихом режиме как флешка, на томе лежит защищенный паролем сертификат PFX и бинарники openvpn для 32 и 64 битных ПК, конфиг создается на лету из скрипта и кладется рядом с сертификатом, после этого консоль спрашивает второй IP, уже от сертификата, если пароль подошел, происходит подключение к тоннелю. Для разрыва соединения достаточно закрыть консоль.

Для конечного пользователя все выглядит достаточно просто, он вставляет флешку в любой ПК, запускает exe файл, вводит 2 пароля и всё, он подключен.

При закрытии терминала происходит автоматическое отключение от тоннеля и размонтирование тома TC. Все достаточно не плохо. Драйвера TAP ставятся на ПК при необходимости тоже в автоматическом режиме, разве что выйдет окно, доверяете ли вы издателю.
спрашивает второй IP
второй пароль конечно, не успел отредактировать.
Небольшое дополнение.

Если необходимо чётко установить исходящий IP-адрес (к примеру, если на сервере их много), то вместо:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Указываем:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 111.222.333.444
где 111.222.333.444 — внешний IP сервера.

PS. Если вы уже ввели первое условие, то чтобы его удалить запускаем:
iptables -t nat -D POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
т.е. вместо «-A», указываем «-D».
В последних версиях openvpn easy-rsa исключили из пакета. Есть ли где-то актуальная инструкция?
Старался всё делать по инструкции, но не взлетело.
  • Запускаю так: sudo openvpn --config ./vpn.ovpn. Получаю Initialization Sequence Completed
  • На сервере openvpn.log пуст
  • На сервере openvpn-status.log видит 10.8.0.6,faiwer,мойip:1194,Thu Mar 31 10:41:28 2016 клиента, судя по всему
  • На клиенте nslookup ya.ru и nslookup youtube.com 8.8.8.8 ― пусто
  • На сервере эти же команды возвращают адреса.
  • Ping на сервере до 93.158.134.3 (yandex из nslookup) идёт, а на клиенте молчит (даже по прямому IP т.е.)
  • На сервере cat /proc/sys/net/ipv4/ip_forward выдаёт 1
  • На сервере service openvpn status пишет * VPN 'server' is running
  • ping к серверу по его IP на клиенте идёт
  • ping к серверу по его домену уже нет

ЧЯДНТ? В сетях почти ничего не понимаю...
Похоже что на сервере просто не включен маскарадинг, вот этот кусок из статьи:
    # добавляем строки до exit 0
    iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
    iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
    # сохраняем

Проверьте что при выполнении этих команд, нет ошибок в выводе. Проверьте имя вашей сетевой, что она действительно eth0
Не сохраняйте в файл, а именно выполните их в консоли сервера.
cat /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

#faiwer
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

exit 0


Запуск
root@faiwer:~# iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
root@faiwer:~# iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
root@faiwer:~# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
root@faiwer:~#


Т.е. ни ошибок, ни каких-либо сообщений.
Проверьте имя вашей сетевой, что она действительно eth0

А как? Так?
ifconfig
root@faiwer:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:16:3e:5a:ad:3a  
          inet addr:IP_МОЕГО_СЕРВЕРА  Bcast:31.131.16.255  Mask:255.255.255.0
          inet6 addr: fe80::216:3eff:fe5a:ad3a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:199293 errors:0 dropped:0 overruns:0 frame:0
          TX packets:124354 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:18315365 (18.3 MB)  TX bytes:1982768199 (1.9 GB)
          Interrupt:32 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:102 errors:0 dropped:0 overruns:0 frame:0
          TX packets:102 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:17277 (17.2 KB)  TX bytes:17277 (17.2 KB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-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:4180 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:263759 (263.7 KB)  TX bytes:0 (0.0 B)


В некоторых статьях помимо apt-get openvpn были ещё пакеты. Вроде как раз что-то вроде для маскарада. Может быть в этом дело?
Тут хорошо бы и сторону сервера посмотреть.

Подскажите, плз, что именно и как? Листинг ifconfig я показал как раз серверный.
  • Мой клиентский располагает eth0, lo, wlan0.
  • Сервер: uname -a => Linux {name} 3.2.0-75-generic #110-Ubuntu SMP Tue Dec 16 19:11:55 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux. UbuntuServer.
  • Клиент: Linux faiwer-mint 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux. LinuxMint.
  • Версия OpenVPN на клиенте: 2.3.2-7ubuntu3.1, на сервере: 2.2.1-8ubuntu1.4.
Интересное дело. Спустя пару дней я снова полез ковыряться. Но оно заработало само. Без каких-либо изменений. Ох уже сети :)
Only those users with full accounts are able to leave comments. Log in, please.