Summary: | service iptables stop пытается выгрузить не существующие модули | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Slava Dubrovskiy <dubrsl> |
Component: | kernel-image-ovz-el | Assignee: | Gleb F-Malinovskiy <glebfm> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P3 | CC: | boyarsh, glebfm, kernelbot, ldv, mike, mithraen, real.altlinux.org, rider, sbolshakov, shrek, sin, vitty, vsu, vt, zerg |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
Slava Dubrovskiy
2011-01-11 20:05:24 MSK
Когда был написан service iptables, все эти модули существовали. Интересно, зачем их теперь засунули в ядро? (В ответ на комментарий №1)
> Когда был написан service iptables, все эти модули существовали.
> Интересно, зачем их теперь засунули в ядро?
Когда собиралось ovz-el у меня была (неправильная) идея сделать конфиг,
основанный на el-smp. На следующей неделе я этим займусь.
(В ответ на комментарий №2) > (В ответ на комментарий №1) > > Когда был написан service iptables, все эти модули существовали. > > Интересно, зачем их теперь засунули в ядро? > > Когда собиралось ovz-el у меня была (неправильная) идея сделать конфиг, > основанный на el-smp. На следующей неделе я этим займусь. Мне кажется это сделано вполне обосновано и правильно, т.к. если модули не загружены перед стартом VPS то внутри они не видны. И поэтому приходится прибегать к "грязному хаку" - обязательно ставить iptables на HN и ставить в автостарт с указанием нужных модулей в /etc/sysconfig/iptables_modules, чтобы iptables работало в VPS. В связи с этим, если сделать все это не модулем то и нет проблем. Или вот еще теперь нет модуля button - оно в ядре. Тоже очень правильно. А то сделали модулем, потом сделали installer-feature-powerbutton-stage2 - Arrange for power button to work as expected installer-feature-powerbutton-stage3 - Arrange for power button to work as expected (In reply to comment #3) > (В ответ на комментарий №2) > > (В ответ на комментарий №1) > > > Когда был написан service iptables, все эти модули существовали. > > > Интересно, зачем их теперь засунули в ядро? > > > > Когда собиралось ovz-el у меня была (неправильная) идея сделать конфиг, > > основанный на el-smp. На следующей неделе я этим займусь. > Мне кажется это сделано вполне обосновано и правильно, Нет, это не обосновано, и это неправильно. Функционал помещают в модули для того, чтобы не загружать в ядро то, что не нужно там, где оно не нужно. > т.к. если модули не > загружены перед стартом VPS то внутри они не видны. И поэтому приходится > прибегать к "грязному хаку" Зачем??? Прочитайте, пожалуйста, в документации vzctl(8) на тему --iptables. (В ответ на комментарий №4) > > т.к. если модули не загружены перед стартом VPS то внутри они не видны. И поэтому приходится прибегать к "грязному хаку" > Зачем??? Да об этом везде написано! Например: http://wiki.openvz.org/Setting_up_an_iptables_firewall#Setting_up_a_firewall_that_allows_per-container_configuration : - "If you want to use a firewall inside a container, please load these modules BEFORE starting the container" > Прочитайте, пожалуйста, в документации vzctl(8) на тему --iptables. Что читать? Читано - перечитано и проверено на собственном опыте. --iptables name Allow to use the functionality of name iptables module inside the container. И ни слова про то что vzctl самостоятельно их грузит. И не должен. Это задача iptables. Просто сервис iptables должен еще смотреть в переменную IPTABLES в /etc/vz/vz.conf и загружать указанные там модули. Чтобы модули подхватились в VPS, т.к. если модули загрузить ПОСЛЕ старта сервиса vz, то VPS их не увидит. Поэтому я и говорю, что включение их в ядро самый легкий вариант решения проблемы. А при остановке iptables проверять не используются ли модули в VPS (запущен ли сервис vz) и если да, то не выгружать то что указано в IPTABLES. Аналогично и для IP6TABLES ЗЫ: Кстати в переводе man vzctl совсем противоположное описывается: --iptables имя Запретить доступ к модулям iptables из виртуальной среды (In reply to comment #5) > (В ответ на комментарий №4) > > > т.к. если модули не загружены перед стартом VPS то внутри они не видны. И поэтому приходится прибегать к "грязному хаку" > > Зачем??? > Да об этом везде написано! Например: > http://wiki.openvz.org/Setting_up_an_iptables_firewall#Setting_up_a_firewall_that_allows_per-container_configuration > : - "If you want to use a firewall inside a container, please load these > modules BEFORE starting the container" Мало ли где что написано. Главное -- это что написано в коде, см. $ fgrep MODULES /etc/init.d/vz > И ни слова про то что vzctl самостоятельно их грузит. И не должен. service vz start их загружает. > Кстати в переводе man vzctl совсем противоположное описывается: > --iptables имя > Запретить доступ к модулям iptables из виртуальной среды О неточностях перевода лучше сообщать мейнтейнеру соответствующего пакета. (В ответ на комментарий №6) http://wiki.openvz.org/Setting_up_an_iptables_firewall#Setting_up_a_firewall_that_allows_per-container_configuration > > : - "If you want to use a firewall inside a container, please load these > > modules BEFORE starting the container" > > Мало ли где что написано. Главное -- это что написано в коде, см. > $ fgrep MODULES /etc/init.d/vz > > > И ни слова про то что vzctl самостоятельно их грузит. И не должен. > service vz start их загружает. Ага, спасибо. Уже значит сделали. Раньше точно не грузило. И приходилось извращаться. Мне кажется тут проблема, что эти 2 сервиса пытаются управлять одними и теми же модулями. Ведь если делать service iptables restart, то при остановке будет попытка выгрузить те модули которые могут быть использованы в vz. Плохо когда 2 хозяина на один модуль... (In reply to comment #7) > Мне кажется тут проблема, что эти 2 сервиса пытаются управлять одними и теми же > модулями. Я бы не сказал, что service vzctl управляет модулями iptables. Да, он умеет их загружать и выгружать при необходимости, но не более того. > Ведь если делать service iptables restart, то при остановке будет > попытка выгрузить те модули которые могут быть использованы в vz. Нет, service iptables restart не выгружает модули. (В ответ на комментарий №8) > > Ведь если делать service iptables restart, то при остановке будет > > попытка выгрузить те модули которые могут быть использованы в vz. > Нет, service iptables restart не выгружает модули. Но service iptables stop выгружает. Повторю суть обсуждения: - Eсли делать service iptables stop, то при остановке будут выгружены модули которые использованы в vz. Что делать при этом? (In reply to comment #9) > (В ответ на комментарий №8) > > > Ведь если делать service iptables restart, то при остановке будет > > > попытка выгрузить те модули которые могут быть использованы в vz. > > Нет, service iptables restart не выгружает модули. > Но service iptables stop выгружает. Да, stop пытается выгрузить модули. > Повторю суть обсуждения: - Eсли делать service iptables stop, то при остановке > будут выгружены модули которые использованы в vz. Что делать при этом? Модули, которые используются, выгрузить невозможно. А в чем, собственно говоря, проблема? > Модули, которые используются, выгрузить невозможно.
> А в чем, собственно говоря, проблема?
Да, что-то занесло.
Проблема в том, о чем изначально завел баг.
(В ответ на комментарий №11) > > Модули, которые используются, выгрузить невозможно. > > А в чем, собственно говоря, проблема? > Да, что-то занесло. > Проблема в том, о чем изначально завел баг. Ну тогда может быть стоит перевесить этот баг на ovz-el? (In reply to comment #12) > (В ответ на комментарий №11) > > > Модули, которые используются, выгрузить невозможно. > > > А в чем, собственно говоря, проблема? > > Да, что-то занесло. > > Проблема в том, о чем изначально завел баг. > > Ну тогда может быть стоит перевесить этот баг на ovz-el? OK Fixed in ovz-el-2.6.32-alt10 |