Обновление iptables с помощью модуля ansible iptables

#ansible #ansible-2.x

#ansible #ansible-2.x

Вопрос:

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

 "- iptables -I INPUT -p tcp -m multiport --dports 80,443,830 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT"
  

Я пытаюсь обновить, но получаю сообщение об ошибке, не могли бы вы мне помочь.

 ERROR:
{
"_ansible_parsed": true,
"invocation": {
"module_args": {
"protocol": "tcp",
"chain": "INPUT",
"cstate": "NEW",
"jump": "ACCEPT",
"destination_port": 80,
"match": "multiport"
}
},
"changed": false,
"_ansible_no_log": false,
"msg": "Unsupported parameters for (iptables) module: cstate Supported parameters include: action, chain, comment, ctstate, destination, destination_port, flush, fragment, goto, icmp_type, in_interface, ip_version, jump, limit, limit_burst, log_prefix, match, out_interface, policy, protocol, reject_with, rule_num, set_counters, set_dscp_mark, set_dscp_mark_class, source, source_port, state, syn, table, tcp_flags, to_destination, to_ports, to_source, uid_owner"
}
  

Комментарии:

1. Как говорится в сообщении об ошибке, cstate не поддерживает параметр «NEW». Вы имели в виду ctstate?

2. cstate может принимать «НОВЫЙ»

3. Вы правы. Ctstate принимает значение «NEW», но вы неправильно написали ctstate as cstate . Отсюда и ошибка.

4. Удалось ли вам заставить его работать? Или у вас есть какие-либо дополнительные проблемы?

Ответ №1:

Ansible выдает ошибку, поскольку вы указали вызываемый параметр cstate . Модуль Iptables не имеет этого параметра. На самом деле вы, вероятно, неправильно написали ctstate , что является существующим параметром в модуле iptables. Исправьте это, и ошибка исчезнет.