
Preciso abrir várias portas diferentes (não em intervalos) em uma máquina CentOS.
Eu sei como abrir uma porta com firewall-cmd
, mas isso fica incômodo para abrir 40 ou mais portas.
Existe um arquivo de configuração onde posso definir todas as portas abertas em um só lugar? Infelizmente não encontrei nada sobre isso.
Responder1
Você pode definir um serviço a partir de um arquivo xml contendo todas as portas necessárias, adicionar um serviço a partir dele e ativá-lo. Crie o arquivo service.xml assim:
<?xml version="1.0" encoding="utf-8"?>
<service>
<port port="port1" protocol="proto1"/>
<port port="port2" protocol="proto2"/>
<port port="port3" protocol="proto3"/>
<port port="port4" protocol="proto4"/>
</service>
Adicionar novo serviço:
# firewall-offline-cmd --new-service-from-file=service.xml --name=My_Service
Recarregue o firewall-cmd:
# firewall-cmd --reload
Em seguida, adicione seu serviço:
# firewall-cmd --add-service My_Service
Responder2
firewall-cmd --permanent --add-port={80/tcp,443/tcp,9200/tcp,5601/tcp,5044/tcp}
firewall-cmd --reload
Responder3
Você sempre pode criar um pequeno script/one-liner:
#!/bin/bash
for i in 80 443 22 123 21 1337 31337
do
firewall-cmd --zone=public --add-port=${i}/tcp
done
Responder4
Mesmo sendo uma pergunta muito antiga, ela pode ficar muito "interessante", então pensei em respondê-la.
Todas as portas possíveis em uma única linha
# simple
firewall-cmd --add-port={80,443}/tcp
# Both protocols
firewall-cmd --add-port={80,443}/{tcp,udp}
# can be a bit complex and note the nested parentheses
firewall-cmd --add-port={{80,443}/{tcp,udp},{110,995}/tcp}
Então dê uma olhada no que você fez :) digitando
firewall-cmd --list-ports
Mas os serviços são melhores
Eu também experimentei --add-services', whose names can be found in
/etc/services'. É ainda melhor do que usar portas. Tanto os nomes quanto as portas estão nesse arquivo, então você pode listar alguns deles:
grep -E 'http|imap|pop3|smtp|dns|ftp' /etc/services
Podemos abrir portas digitando o seguinte: ``:
# readable
firewall-cmd --add-service={http,https}
firewall-cmd --list-services
É isso por enquanto.