double posting...
Я честно говоря всего добился "методом обезьяны". Не зная как надо пробовал все подряд. Поэтому и how-to могу написать примерно такой же. По принципу нажимаем зеленую кнопку, 2 раза приседаем и стучим в бубен
double posting...
Last edited by abi; 09-08-2007 at 17:35.
Я настраивал 2 раза вообще без бубна, все работало и работает как часы.
1. Машина для генерации сертификатов у меня на Винде, если у вас нет, то этот шаг я пропускаю. Единственное, что должно быть - это common name сертификата сервера "server". Вернее не должно, а полезно, так как мы можем задействовать одну проверку на валидность сертификата.
2. Установка OpenVPN сервера. ipkg и все такое - тут все понятно.
Далее мы будем запускать все на интерфейсе tap, так как tun из HOWTO делает лишний хоп (давятся броадкасты и к примеру, в большую часть игр поиграть не получится в режиме "локальная сеть". Мы сделаем сервер полностью прозрачным.
2.1 Готовим папку для ключей, пусть это будет /opt/etc/openvpn/keys и кладем туда ca.crt, dh1024.pem, server.crt, server.key.
2.1 Готовим конфиг-файл, я просто скоировал по умолчанию как /opt/etc/openvpn/server.conf
2.2 Настраиваем
dev tap0
proto tcp-server
server-bridge 10.0.0.1 255.255.255.0 10.0.0.50 10.0.0.60
Тут все ясно, замените только на ваши, последние 2 ip - диапазон выдачи, подсети должны совпадать с первым числом. Иначе - роутинг и лишний хоп.
client-to-client
tls-server
dh /opt/etc/openvpn/keys/dh1025.pem
ca /opt/etc/openvpn/keys/ca.crt
cert /opt/etc/openvpn/keys/server.crt
key /opt/etc/openvpn/keys/servert.key
port 1194
user daemon Это если ходите понизить права процессу.
group daemon см. выше. Обе строки необязательны.
comp-lzo
keepalive 10 120 (выкл пинги!!)
persist-tun
persist-key
verb 3
У вас все может отличаться, в зависимости от специфики.
3. Готовимся к запуску.
Я внес в post-boot
insmod tun.o, так как традиционно туда помещаю все insmod.
/opt/etc/init.d/S24openvpn
#!/bin/sh
PATH=/opt/sbin:/opt/bin:$PATH
export PATH
Создадим интерфейс
openvpn --mktun --dev tap0
и добавим его в br0
brctl addif br0 tap0
Если это не сделать пакеты не пройдут.
ifconfig tap0 0.0.0.0 promisc up
openvpn --cd /opt/etc/openvpn --daemon --log-append /opt/var/log/openvpb.log --config server.conf
chmod +x /opt/etc/init.d/S24openvpn
/usr/local/sbin/post-firewall
Добавить
iptables -A INPUT -i tap0 -j ACCEPT
Все! Должно работать.
огромное спасибо за подробное описание шагов.
а есть ли возможность сделать не на tap а на tun интерфейсе??
т.е. принципиально эти интерфейсы чем-то отличаются или просто название такое?
Почему спрашиваю?? Просто именно необходим лишний хоп. А как я понял он создаётся с интерфецсом tun.
И можно ли использовать опенвпн без использования различных сертификатов?
Принципиально отличаются. tun соответствует идеологии "роутер", tap - "мост".
Соответственно, мост пропускает броадкасты, может задействовать внешний DHCP, а не раздачу из своего пула.
Плюсов режима роутера я не вижу, если честно
Так как броадкасты не пройдут, следует ставить WINS для отображения NETBIOS имен, плюс роутинг надо настраивать.
Опять таки, лишний хоп - это, помоему, следствие режима работы моста или роутера. На мосте можно попытаться тоже сделать хоп. Например, не включая tap0 в br0, но настроив между ними маршрутизацию. Но это уже бубен, так как я так не делал и что посоветовать - не знаю, у меня изначально вполне конкретная цель была - играть в Heroes of might and magic 5 с пиратским ключом
Без сертификатов, если не ошибаюсь, подконенктить больше 1 пользователя нельзя, но в openvpn есть опция, позволяющая нескольким клиентам иметь один сертификат....
Last edited by abi; 13-08-2007 at 18:19.
Сразу оговорюсь - возможно все очень логично и так и должно быть. Но поскольку я не очень понимаю как должно быть, а хотелось бы понять, а не просто переписывать строчки из всяческих howto, то прошу знающих людей объяснить ситуацию. Ух, какое вступление...
Итак, настраивал openvpn на работу в режиме tap с несколькими клиентами.
Опишу конфигурацию окружения:
роутер wl500gp, к порту wan воткнут internet шнурок, инет раздается разным клиентам в локалке, на раутере настроен dhcp на подсеть 192.168.1.0/255.255.255.0, IP раутера внутри сети 192.168.1.1
Коннектиться на него я пытался, ессно, снаружи.
Вот так после долгих мучений выглядели всякие мои файлы конфигураций:
/opt/etc/openvpn/server.conf
локальный клиент (winxp sp2)Code:dev tap0 proto udp ifconfig 10.8.0.2 255.255.255.0 server-bridge 10.8.0.2 255.255.255.0 10.8.0.50 10.8.0.60 client-to-client tls-server dh /opt/etc/openvpn/keys/dh1024.pem ca /opt/etc/openvpn/keys/ca.crt cert /opt/etc/openvpn/keys/routsrv.crt key /opt/etc/openvpn/keys/routsrv.key port 1194 keepalive 10 120 persist-tun persist-key verb 3
C:\Program Files\OpenVPN\config\client.ovpn
/usr/local/sbin/post-firewallCode:ca ca.crt cert fio.crt key fio.key dev tap0 client remote 11.111.111.111 port 1194 proto udp persist-tun persist-key verb 3 route-delay 10 route-gateway 10.8.0.2
/usr/local/sbin/post-mountCode:#!/bin/sh iptables -D INPUT -j DROP # enable access from WAN iptables -t nat -I PREROUTING -p udp --dport 1194 -j ACCEPT iptables -I INPUT -p udp --dport 1194 -j ACCEPT #Also as mentioned in the OpenVPN FAQ ip_foward must be enabled (default in WR 0.9) and packets for the OpenVPN interfaces have to be allowed/forwarded: ## allow input/forwarding for the VPN interfaces, see http://openvpn.net/faq.html#firewall ## also needs ip_forward, see http://openvpn.net/faq.html#ip-forward and http://forum.openwrt.org/viewtopic.php?pid=20428#p20428 iptables -I INPUT -i tap0 -j ACCEPT iptables -I FORWARD -i tap0 -j ACCEPT
В результате под таким (и не только такими) параметрами клиент отлично коннектился к серверу, но пинги никуда не ходили и достучаться до удаленной сети никак не получалось. В характеристиках (ipconfig) клиентского tap0 интерфейса был прописал полученный от сервера IP вида 10.8.0.50, но ни gateway ни сколько нибудь понятных route не было. Пинги не ходили и до 10.8.0.2, который в такой конфигурации должен быть дефолтным шлюзом.Code:#!/bin/sh mount -obind /tmp/harddisk/opt /opt /opt/etc/init.d/S24openvpn
Огромные количества информации из инета и поиска не помогли, следы этих попыток можно видеть в конфигах.
Однако, стоило мне в клиентском конфиге вместо
написать простоCode:client
как все получилось, но немного не так, как я ожидал:Code:tls-client
Клиентский интерфейс tap0 (на локальной машине) получил от удаленного dhcp сервера (который раутер) IP адрес вида 192.168.1.197 (там так настроен диапазон адресов), шлюзом по умолчанию стал собственно, он же 192.168.1.1 ну и так далее.
Работает это просто шикарно - доступны все машины внутри удаленной сети, разрешение имен, клиенты vpn друг друга тоже видят.
Но вроде как openvpn должен был дать мне адрес из той подсети на которую я его пытался настроить - 10.8.0.XXX. В чем дело?
Я какой-то суперочевидный вопрос задал или просто никто не знает?
А слабо поменять verb 3 на verb 9 добавить строчку
status openvpn-status.log
создать и выложить
openvpn-status.log
# Verbosity level.
# 0 -- quiet except for fatal errors.
# 1 -- mostly quiet, but display non-fatal network errors.
# 3 -- medium output, good for normal operation.
# 9 -- verbose, good for troubleshooting
Добрый день.
У меня возникла проблема, вообщем я настроил openVPN на WL500gP как сказано в
Установка openvpn в основную память для НОВИЧКОВ
Все вроде хорошо... все работет... вот только скорость очень низкая порядка 300 - 400 kb/s
Подскажите, как можно увеличить скорость?
Спасибо.
VPN-Хочу чтоб из винды с удалёного компа можно было вбить мой адрес dyndns и к LAN домашней подкоючиться. Что делать? (прошу учесть http://www.stream.ru/filtering/).....
Семь бед - один RESET.
Ваша проблема в кривых руках!
Всмысле вбить с удалённого компа в сетевых подключениях "Подключение к виртуальной частной сети", и естественно пользователь и пароль нужен
Семь бед - один RESET.
Ваша проблема в кривых руках!
poptop ( vpn сервер ) на асусе работает весьма коряво, openVPN в помощь.
а ссылку?
Семь бед - один RESET.
Ваша проблема в кривых руках!
Кстати - ДЛЯ ВИНДЫ!!! из СТАНДАРТНОГО из "Сетевые подключения"! а не из отдельного клиента!
Семь бед - один RESET.
Ваша проблема в кривых руках!
На форуме искал! Но нашел только http://wl500g.info/showthread.php?t=...ghlight=poptop
http://wl500g.info/showthread.php?t=...ghlight=poptop
http://wl500g.info/showthread.php?t=...ghlight=poptop
ПОМОГИТЕ!!!!!
Семь бед - один RESET.
Ваша проблема в кривых руках!