LINUX.ORG.RU
ФорумAdmin

iptables ipset


0

0

Недавно освоил ipset, чудесная штука, но вот проблема (без проблем жизнь была бы скучной.)

в iptables есть несколько правил использующие ipset:
t: mangle
-A INPUT -p tcp -m tcp -m set --set accessnet src,src -j ACCEPT
-A INPUT -p tcp -m tcp -m set --set accesshosts src,src -j ACCEPT
-A INPUT -p tcp -m tcp -j DROP
-A POSTROUTING -m set --set ! pipefree dst,dst -j MARK --set-mark 0x100
-A POSTROUTING -j MARK --or-mark 0xef

вводил с командной строки.
теперь делает iptables-save и получаем такую фигню:
-A INPUT -p tcp -m tcp -m set --set accessnet src,src -j ACCEPT
-A INPUT -p tcp -m tcp -m set --set accesshosts src,src -j ACCEPT
-A INPUT -p tcp -m tcp -j DROP
-A POSTROUTING -m set ! --set pipefree dst,dst -j MARK --set-mark 0x100
-A POSTROUTING -j MARK --or-mark 0xef

обратите внимание сюда:
-A POSTROUTING -m set !--set pipefree dst,dst -j MARK --set-mark 0x100

"!" стоит перед --set, если это дело сохранить в файл и потом загрузить (iptables-restore) назад, то получаю ошибку:

Bad argument `!--set'
Error occurred at line: 18
Try `iptables-restore -h' or 'iptables-restore --help' for more information.

это у меня баг или у ipset, как это решать?


обновится до последней версии ipset и iptables. Если не поможет (должно помочь, вроде в changelog что-то подобное пробегало), то писать bug-report.

zhiltsov
()
Ответ на: комментарий от zhiltsov

последняя версия ipset 2.2.9 - она у меня и стоит. Сейчас обновлю iptables, может что-то даст. Кто-то еще сталкивался с этой проблемой?

nevsky
() автор топика
Ответ на: комментарий от nevsky

Попробуйте посмотреть/подправить исходник iptables-модуля ipset, думаю там не сложно. (хоть я и не C программер, но сам когда-то добавлял для одного модуля дополнительный параметр - все получилось)

spirit ★★★★★
()
Ответ на: комментарий от zhiltsov

Пересобрал iptables, все ОК, всем спасибо.

nevsky
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.