Добрый день!
Дублирую сюда свой вопрос из рассылки sysadmins, надеясь сократить время его решения.
Настроил vpn из школы на мой домашний роутер под dd-wrt с внешним ip-адресом, с целью в дальнейшем средствами
рутера "высунуть" в интернет школьный электронный дневник.
Используется простейшая конфигурация с одним статическим ключом, сервер получает адрес привязанный по мак через dhcp рутера, после подключения openvpn.
[root@sterver ~]# cat /etc/openvpn/client.conf
remote 81.xxx.xxx.60
dev tap
lladdr ee:05:99:1b:10:36
secret /etc/openvpn/keys/static.key
proto udp
comp-lzo
После установки соединения получаю адрес так, чтобы bind не среагировал:
#dhcpcd -C resolv.conf tap0
После настройки пытаюсь автоматизировать это через etcnet:
[root@sterver ~]# cat /etc/net/ifaces/tap0/options
DISABLED=no
ONBOOT=yes
TYPE=ovpn
TUNTAP_USER=openvpn
BOOTPROTO=dhcp
DHCP_CLIENT=/sbin/dhcpcd
DHCP_ARGS="-C resolv.conf"
REQUIRES="eth1"
[root@sterver ~]# cat /etc/net/ifaces/tap0/ovpnoptions
remote 81.xxx.xxx.60
dev tap
lladdr ee:05:99:1b:10:36
secret /etc/openvpn/keys/static.key
proto udp
comp-lzo
script-security 2
Происходит следующее: dhcp-клиент запускается сразу после появления в системе интерфейса tap0, пытается получить адрес, отваливается по тайм-ауту, и только после этого происходит соединение по openvpn и становится можно получить адрес по dhcp.
При использовании ifup-post он, по описанию, тоже запустится при активации интерфейса, то есть до openvpn.
Есть способ как-то указать иной порядок действий при поднятии интерфейса - чтобы сначала openvpn и только потом dhcpcd?