openconnect в докерах /IBM bluemix (ошибка: сбой TUNSETIFF: неподходящий ioctl для устройства)

Я создал свой собственный образ контейнера на основе Ubuntu 14.04 и установил openconnect с помощью apt-get. Я могу проверить связь с Google и получить доступ к приложению, которое я запускаю на ожидаемом порту.

Сейчас я пытаюсь получить VPN-соединение от контейнера до предварительной базы данных. Я попробовал это в моей виртуальной коробке Ubuntu 14.04 сначала без проблем. Смотрите ниже для деталей. Я сейчас пытаюсь сделать то же самое в контейнере, но получаю следующую ошибку (полный журнал см. Ниже):
Ошибка TUNSETIFF: неподходящий ioctl для устройства

Вещи, которые я нашел:
Источник: https://serverfault.com/questions/379710/openvpn-setup-service-wont-start
"Какой тип VPS у вас есть? Вам может потребоваться, чтобы ваш провайдер включил устройства TUN/TAP на хост-узле".
-> Учитывая, что он работает на моем ноутбуке точно так же, я предполагаю, что он был включен на хосте.
Источник: https://groups.google.com/forum/
У меня есть устройство для настройки?
-> Это там со всеми соответствующими правами
Источник: https://serverfault.com/questions/680721/how-to-create-dev-tun-device-inside-unprivileged-lxc-container
а также
Источник: https://hub.docker.com/r/dperson/openvpn-client/
Может быть, я должен добавить несколько флагов?

 cf ic run --device /dev/net/tun --cap-drop ALL --cap-add MKNOD --name <containerName> -p 11821:11821 -d <namespace>/<containerName python /<some pythong script>& 

Я также пытался без cap-drop, без --device, используя --cap-add ALL, используя cap-add SYS_NET_ADMIN, с тем же результатом, 1 дополнительная строка ошибки:
mknod: '/ dev / net / tun': операция не разрешена
Ошибка TUNSETIFF: недопустимый ioctl для устройства, работающего с --privileged, не разрешен в Bluemix

У кого-нибудь есть указатели? Есть ли какая-либо другая информация, которую следует предоставить? Спасибо!

Успешное

enter code here
$ sudo openconnect -u <username> <vpn IP>
POST <vpn IP>
Attempting to connect to server <IP>
SSL negotiation with <vpn IP>
Connected to HTTPS on <vpn IP>
XML POST enabled
Please enter your username and password.
Password:
POST <vpn IP>
Got CONNECT response: HTTP/1.1 200 OK
CSTP connected. DPD 30, Keepalive 20
Connected tun0 as 10.x.x.x, using SSL
Established DTLS connection (using OpenSSL)

Из контейнера

 $openconnect -u <username> <vpn IP>
 POST <vpn IP>
 Attempting to connect to server <ip>
 SSL negotiation with <vpn IP>
 Connected to HTTPS on <vpn IP>
 XML POST enabled
 Pleas e enter your username and password.
 Password:
 POST <vpn IP>
 Got CONNECT response: HTTP/1.1 200 OK
 CSTP connected. DPD 30, Keepalive 20
 TUNSETIFF failed: Inappropriate ioctl for device

1 ответ

Решение

К сожалению, вы, вероятно, должны быть в состоянии запустить контейнер с --privileged или же --cap-add флаги, которые не поддерживаются в контейнерах IBM

Другие вопросы по тегам