<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>12869</bug_id>
          
          <creation_ts>2007-09-21 16:54:21 +0400</creation_ts>
          <short_desc>service iptables stop не выгружает модули ядра</short_desc>
          <delta_ts>2014-02-28 11:14:01 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>iptables</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Timur Batyrshin">erthad</reporter>
          <assigned_to name="placeholder@altlinux.org">placeholder</assigned_to>
          <cc>asy</cc>
    
    <cc>glebfm</cc>
    
    <cc>ldv</cc>
    
    <cc>mike</cc>
    
    <cc>placeholder</cc>
    
    <cc>vt</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>55605</commentid>
    <comment_count>0</comment_count>
    <who name="Timur Batyrshin">erthad</who>
    <bug_when>2007-09-21 16:54:22 +0400</bug_when>
    <thetext>Ошибка в /etc/init.d/iptables.
Функция read_tables всегда возвращает true, в результате и после остановки
сервиса командой service iptables stop функции stop, panic, fwstatus и, что
самое неприятное save, продолжают работать как если бы файрвол был запущен.

Чем это грозит:
Если сделать service iptables stop и _после_ этого service iptables save то
слетают все сохраненные правила. Такая ситуация, например легко может
возникникнуть если перед перезагрузкой компьютера при IPTABLES_SAVE_ON_STOP=yes
сделать service iptables stop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55607</commentid>
    <comment_count>1</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2007-09-21 17:28:53 +0400</bug_when>
    <thetext>(In reply to comment #0)
&gt; Ошибка в /etc/init.d/iptables.
&gt; Функция read_tables всегда возвращает true,

Это утверждение не соответствует действительности.
Функция read_tables возвращает true если файл 
/proc/net/ip_tables_names непуст.

&gt; в результате и после остановки
&gt; сервиса командой service iptables stop функции stop, panic, fwstatus и, что
&gt; самое неприятное save, продолжают работать как если бы файрвол был запущен.
&gt; Чем это грозит:
&gt; Если сделать service iptables stop и _после_ этого service iptables save то
&gt; слетают все сохраненные правила. Такая ситуация, например легко может
&gt; возникникнуть если перед перезагрузкой компьютера при IPTABLES_SAVE_ON_STOP=yes
&gt; сделать service iptables stop.

Правильный вывод из неправильной предпосылки.

Проблема вызвана тем, что service iptables stop не выгружает модули ядра, в
результате чего файл /proc/net/ip_tables_names остаётся непуст.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55608</commentid>
    <comment_count>2</comment_count>
      <attachid>2205</attachid>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2007-09-21 17:49:46 +0400</bug_when>
    <thetext>Created attachment 2205
iptables.diff

Попробуйте, пожалуйста, этот патч на /etc/init.d/iptables</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55609</commentid>
    <comment_count>3</comment_count>
    <who name="Timur Batyrshin">erthad</who>
    <bug_when>2007-09-21 18:00:57 +0400</bug_when>
    <thetext>[root@horus init.d]# service iptables stop
Setting chains policy to ACCEPT: nat filter mangle                             
                                      [ DONE ]
Flushing firewall rules: nat filter mangle                                     
                                      [ DONE ]
Removing user defined chains: nat filter mangle                                
                                      [ DONE ]
Zeroing packet and byte counters: nat filter mangle                            
                                      [ DONE ]
Unloading module iptable_nat:                                                  
                                      [ DONE ]
Unloading module iptable_filter: FATAL: Module iptable_filter is in use.
                                                                               
                                      [FAILED]
Unloading module iptable_mangle: FATAL: Module iptable_mangle is in use.
                                                                               
                                      [FAILED]
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55613</commentid>
    <comment_count>4</comment_count>
      <attachid>2206</attachid>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2007-09-21 18:37:30 +0400</bug_when>
    <thetext>Created attachment 2206
iptables.diff

Новая версия того же патча.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55614</commentid>
    <comment_count>5</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2007-09-21 18:38:11 +0400</bug_when>
    <thetext>(In reply to comment #3)
&gt; [root@horus init.d]# service iptables stop
&gt; Setting chains policy to ACCEPT: nat filter mangle                             
&gt;                                       [ DONE ]
&gt; Flushing firewall rules: nat filter mangle                                     
&gt;                                       [ DONE ]
&gt; Removing user defined chains: nat filter mangle                                
&gt;                                       [ DONE ]
&gt; Zeroing packet and byte counters: nat filter mangle                            
&gt;                                       [ DONE ]
&gt; Unloading module iptable_nat:                                                  
&gt;                                       [ DONE ]
&gt; Unloading module iptable_filter: FATAL: Module iptable_filter is in use.
&gt;                                                                                
&gt;                                       [FAILED]
&gt; Unloading module iptable_mangle: FATAL: Module iptable_mangle is in use.
&gt;                                                                                
&gt;                                       [FAILED]
&gt; 

А кто же использует эти модули?
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55618</commentid>
    <comment_count>6</comment_count>
    <who name="Timur Batyrshin">erthad</who>
    <bug_when>2007-09-21 18:52:39 +0400</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created an attachment (id=2206) [edit]
&gt; iptables.diff
&gt; 
&gt; Новая версия того же патча.

Тот же результат.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55621</commentid>
    <comment_count>7</comment_count>
    <who name="Timur Batyrshin">erthad</who>
    <bug_when>2007-09-21 18:56:49 +0400</bug_when>
    <thetext>&gt; А кто же использует эти модули?

Выяснилось, что каким-то боком их используют VZ контейнеры.
После того, как я их остановил все заработало.
Предыдущий патч проверить? 

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55624</commentid>
    <comment_count>8</comment_count>
    <who name="Timur Batyrshin">erthad</who>
    <bug_when>2007-09-21 19:14:00 +0400</bug_when>
    <thetext>(In reply to comment #7)
&gt; &gt; А кто же использует эти модули?
&gt; 
&gt; Выяснилось, что каким-то боком их используют VZ контейнеры.
&gt; После того, как я их остановил все заработало.

Уточнение:
Если запускать service iptables start после vzctl start VEid, то он нормально
останавливается. Если после запуска iptables запустить какое-нибудь VE, модули
перестают выгружаться.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55626</commentid>
    <comment_count>9</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2007-09-21 19:24:27 +0400</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #4)
&gt; &gt; Created an attachment (id=2206) [edit] [edit]
&gt; &gt; iptables.diff
&gt; &gt; 
&gt; &gt; Новая версия того же патча.
&gt; 
&gt; Тот же результат.

Естественно.  Просто предыдущая версия патча была неполная.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55627</commentid>
    <comment_count>10</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2007-09-21 19:27:16 +0400</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; &gt; А кто же использует эти модули?
&gt; &gt; 
&gt; &gt; Выяснилось, что каким-то боком их используют VZ контейнеры.
&gt; &gt; После того, как я их остановил все заработало.
&gt; 
&gt; Уточнение:
&gt; Если запускать service iptables start после vzctl start VEid, то он нормально
&gt; останавливается. Если после запуска iptables запустить какое-нибудь VE, модули
&gt; перестают выгружаться.

Наверное, дело обстоит следующим образом: если запущен хотя бы один контейнер,
то модули выгрузить не получится.

Вероятно, если после &quot;service vz stop&quot; выполнить &quot;service iptables stop&quot;, то
модули будут выгружены.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55628</commentid>
    <comment_count>11</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2007-09-21 19:31:49 +0400</bug_when>
    <thetext>(In reply to comment #0)
&gt; Если сделать service iptables stop и _после_ этого service iptables save то
&gt; слетают все сохраненные правила.

Только в случае если файл /proc/net/ip_tables_names не пуст.

&gt; Такая ситуация, например легко может
&gt; возникникнуть если перед перезагрузкой компьютера при IPTABLES_SAVE_ON_STOP=yes
&gt; сделать service iptables stop.

Если IPTABLES_SAVE_ON_STOP включён, то правила будут сохранены непосредственно
во время выполнения &quot;service iptables stop&quot;, вне зависимости от способа запуска
этой операции.
Т.е. если выполнить &quot;service iptables stop&quot; вручную, то при выключении системы
это действие будет пропущено.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55719</commentid>
    <comment_count>12</comment_count>
    <who name="Timur Batyrshin">erthad</who>
    <bug_when>2007-09-24 12:29:17 +0400</bug_when>
    <thetext>&gt; &gt; Если запускать service iptables start после vzctl start VEid, то он нормально
&gt; &gt; останавливается. Если после запуска iptables запустить какое-нибудь VE, модули
&gt; &gt; перестают выгружаться.
&gt; 
&gt; Наверное, дело обстоит следующим образом: если запущен хотя бы один контейнер,
&gt; то модули выгрузить не получится.
&gt; 
&gt; Вероятно, если после &quot;service vz stop&quot; выполнить &quot;service iptables stop&quot;, то
&gt; модули будут выгружены.

Да, я практически об этом и написал. С сервисом vz вылезает еще один баг: если
запустить service vz start до запуска service iptables start, то модули iptables
загружаются скриптом vz, правила же не загружаются и мы можем опять получить
ситуацию с потерей правил.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55720</commentid>
    <comment_count>13</comment_count>
    <who name="Timur Batyrshin">erthad</who>
    <bug_when>2007-09-24 12:32:13 +0400</bug_when>
    <thetext>&gt; &gt; Если сделать service iptables stop и _после_ этого service iptables save то
&gt; &gt; слетают все сохраненные правила.
&gt; Только в случае если файл /proc/net/ip_tables_names не пуст.
 
&gt; &gt; Такая ситуация, например легко может
&gt; &gt; возникникнуть если перед перезагрузкой компьютера при IPTABLES_SAVE_ON_STOP=yes
&gt; &gt; сделать service iptables stop.
&gt; 
&gt; Если IPTABLES_SAVE_ON_STOP включён, то правила будут сохранены непосредственно
&gt; во время выполнения &quot;service iptables stop&quot;, вне зависимости от способа запуска
&gt; этой операции.
&gt; Т.е. если выполнить &quot;service iptables stop&quot; вручную, то при выключении системы
&gt; это действие будет пропущено.

Если при этом выгрузятся все модули ядра, то так и есть, но если по каким-то
причина хотя бы один из них не будет выгружен, то действие не будет пропущено и
затрет сохраненные правила.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55723</commentid>
    <comment_count>14</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2007-09-24 14:29:19 +0400</bug_when>
    <thetext>(In reply to comment #13)
&gt; &gt; &gt; Если сделать service iptables stop и _после_ этого service iptables save то
&gt; &gt; &gt; слетают все сохраненные правила.
&gt; &gt; Только в случае если файл /proc/net/ip_tables_names не пуст.
&gt;  
&gt; &gt; &gt; Такая ситуация, например легко может
&gt; &gt; &gt; возникникнуть если перед перезагрузкой компьютера при
IPTABLES_SAVE_ON_STOP=yes
&gt; &gt; &gt; сделать service iptables stop.
&gt; &gt; 
&gt; &gt; Если IPTABLES_SAVE_ON_STOP включён, то правила будут сохранены непосредственно
&gt; &gt; во время выполнения &quot;service iptables stop&quot;, вне зависимости от способа запуска
&gt; &gt; этой операции.
&gt; &gt; Т.е. если выполнить &quot;service iptables stop&quot; вручную, то при выключении системы
&gt; &gt; это действие будет пропущено.
&gt; 
&gt; Если при этом выгрузятся все модули ядра, то так и есть, но если по каким-то
&gt; причина хотя бы один из них не будет выгружен, то действие не будет пропущено и
&gt; затрет сохраненные правила.

Нет.
Действие &quot;service iptables stop&quot; не будет выполнено автоматически, если оно уже
выполнено вручную и после этого не было выполнено &quot;service iptables start&quot;.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55954</commentid>
    <comment_count>15</comment_count>
    <who name="Timur Batyrshin">erthad</who>
    <bug_when>2007-09-27 16:49:54 +0400</bug_when>
    <thetext>Если из /etc/vz/vz.conf убрать из строчки IPTABLES=&quot;...&quot; iptable_filter и
iptable_mangle, то модули начинают выгружаться нормально.

Оценить насколько они там нужны мне затруднительно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145519</commentid>
    <comment_count>16</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2014-02-28 11:14:01 +0400</bug_when>
    <thetext>(In reply to comment #15)

&gt; Если из /etc/vz/vz.conf убрать из строчки IPTABLES=&quot;...&quot; iptable_filter и
&gt; iptable_mangle, то модули начинают выгружаться нормально.
&gt; 
&gt; Оценить насколько они там нужны мне затруднительно.

Они там нужны. Без этого они недоступны в контейнерах.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2205</attachid>
            <date>2007-09-21 17:49:46 +0400</date>
            <delta_ts>2007-09-21 18:37:30 +0400</delta_ts>
            <desc>iptables.diff</desc>
            <filename>iptables.diff</filename>
            <type>text/plain</type>
            <size>470</size>
            <attacher name="Dmitry V. Levin">ldv</attacher>
            
              <data encoding="base64">LS0tIC9ldGMvaW5pdC5kL2lwdGFibGVzCisrKyAvZXRjL2luaXQuZC9pcHRhYmxlcwpAQCAtMTc5
LDYgKzE3OSwxNyBAQAogCXJldHVybiAkUkVUVkFMCiB9CiAKK3VubG9hZF9tb2R1bGVzKCkKK3sK
Kwlsb2NhbCB0CisKKwlmb3IgdCBpbiAkdGFibGVzOyBkbworCQlsb2NhbCBtPSIke0lQVn10YWJs
ZV8ke3R9IgorCQlhY3Rpb24gIlVubG9hZGluZyBtb2R1bGUgJG06IiBtb2Rwcm9iZSAtciAiJG0i
CisJZG9uZQorCXJldHVybiAwCit9CisKIGZ3c3RhdHVzKCkKIHsKIAlsb2NhbCBpCkBAIC0yMzMs
NyArMjQ0LDggQEAKIHsKIAlpZiByZWFkX3RhYmxlczsgdGhlbgogCQlzZXRfcG9saWN5IEFDQ0VQ
VCAmJgotCQlmbHVzaF9kZWxldGUKKwkJZmx1c2hfZGVsZXRlICYmCisJCXVubG9hZF9tb2R1bGVz
CiAJCVJFVFZBTD0kPwogCWVsc2UKIAkJcHJpbnRmICVzICQiJElQVEFCTEVTIGZpcmV3YWxsIGlz
IG5vdCBzdGFydGVkIgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2206</attachid>
            <date>2007-09-21 18:37:30 +0400</date>
            <delta_ts>2007-09-21 18:37:30 +0400</delta_ts>
            <desc>iptables.diff</desc>
            <filename>iptables.diff</filename>
            <type>text/plain</type>
            <size>1255</size>
            <attacher name="Dmitry V. Levin">ldv</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL2lwdGFibGVzLmluaXQgYi9pcHRhYmxlcy5pbml0CmluZGV4IDVjZWYyOGEu
LmNjMzQ3ODMgMTAwNzU1Ci0tLSBhL2lwdGFibGVzLmluaXQKKysrIGIvaXB0YWJsZXMuaW5pdApA
QCAtMTQ3LDcgKzE0Nyw2IEBAIGZsdXNoX2RlbGV0ZSgpCiAJCXByaW50ZiAlcyAiJGkgIgogCQkk
SVBUQUJMRVMgLXQgJGkgLUYgfHwgUkVUVkFMPTEKIAlkb25lCi0JJElQVEFCTEVTIC1GIHx8IFJF
VFZBTD0xCiAJWyAiJFJFVFZBTCIgLWVxIDAgXSAmJgogCQlzdWNjZXNzICJGbHVzaGluZyBmaXJl
d2FsbCBydWxlcyIgfHwKIAkJZmFpbHVyZSAiRmx1c2hpbmcgZmlyZXdhbGwgcnVsZXMiCkBAIC0x
NTksNyArMTU4LDYgQEAgZmx1c2hfZGVsZXRlKCkKIAkJcHJpbnRmICVzICIkaSAiCiAJCSRJUFRB
QkxFUyAtdCAkaSAtWCB8fCBSRVRWQUw9MQogCWRvbmUKLQkkSVBUQUJMRVMgLVggfHwgUkVUVkFM
PTEKIAlbICIkUkVUVkFMIiAtZXEgMCBdICYmCiAJCXN1Y2Nlc3MgIlJlbW92aW5nIHVzZXIgZGVm
aW5lZCBjaGFpbnMiIHx8CiAJCWZhaWx1cmUgIlJlbW92aW5nIHVzZXIgZGVmaW5lZCBjaGFpbnMi
CkBAIC0xNzEsNyArMTY5LDYgQEAgZmx1c2hfZGVsZXRlKCkKIAkJcHJpbnRmICVzICIkaSAiCiAJ
CSRJUFRBQkxFUyAtdCAkaSAtWiB8fCBSRVRWQUw9MQogCWRvbmUKLQkkSVBUQUJMRVMgLVogfHwg
UkVUVkFMPTEKIAlbICIkUkVUVkFMIiAtZXEgMCBdICYmCiAJCXN1Y2Nlc3MgIlplcm9pbmcgcGFj
a2V0IGFuZCBieXRlIGNvdW50ZXJzIiB8fAogCQlmYWlsdXJlICJaZXJvaW5nIHBhY2tldCBhbmQg
Ynl0ZSBjb3VudGVycyIKQEAgLTE3OSw2ICsxNzYsMTcgQEAgZmx1c2hfZGVsZXRlKCkKIAlyZXR1
cm4gJFJFVFZBTAogfQogCit1bmxvYWRfbW9kdWxlcygpCit7CisJbG9jYWwgdAorCisJZm9yIHQg
aW4gJHRhYmxlczsgZG8KKwkJbG9jYWwgbT0iJHtJUFZ9dGFibGVfJHt0fSIKKwkJYWN0aW9uICJV
bmxvYWRpbmcgbW9kdWxlICRtOiIgbW9kcHJvYmUgLXIgIiRtIgorCWRvbmUKKwlyZXR1cm4gMAor
fQorCiBmd3N0YXR1cygpCiB7CiAJbG9jYWwgaQpAQCAtMjMzLDcgKzI0MSw4IEBAIHN0b3AoKQog
ewogCWlmIHJlYWRfdGFibGVzOyB0aGVuCiAJCXNldF9wb2xpY3kgQUNDRVBUICYmCi0JCWZsdXNo
X2RlbGV0ZQorCQlmbHVzaF9kZWxldGUgJiYKKwkJdW5sb2FkX21vZHVsZXMKIAkJUkVUVkFMPSQ/
CiAJZWxzZQogCQlwcmludGYgJXMgJCIkSVBUQUJMRVMgZmlyZXdhbGwgaXMgbm90IHN0YXJ0ZWQi
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>