Я честно говоря всего добился "методом обезьяны". Не зная как надо пробовал все подряд. Поэтому и how-to могу написать примерно такой же. По принципу нажимаем зеленую кнопку, 2 раза приседаем и стучим в бубен :)
Printable View
Я честно говоря всего добился "методом обезьяны". Не зная как надо пробовал все подряд. Поэтому и how-to могу написать примерно такой же. По принципу нажимаем зеленую кнопку, 2 раза приседаем и стучим в бубен :)
double posting...
Я настраивал 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 есть опция, позволяющая нескольким клиентам иметь один сертификат....
Сразу оговорюсь - возможно все очень логично и так и должно быть. Но поскольку я не очень понимаю как должно быть, а хотелось бы понять, а не просто переписывать строчки из всяческих 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/).....
;)Всмысле вбить с удалённого компа в сетевых подключениях "Подключение к виртуальной частной сети", и естественно пользователь и пароль нужен;)
poptop ( vpn сервер ) на асусе работает весьма коряво, openVPN в помощь.
а ссылку?;)
Кстати - ДЛЯ ВИНДЫ!!! из СТАНДАРТНОГО из "Сетевые подключения"! а не из отдельного клиента!
На форуме искал! Но нашел только http://wl500g.info/showthread.php?t=...ghlight=poptop
http://wl500g.info/showthread.php?t=...ghlight=poptop
http://wl500g.info/showthread.php?t=...ghlight=poptop
ПОМОГИТЕ!!!!!