Назад | Перейти на главную страницу

При запуске vpnc в докере получите «Невозможно открыть« / proc / sys / net / ipv4 / route / flush »: файловая система только для чтения»

Я пытаюсь запустить консоль Cisco VPN client в Докере. Запускаю контейнер так:

docker run -it -v /srv/vpn/keys/:/root/keys/ --network=host --cap-add=NET_ADMIN  --device=/dev/net/tun -v /dev/net/tun:/dev/net/tun vpn-vpnc-client_img

А затем запустите vpnc клиент внутри контейнера Docker

vpnc-connect /root/keys/vpnc.conf --local-port 0

Он производит следующий вывод:

Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
VPNC started in background (pid: 257)...

vpnc подключается и создает правильные маршруты, поэтому кажется, что VPN работает. Меня беспокоит предупреждающее сообщение. Согласно документации, для /proc/sys/net/ipv4/route/flush

Запись в этот файл приводит к очистке кеша маршрутизации.

Я не понимаю этого утверждения. Важно ли, чтобы кеш маршрутизации не сбрасывался?

Также, как я понимаю, могу оформить

echo 1 > /proc/sys/net/ipv4/route/flush

вручную после запуска контейнера. Но я использую monit внутри контейнера докеров, чтобы перезапустить vpnc при потере связи. Могу я привязать маунта /proc/sys/net/ipv4/route/flush с хоста внутри контейнера каким-то образом и выдать команду для очистки кеша маршрутизации из сценария мониторинга внутри контейнера?

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