Olá, criei um script para configurar o Nagios em meus servidores remotos. Meu script verifica o iptables para ver se já existe uma regra de firewall e então ésupostopara adicionar a regra se ela ainda não estiver lá.
No momento, o script apenas ecoa a regra, mas na verdade não é capaz de escrevê-lo. Qualquer ajuda seria muito apreciada.
ssh -t -t root@$serverName << EOF
service nrpe restart
chkconfig nrpe on
if [ "cat /etc/sysconfig/iptables | grep -- "5666"" != "-A INPUT -p tcp -m tcp --dport 5666 -j ACCEPT" ] ; then echo "iptables -I INPUT -s 0/0 -p tcp --dport 5666 -j ACCEPT" ; fi
service iptables save
exit
EOF
Responder1
verifique se existem regras e se não - adicione-as
iptables -C INPUT -s 0/0 -p tcp --dport 5666 -j ACEITAR || iptables -I INPUT -s 0/0 -p tcp --dport 5666 -j ACEITAR
Responder2
Você apenas tem que mudar
echo "iptables -I INPUT -s 0/0 -p tcp --dport 5666 -j ACCEPT"
para
iptables -I INPUT -s 0/0 -p tcp --dport 5666 -j ACCEPT
Você pode deixar de -s 0/0
fora:
iptables -I INPUT -p tcp --dport 5666 -j ACCEPT
E faria sentido considerar qual é a melhor posição dentro de INPUT
. Se esta regra for a quinta (em vez da primeira), altere a chamada para:
iptables -I 5 INPUT -p tcp --dport 5666 -j ACCEPT
E
"cat /etc/sysconfig/iptables | grep -- "5666""
contém um erro. O comando
cat /etc/sysconfig/iptables | grep -- "5666"
não é executado. Você deve adicionar substituição de comando:
"$(cat /etc/sysconfig/iptables | grep -- "5666")"