Страница 1 из 1

OpenVPN (смена IP)

Добавлено: 2009-12-29 10:55:01
dovidov
Доброго дня, возникла следующая проблема - с указанными ниже настройками OpenVPN'a клиенты имеют возможность менять ip-адреса после установки соединения и openvpn-сервер продолжает нормально передавать/принимать от них данные. Как с этим бороться?

server.conf

Код: Выделить всё

local xx.xx.xx.xx
dev tap
proto tcp-server
mode server
comp-lzo
log /var/log/openvpn/openvpn.log
#log-append /var/log/openvpn/openvpnapp.log
status /var/log/openvpn/openvpn-status.log
daemon
ifconfig 10.11.0.1 255.255.0.0
tls-server
tls-auth keys/ta.key 0
ca /usr/local/etc/openvpn/keys/ca.crt
cert /usr/local/etc/openvpn/keys/server.crt
key /usr/local/etc/openvpn/keys/server.key
dh /usr/local/etc/openvpn/keys/dh1024.pem
push "redirect-gateway"
push "dhcp-option DNS yy.yy.yy.yy"
port 1194
user nobody
group nobody
persist-tun
persist-key
verb 0
# включаем шифрацию пакетов
cipher BF-CBC
keepalive 10 120
client-config-dir ccd
# разрешаем обмен трафиком между клиентами
client-to-client
# разрешаем дублирование сертифкатов
#duplicate-cn
клиентские маршруты в ccd

Код: Выделить всё

#ip-address клиента
ifconfig-push 10.11.0.56 255.255.0.0
#доступные маршруты
push "route 0.0.0.0 0.0.0.0 10.11.0.1"
клиентский конфиг на wind'е

Код: Выделить всё

client
dev tap
proto tcp
remote xx.xx.xx.xx 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert admin.crt
key admin.key
tls-auth ta.key 1
comp-lzo
verb 3
ns-cert-type server
tun-mtu 1500
route-method exe
route-delay 5

Код: Выделить всё

# uname -r
# 7.2-RELEASE

Re: OpenVPN (смена IP)

Добавлено: 2009-12-29 13:58:42
mediamag
Мне кажется проблема в этом

Код: Выделить всё

#доступные маршруты
push "route 0.0.0.0 0.0.0.0 10.11.0.1"

Re: OpenVPN (смена IP)

Добавлено: 2009-12-29 14:16:54
dovidov
mediamag писал(а):Мне кажется проблема в этом

Код: Выделить всё

#доступные маршруты
push "route 0.0.0.0 0.0.0.0 10.11.0.1"
насколько я понимаю эта команда лишь отправляет виндузовскому клиенту команду прописать маршрут

Код: Выделить всё

route add 0.0.0.0 mask 0.0.0.0 10.11.0.1
и не более того... как она может вязаться со сменой ip?

Re: OpenVPN (смена IP)

Добавлено: 2009-12-29 16:27:49
mediamag
я понимаю что под 0.0.0.0 имеется ввиду все айпи....к тому же на сайте лисяры по-другому..я когда настраивал все было чётко.

Re: OpenVPN (смена IP)

Добавлено: 2009-12-29 16:35:28
dovidov
естественно все ip, и командой "push "route 0.0.0.0 0.0.0.0 10.11.0.1"" все эти маршруты в винде перенаправляются на шлюз по умолчанию, в данном случае на 10.11.0.1, но маршрутизация в данном случае не имеет никакого значения.
Вопрос в том как кикнуть абонента если он руками изменил свой IP-адрес, а не как его смаршрутизировать...

Re: OpenVPN (смена IP)

Добавлено: 2009-12-30 17:38:06
skeletor
Вот как я делал http://skeletor.ho.ua/index.php?name=ar ... =76&cat=10. Каждый получает только тот, который нужно. Насчёт принудительной смены - не знаю, не тестировал.

Re: OpenVPN (смена IP)

Добавлено: 2009-12-30 19:25:29
malykhin
dovidov писал(а):Доброго дня, возникла следующая проблема - с указанными ниже настройками OpenVPN'a клиенты имеют возможность менять ip-адреса после установки соединения и openvpn-сервер продолжает нормально передавать/принимать от них данные. Как с этим бороться?
1) опция в основном конфиге

Код: Выделить всё

push "redirect-gateway"
и в ccd

Код: Выделить всё

push "route 0.0.0.0 0.0.0.0 10.11.0.1"
дублируют друг друга, в ccd лучше убрать, если менять default gateway нужно абсолютно всем пользователям

2) используя tap никогда от проблемы своей не избавишься, нужно переходить на tun - но вылезет геморрой с адресацией, впрочем skeletor расписал что и как.
Зато после перехода на tun прописывание руками неправильного ip на интерфейсе приведет к неработоспособности туннеля.
Если пользователей меньше 256 то можно для удобства задавать такую комбинацию в ccd:

Код: Выделить всё

ifconfig-push 10.10.xxx.1 10.10.xxx.2
где xxx - номер пользователя, только в основной конфиг надо будет добавить опцию:

Код: Выделить всё

route 10.10.0.0 255.255.0.0
3) если это все в локалке для раздачи инета - сжатие лучше убрать - зачем лишняя нагрузка на процессор? шифрование тоже, мне кажется, не особо нужно - авторизация в любом случае безопасная пройдет, а дальше смысл шифровать туннель - но тут уже личное дело каждого.

4) tcp-server и keepalive - вещи не совместимые

5) в виндовом конфиге

Код: Выделить всё

route-method exe
route-delay 5
смысла не имеют, проблема не срабатывания прописывания маршрутов решается командой:

Код: Выделить всё

tap-sleep 10
паузу подбирать экспериментально - т.к. 10 это досточно долго, но можно и меньше попробовать.
Это из-за того, что винда тупит некоторое время после того как получит адрес по dhcp.

6) прописывание руками каждому пользователю адреса в ccd можно упростить, используя скрипты - если надо - напишу как это делал я, но вообще в мануале все есть.

Re: OpenVPN (смена IP)

Добавлено: 2009-12-30 22:56:57
dovidov
malykhin писал(а): используя tap никогда от проблемы своей не избавишься, нужно переходить на tun - но вылезет геморрой с адресацией, впрочем skeletor расписал что и как.
проблему решил использованием staticarp + скрипт вызываемый по learn-address и заносящий "правильные" связки mac/ip, и хотя всё работает как-то некошерно это смотрится...
malykhin писал(а): 5) в виндовом конфиге

Код: Выделить всё

route-method exe
route-delay 5
смысла не имеют, проблема не срабатывания прописывания маршрутов решается командой:

Код: Выделить всё

tap-sleep 10
паузу подбирать экспериментально - т.к. 10 это досточно долго, но можно и меньше попробовать.
Это из-за того, что винда тупит некоторое время после того как получит адрес по dhcp.
попробую и этот вариант, но с

Код: Выделить всё

route-method exe
route-delay 5
всё работает без проблем, без этого 7-ка маршруты не прописывает.
malykhin писал(а): прописывание руками каждому пользователю адреса в ccd можно упростить, используя скрипты - если надо - напишу как это делал я, но вообще в мануале все есть.
это не проблема - и выдача формирование ключей и прописка маршрутов и индивидуальная с включёнными конфигами виндузовская инсталляшка каждому телепузику это всё сделано...

при том что всё абсолютно работоспособно видимо мигрирую на tun...

Re: OpenVPN (смена IP)

Добавлено: 2009-12-31 12:58:55
dovidov
попробовал
tap-sleep 10
результат:

Код: Выделить всё

Thu Dec 31 11:52:16 2009 route ADD 0.0.0.0 MASK 0.0.0.0 10.11.0.1
Thu Dec 31 11:52:16 2009 ROUTE: route addition failed using CreateIpForwardEntry: Неверны один или несколько аргументов.   [if_index=22]
Thu Dec 31 11:52:16 2009 Route addition via IPAPI failed

Re: OpenVPN (смена IP)

Добавлено: 2009-12-31 16:47:13
malykhin
dovidov писал(а):попробовал
tap-sleep 10
результат:

Код: Выделить всё

Thu Dec 31 11:52:16 2009 route ADD 0.0.0.0 MASK 0.0.0.0 10.11.0.1
Thu Dec 31 11:52:16 2009 ROUTE: route addition failed using CreateIpForwardEntry: Неверны один или несколько аргументов.   [if_index=22]
Thu Dec 31 11:52:16 2009 Route addition via IPAPI failed
ну наверно можно все вместе использовать :)
у меня на ХР и 2003 помогает именно tap-sleep
а Висту и 7-ку пробовать не на чем.

И еще одно преимущество tun - не будет левого броадкаста (если, конечно, он не нужен).

А вообще чисто для раздачи инета лучше было бы pppoe организовать - во всех виндах от XP и выше оно есть по умолчанию, в линухах и фрях вроде тоже из коробки, любые роутеры его понимают. MPD настроить не сложней openvpn, да и при большой нагрузке процессор меньше будет использовать.

Re: OpenVPN (смена IP)

Добавлено: 2009-12-31 21:38:14
dovidov
malykhin писал(а): ну наверно можно все вместе использовать :)
у меня на ХР и 2003 помогает именно tap-sleep
а Висту и 7-ку пробовать не на чем.
я вместе и оставил, а "route-method exe" для висты и было сделано, дабы маршруты не api-шными средствами прописывать, а с помощью route.exe
malykhin писал(а):MPD настроить не сложней openvpn, да и при большой нагрузке процессор меньше будет использовать.
ээээ-х MPD-шный порт у хостера закрыт :(

ну а задача вообще не в раздаче столько в раздаче инета сколько в объединении территориально разнесённых сетей.

Re: OpenVPN (смена IP)

Добавлено: 2010-01-02 12:53:06
malykhin
malykhin писал(а):MPD настроить не сложней openvpn, да и при большой нагрузке процессор меньше будет использовать.
ээээ-х MPD-шный порт у хостера закрыт :(

ну а задача вообще не в раздаче столько в раздаче инета сколько в объединении территориально разнесённых сетей.
а тогда зачем так активно бороться с подменой адресов?
точней зачем пользователям это делать, кроме как поиметь халяву?

а так вообще, конечно, openvpn для построения сетей удобней - тут и поддержание соединения, и проброс маршрутов, возможность работы сервисом под виндой, один раз поставил и забыл.

Re: OpenVPN (смена IP)

Добавлено: 2010-01-02 15:37:33
dovidov
malykhin писал(а): а тогда зачем так активно бороться с подменой адресов?
для порядку :smile:
malykhin писал(а): точней зачем пользователям это делать, кроме как поиметь халяву?
возможно в будущем пользователям будет раздаваться инет в этих же сетях, надо быть готовым.

Re: OpenVPN (смена IP)

Добавлено: 2010-08-12 12:45:07
andrey17
хм.. интересно и позновательно)) Спасибо..
________________________________________________
трекер cool