[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Клиент OpenVPN не берет самостоятельно ip с сервера dhcp



7 августа 2011 г. 2:37 пользователь Mikhail A Antonov
<bart@solarnet.ru> написал:
> 06.08.2011 22:56, Dmitry A. Zhiglov пишет:
>> Добрый день!
>>
>> Необходимо сделать vpn подключение в режиме bridge (tap).
> <...>
>> На сервере интерфейс tap0 настроен без моста, не как рекомендуется
>> повсеместно, и его отдельно обслуживает dhcp-server.
> Мне одному кажется что эти фразы несколько противоречат?
> "bridge" это и есть "мост" дословно.

Имеется в виду, что tapХ не объединен в bridge, средствами
bridge-utils, с иными интерфейсами.

>> Как заставить клиента автоматически настраивать интерфейс от
>> стороннего dhcpd-сервера?
> А почему не рассматривается вариант "передать контроль за IP-адресами к
> openvpn-серверу"? Ведь он что в tun что в tap умеет выдавать адреса из
> нужного диапазона, а если надо статиком привязать кого-то - используй
> функционал ccd у openvpn-сервера. А т.к. у openvp отдельный свой tap то
> бояться за пересечение с уже выданными адресами с помощью isc-dhcpd тебе
> вообще не стоит.

Хочется, что бы при выдаче ip имя клиента регистрировалось в dns.
Можно ли это сделать штатными средствами openvpn?

Вот, обнаружил следующее поведение на клиенте. Перезапустил openvnp
клиента, а запрос на получение адреса ушел только через 15 минут.

Aug  7 08:51:05 server dhclient: receive_packet failed on tap0: Network is down
Aug  7 09:07:53 server dhclient: DHCPREQUEST of 192.168.200.21 on tap0
to 192.168.200.1 port 67

Затем множество сообщение:
Aug  7 09:08:59 server dhclient: last message repeated 7 times
<...>
Aug  7 09:38:01 server dhclient: last message repeated 3 times

Затем пару десятков:
Aug  7 09:38:01 server dhclient: DHCPREQUEST of 192.168.200.21 on tap0
to 255.255.255.255 port 67
Aug  7 09:38:01 server dhclient: send_packet: Network is down

И только потом
Aug  7 09:46:24 server dhclient: DHCPDISCOVER on tap0 to
255.255.255.255 port 67 interval 3
Aug  7 09:46:27 server dhclient: No DHCPOFFERS received.
Aug  7 09:46:27 server dhclient: Trying recorded lease 192.168.200.16
Aug  7 09:46:27 server dhclient: bound: renewal in 1540 seconds.

Хотя, если откинуть всё, что написано выше, то решение нашел иное.
После установления связи клиент вызывает скрипт up_tap0.sh и
down_tap0.sh соответственно.

"up_tap0.sh"
#!/bin/bash
ifdown tap0 &>/dev/null
ifup tap0 &

"down_tap0.sh"
#!/bin/bash
ifdown tap0

Так же добавил в /etc/network/interfaces
iface tap0 inet dhcp

После этого все работает как задумано. Клиент подключается, получает
ip от существующего dhcp сервера на стороне vpn-сервера, причем в
нужном диапазоне адресов, и записывает своё имя в ddns.

Reply to: