Pages

понедельник, 12 октября 2009 г.

Даёшь интернет! Домашний VPN-сервер за 15 минут



И так, задача - объединить две удалённые точки vpn-тонелем, в частности, квартиру и офис, для получения хорошего/жирного/дешёвого/анлимного (нужное подчеркнуть) интернета.

Введение.

Чем
?
Объединять буду стандартным VPN(PPTP)-сервером.
Почему?
К PPTP легко коннектиться виндой, понимаемо популярными роутерами.
Соединение сетей.
По учётке: логин+пасс, которые будут заведены на PPTP-сервере.

Так же есть некоторые условия: в качестве используемых "серверов" должны выступать устройства с минимальным энергопотреблением/уровнем шума, соответственно, home-pc для этого не годится, и должны легко и не головоломно настраиваться.

Топология провайдерской сети:
Две точки, назовём их "Дом" и "Работа" находятся в одной провайдерской локальной сети 10.xx.xx.xx.
Доступ в интернет осуществляется путём нешифрованного соединения с впн-сервером xxx.vpn.ru через учётку login+pass.

Устройства:
1) Роутеры Dlink Dir320(дома) и Asus Wl500Gp (на работе), мини-материнка All-In-One на базе Intel Atom (всё интегрированно, чем дороже, тем меньше габариты и энергопотребление; начиная от такого "гиганта" и заканчивая совсем крошечными промышленными контроллерами)
Роутеры должны быть проапгрейжены до последней прошивки.
2) Материнка должна иметь 2 lan порта, в качестве носителя будет использоваться compact flash. Корпус додумываем сами, блок питания в моём случае - старый AT на 250W c 120мм куллером. Всё это вместе назовём "Суперсервер", базовая ОС - ClarkConnect (сис. требования) версии 5.0 Community Edition, очень человечная роутерная система с интуитивно-понятным веб-интерфейсом.

Почему именно эти роутеры?
Наверное, самые популярные модели из доступных, перепрошиваются олеговской прошивкой, умеют сами качать с торентов на флешку и т.д., что удовлетворяет перечисленные выше требования. Положительная сторона Asus - надёжно держит и реконнектит впн с прошивкой от Олега. Вдобавок от этого Асуса у меня будут завистеть другие пользователи.

Что есть.
Дома я имею, как и упоминал выше, городскую сеть 10.xx.xx.xx и Wan VPN-подключение с внутренними адресами типа 172.хх.хх.хх. На работе тоже самое, только на пути до меня стоит общественный роутер с подсетью 192.168.1.0/24, и мне выделен адрес 192.168.1.4. Инет на работе расходовать нельзя, дома анлим - мотивы ясны -).

План.

Пояснение:
Желтым цветом показан будущий VPN-тонель от одного роутера к другому через локальную сеть провайдера.

Настройка.

Начнём с дома.

Ставлю Dlink Dir320, настраиваю Pptp DualAccess, проверяю коннект с провайдером, работает, ОК. Внутренняя подсеть - 192.168.0.0/24, адрес роутера - 192.168.0.1.
Инернет раздаётся домашним устройствам и "Суперсерверу". Настраиваю маршруты: локальные запросы к локальным (типа 10.0.0.0/8 и другие для пиринговых сетей), остальное - в vpn-тоннель. Это классическая настройка pptp over lan.
Активирую "доступ через web" на стандартный порт 8080 (что будет выглядит, как http://10.xx.xx.xx:8080), дабы с работы в случае чего можно было покрутить настройки.

На суперсервер ставлю ClarkConnect, настраиваю режим Gateway: eth0 на 192.168.0.5, eth1- произвольно (просто для поддержания Gateway нужно 2 сетевые карты). Модули во время установки - VPN(PPTP) обязателен, остальные, вроде самбы или фтп - по вкусу.
Доступ к "Суперсерверу" - https://192.168.0.5:81 из моей домашней сети, логин root + пароль.
Потом прохожу через браузер все шаги предварительной настройки, связанные с регистрацией продукта и созданием сертификатов.
Настраиваю PPTP c учётом того, что адреса внутреннех сетей 192.168.0.0/24, 192.168.1.0/24, 192.168.2.0/24 уже использованы. Предварительно нужно завести пользователей и группы, если таковые нужны, и отметить каждому доступ к определённому серверу. Имя и пасс юзера будут логином и пасом VPN-учётки.
Запуск службы - кнопка start, автоматический - auto.

::Network-->PPTP VPN

Замечание: 40битное шифрование меньше нагружает сервер.
На этом основная настройка ClarkConnect заканчивается, хотя, возможно, что в правила фаервола придётся в incoming понадобится внести правило для PPTP (Gre + TCP), порт 1723.

::Разрешаем VPN

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


::Графики и статистика ClarkConnect.

Время вернуться в Dlink Dir320 и произвести проброс портов для Суперсервера, т.к. запросы я буду делать на внутрилокальный ip, выданный мне провайдером, 10.xx.xx.xx, а роутер в соответствии с правилами должен решать, к какой машине в NAT идёт обращение.

::Настройка портов в Dlink Dir320

Только два нужно правила, и они очевидны: доступ к админке CC и к PPTP-серверу из локалки провайдера.

Теперь очередь настроить на работе роутер Asus Wl500Gp. Как я писал, уже имеется роутер с внутреннней локалкой 192.168.1.0/24. Мне выделен адрес 192.168.1.4, который и станет ip асуса.
Шлюз и DNS - 192.168.1.1+ на всякий пожарный DNS провайдера. VPN-сервер - мой домашний локальный IP-адрес. Получается, что обращение к локальным ресурсам (провайдерская сеть) идёт через локалку, интернет - через VPN-тонель.

:IP Config

Асус образовал сеть 192.168.2.0/24 и всем, подключенным к нему, машинам даёт интеренет с домашнего суперсервера. А чтобы они смогли поднимать ещё (а вдруг?) и VPN-учётку провайдера, нужно прописать маршрут сети, в которой находится сервер, до шлюза (в моём случае это 172.хх.хх.хх на 192.168.1.1).

Вывод.

На данном примере показано, как без особых знаний в области сетевых технологий и консольного администрирования можно соединить две частные локальные сети посредством VPN-тонеля и бесшумных маршрутизаторов. Этот метод является альтернативой соединения двух маршрутизаторов Asus Wl500Gp с помощью OpenVPN, которое многим может показаться сомнительным и ограниченно-неудобным. И главное, что все конфигурируется через стандартный web-интерфейс, а ClarkConnect богат и другими возможностями: от web-сервера с мощным фаерволом до почтового шлюза.

Полезные ссылки:
ClarkConnect HELP

Понравился пост? Подпишись на обновления блога по Tuxologia RSSRSS, Tuxologia по EmailEmail или twitter!

Внимание!
Блог Tuxologia теперь dofollow, но это не значит что можно оставлять бессмысленные комментарии.
Хороший, качественный комментарий останется здесь навсегда.
У коротких записок в стиле твиттера нет шансов.

Отправить комментарий

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

Интеллект — это способность избегать выполнения работы, но так, чтобы она при этом была сделана.