31 янв. 2011 г.

VPN inside OpenVZ

Возникла задача - установить vpn-подключение (openvpn, keriovpn, неважно) из openvz-контейнера (в нем запущен Debian Lenny). Облом случился в виде невозможности создать tun/tap устройство. Решается внесением следующих изменений в настройки контейнера (в примере его VeID 101):
vzctl set 101 --devices c:10:200:rw --save
vzctl set 101 --capability net_admin:on --save ##возможно только при выключенном контейнере
Несколько изменений вносится и в саму виртуальную ОС:
vzctl exec 101 mkdir -p /dev/net
vzctl exec 101 mknod /dev/net/tun c 10 200
vzctl exec 101 chmod 600 /dev/net/tun
Рецепт подсмотрен здесь.