Изменение значений 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.