#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
ascstate
. Отсюда и ошибка.4. Удалось ли вам заставить его работать? Или у вас есть какие-либо дополнительные проблемы?
Ответ №1:
Ansible выдает ошибку, поскольку вы указали вызываемый параметр cstate
. Модуль Iptables не имеет этого параметра. На самом деле вы, вероятно, неправильно написали ctstate
, что является существующим параметром в модуле iptables. Исправьте это, и ошибка исчезнет.