Изменение значений sysctl внутри контейнера lxc

Я сделал несколько контейнеров linux, используя обычные инструменты пользовательского пространства (не docker), и я настраивал тестовую среду.

Я хочу настроить два контейнера для проверки сердцебиения, для чего требуется, чтобы контейнеры связывались с ip-адресом, который еще не настроен, а именно net.ipv4.ip_nonlocal_bind=1

Каждый раз, когда я пытаюсь это сделать, он говорит что-то вроде этого:

user@lxc1:~$ sudo sysctl -w net.ipv4.ip_nonlocal_bind=1
sysctl: cannot stat /proc/sys/net/ipv4/ip_nonlocal_bind: No such file or directory

Также не помогает изменение файла sysctl.conf. Итак, я провел некоторое исследование, и, по-видимому, гостевой контейнер связывается с хостом / proc / sys (что имеет смысл), поэтому я изменил значение hosts, добавив правильное значение в hosts sysctl.conf, а затем я перезагрузил хост навсегда измерения:

user@host:~$ sudo sysctl -A | grep -i nonlocal
net.ipv4.ip_nonlocal_bind = 1

как отмечено выше, хост отражает конфигурацию, которую я хочу видеть в гостевом контейнере, но даже после перезагрузки контейнер -still- показывает ту же проблему.

Как я могу изменить эти значения в гостевом контейнере, это вообще возможно?

2 ответа

Решение

Я была такая же проблема. Вы правы, что это связано с контейнерами LXC. я добавил net.ipv4.ip_nonlocal_bind = 1на sysctl.conf моего хоста LXC, затем запустил: sysctl -p (требуется root-доступ /sudo)

Мне пришлось перезагрузить контейнер, чтобы изменения вступили в силу. Кроме того, вы все равно получите sysctl: cannot stat /proc/sys/net/ipv4/ip_nonlocal_bind: No such file or directoryна контейнере. Если функциональность работает, я не совсем уверен, что для той же команды необходимо выполнить в гостевом контейнере.

Теперь я могу получить доступ к контейнеру через VIP или определенный IP.

Очень позднее обновление, но может помочь кому-то еще.

У вас был /proc установлен внутри вашего контейнера?

В сообщении об ошибке говорится, что он не смог найти файл в файловой системе /proc, который (для меня) необходимо явно смонтировать, чтобы он был доступен в контейнере LXC.

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