Como abrir portas no Linux
Linux Ubuntu Noções Básicas Do Ubuntu Herói / / March 02, 2022
Última atualização em
Se você deseja permitir conexões externas a um PC ou servidor, precisará abrir a porta certa. Os usuários do Linux podem abrir portas usando este guia útil.
Precisa se conectar a um PC ou servidor externo — ou precisa de outro PC ou servidor para se conectar a você? Se você estiver executando o Linux, precisará garantir que a porta correta esteja aberta.
Enquanto outros sistemas operacionais costumam ter alguma ferramenta gráfica para isso, o Linux não é tão simples. Vamos orientá-lo sobre como abrir portas no Linux abaixo.
O que é uma porta e por que eu precisaria abri-la?
Uma porta é um ponto final na rede. Pense nisso como uma porta que leva a uma sala específica ou ao mundo exterior, mas no seu computador. Tudo o que você faz na Internet usa uma determinada porta ou série de portas.
Por exemplo, digamos que você queira executar seu próprio servidor Minecraft. Para fazer isso, você precisará abrir uma porta para os usuários se conectarem a ela. O mesmo se aplica à execução de seu próprio servidor web, de e-mail ou FTP.
As portas são padronizado em todas as redes conectadas dispositivos. As primeiras 1.024 portas (de 0 a 1023) são chamadas de números de porta conhecidos. Eles são reservados para os serviços mais usados, como HTTP e HTTP (porta 80 e 443, respectivamente) e SSH (porta 22).
Números de porta acima de 1024 são referidos como portos efêmeros, e normalmente estão disponíveis para você usar em seus jogos online, servidores da Web privados e assim por diante. Os números de porta 1024 a 49151 são chamados registrado ou portas de usuário, enquanto os de 49152 a 65535 são conhecidos como dinâmico ou portos privados.
Listando portas abertas no Linux
Antes de começar a tentar abrir uma porta no Linux, verifique se ela já não está em uso. Você pode fazer isso usando o netstat comando, incluído na maioria das distribuições Linux. Se a sua distribuição não tiver netstat, você pode usar ss em vez de.
netstat -lntu.
Isso imprimirá todos os soquetes de escuta (-eu), juntamente com o número da porta (-n). Inclui portas TCP (-t), bem como UDP (-você). Se o seu sistema não tiver netstat, Apenas use ss com os mesmos parâmetros.
ss-lntu.
Como abrir portas no Linux
Para este exemplo, vamos supor que queremos abrir a porta 4000 para conexões TCP. Primeiro precisamos ter certeza de que a porta já não está em uso. Fazemos isso através netstat ou ss.
netstat -na | grep: 4000. ss-na | grep: 4000.
Supondo que a saída esteja em branco, podemos adicionar as regras de porta apropriadas ao firewall do sistema. Os métodos para isso variam dependendo da sua distribuição e se ela usa a versão mais recente ufa firewall ou firewalld. Favores do Ubuntuufa, enquanto O CentOS normalmente usafirewalld em vez de. Claro, ainda existem algumas distribuições Linux usando o mais antigo iptables firewall.
Para usuários do Ubuntu e outros sistemas baseados em firewall ufw
Em vez de usar o mais antigo iptables firewall, Ubuntu e algumas outras distribuições usam ufa. Nesses sistemas, o comando a seguir abrirá a porta.
sudo ufw permitir 4000.
Pule as próximas etapas e teste sua porta recém-aberta para ter certeza de que está funcionando.
Como abrir portas no Linux usando CentOS e outros sistemas baseados em firewalld
Se o seu sistema usa firewalld, sua melhor aposta é usar o firewall-cmd comando para atualizar as regras.
sudo firewall-cmd --add-port=4000/tcp.
Esta não será uma mudança permanente, mas abordaremos como fazer com que as regras persistam após a reinicialização, uma vez que testarmos a porta.
Para outras distribuições Linux
Se o seu sistema Linux não tiver ufa ou firewalld, você precisará usar iptables. Se não estiver instalado, vá em frente e obtenha-o usando o gerenciador de pacotes de sua escolha. Uma vez instalado, estes comandos abrirão a porta 4000:
sudo iptables -A INPUT -p tcp --dport 4000 -j ACEITAR. sudo service iptables restart.
Se o seu sistema usa systemctl, substitua o segundo comando por:
sudo systemctl reinicie o iptables.
Testando portas recém-abertas para conexões
Em seguida, devemos testar a porta para garantir que ela aceite conexões. Fazemos isso usando netcat (nc) para ouvir a porta e, em seguida, tentar telnet para ela.
Primeiro, abra uma janela de terminal e emita este comando:
sudo ls | nc -1 -p 4000.
Deixe-o em execução (ouvindo) e abra uma segunda janela de terminal. Nessa janela, você usará o telnet para testar a conectividade. Se o telnet não estiver instalado, faça isso usando seu gerenciador de pacotes.
telnet [nome do host/endereço IP] [número da porta]
Substituir [nome do host/endereço IP] com o endereço IP do seu sistema e [número da porta] com o número da porta que você abriu.
telnet localhost 4000.
Você deve ver uma saída como essa abaixo, indicando uma conexão aberta com nc.
Também podemos mostrar que a porta está aberta usando nmap. Novamente, se o comando ainda não estiver instalado, use seu gerenciador de pacotes para recuperá-lo.
nmap localhost -p 4000.
Observe que nmap listará apenas as portas abertas que estão escutando conexões. É por isso que usamos o netcat para testes, para escutar nessa porta. Caso contrário, a porta não será registrada como aberta.
Não consigo me conectar à porta que acabei de abrir, e agora?
Se você executar todas as etapas acima e não conseguir uma conexão com a porta, verifique novamente sua digitação. Se você tiver certeza de que digitou tudo corretamente, é provável que precise reconfigurar seu roteador de rede para permitir o tráfego.
Como cada roteador de rede possui telas de configuração diferentes, você deve consultar as páginas de suporte ou o manual do usuário do seu equipamento específico. Você precisará verificar as configurações de encaminhamento de porta ou mapeamento de porta, bem como qualquer firewall integrado que o roteador possa usar.
Como abrir permanentemente uma porta no Linux
Depois de testar sua porta aberta e ter certeza de que está funcionando, você provavelmente desejará tornar a alteração permanente. Caso contrário, as alterações podem não permanecer após uma reinicialização. Se você é um usuário do Ubuntu, ou usa o ufa firewall, você não precisa se preocupar com isso. O ufa as regras não são redefinidas na reinicialização.
Para usuários de firewalld
Fazer uma regra de porta permanecer após uma reinicialização é fácil com firewalld. Basta adicionar o -permanente sinalizar para seu comando inicial e será incluído nas regras de firewall do seu sistema Linux na inicialização.
sudo firewall-cmd --add-port=4000/tcp --permanent.
Se você ainda estiver usando o iptables
O iptables firewall é muito mais problemático (talvez uma boa razão para atualizar para firewalld ou ufa). Para abrir “permanentemente” uma porta em iptables, você pode instalar o iptables-persistente pacote para ajudar.
Quando você instala pela primeira vez iptables-persistente em um sistema baseado em Debian, ele salvará suas regras atuais para /etc/iptables/rules.v4 ou /etc/iptables/rules.v6. Para adicionar novas regras, você emitirá o seguinte comando:
sudo iptables-save > /etc/iptables/rules.v4.
OU
sudo iptables-save > /etc/iptables/rules.v6.
Para aqueles que executam distribuições Linux baseadas em RPM, é um pouco diferente. O pacote chama-se iptables-services, e os arquivos salvos são /etc/sysconfig/iptables e /etc/sysconfig/ip6tables.
Em distribuições baseadas em RPM, há também um comando diferente usado para portas IPv6. Salvar suas regras é feito usando um destes dois comandos:
sudo iptables-save > /etc/sysconfig/iptables. sudo ip6tables-save > /etc/sysconfig/iptables.
Certifique-se de monitorar o uso da porta
Com o passar do tempo, as necessidades do seu servidor podem mudar. Assim como você deveria manter a par das contas de usuário em sua máquina Linux, você também deve auditar suas portas abertas regularmente. Feche todas as portas abertas que não são mais necessárias. Junto com regularmente alterando sua senha, esta é uma boa prática de segurança que o ajudará a evitar invasões do sistema e explorações de segurança.