betaВсеукраинский портал разработчиков и пользователей свободного программного обеспечения. |
||
| Поиск | ||
Рассылка |
openvpn: одна подсеть по разные стороны28.02.10 /Недвано подкинули интересную задачку: нужно соеденить по vpn'y 2 офиса, причём внутрення подсеть у них одна и та же. В качестве vpn'a выбрал openvpn. Шлюзы крутились на FreeBSD 7.2. Для соединения по vpn была выделена подсеть 10.15.0.0/31, то есть только 2 адреса: 10.15.0.1, 10.15.0.2 1) Подготовка. Установку и создания ключей обписывать не буду, они уже описаны другой статье. Идея соединения такова: серваки подключаются по vpn'y, создаётся мост между сетевым подключением vpn и локальной сетью. Для того, что бы можно было работать с бриджом (мостом), нужно либо - включить поддержку в ядре: пересобираем ядро с опцией device if_bridge - либо подгрузить модулем: добавить в /boot/loader.conf if_bridge_load="YES" Ещё очень немаловажным моментом будет использование интерфейса tap вместо tun в openvpn. В tap используется инкапсуляция на уровне OSI 2, а в tun - 3. Нам же нужен именно 2-ой. Для возможности использования tap его нужно подгружать модулем: добавляем в /boot/loader.conf: if_tap_load="YES"
2)Настройка openvpn'a. Конфиг openvpn'a следующий (сервер): dev tap конфиг клиента: dev tap Вот так выглядит скрипт, запускающий vpn-соединение: #!/bin/sh Сам скрипт помещаю в папку /scripts, а для его запуска во время загрузки, создаём вот такой скрипт (называем его vpn) и помещаем его в /usr/local/etc/rc.d: #!/bin/sh
3)Заключение. Для нормального запуска во время загрузки, в /etc/rc.conf должны присутствовать такие строки: cloned_interfaces="bridge0 tap0" ifconfig_bridge0="addm fxp0 addm tap0 up" где, fxp0 - сетевуха, которая смотрит в локалку. Если не хотите подгружать вручную модули и создавать бридж, запускать скрипты vpn'a, то просто перегрузите сервак. А если всё-таки не хотите перегружать сервак, то ниже приведена последовательность действий: - подгружаем модули tap, bridge: #kldload if_bridge #kldload if_tap - проверяем, подгрузились ли они: # kldstat - создаём bridge: #ifconfig bridge0 create - проверяем создался ли: #ifconfig bridge0 - запускаем сам скрипт для поднятия vpn'a: #/scripts/vpn & - ну и смотрим на само соединение: # ifconfig tap0 Собственно это всё :) По материалам: Комментарии |
|
|
© 2004-2009 Журнал "Root UA" - свидетельство СМИ: КВ №14786-3757Р
Газета "FOSS News" - свидетельство СМИ: ОД №1355-236-Р При использовании материалов портала ссылка на Root.UA обязательна, для интернет-изданий – гиперссылка, не закрытая для индексации поисковыми системами. sitenews |
||
Добавить комментарий