Ao criar um serviço para o Firewalld, você verá diferentes abas Ports
Protocols
Source-Port
, etc. (veja a captura de tela). Agora, meu problema é entender o que a aba de protocolos faz. Ao definir portas, ports
você já especifica o protocolo para determinadas portas. Gostaria de saber o que a protocols
aba faz de diferente?
Estou perguntando porque acabei de encontrar um problema em que, i had set tcp/udp ports
para um jogo, ainda não conseguia me conectar a um servidor usando essas portas. Tive que adicionar udp
em protocol
(como cliente). Algo que nunca precisei fazer antes. E me pergunto por quê? Por que não foi suficiente definir as portas UDP em "Portas"? O que isso faz de diferente? Permite todas as portas para determinados protocolos? Caso contrário, não entendo bem o que faria.
Ênfase em: nessa aba, você especifica o protocolo para determinadas portas. Ou, mais precisamente, você especifica determinadas portas para o protocolo – em IP, os números de porta são propriedade de cada um desses protocolos separadamente, e não o contrário.
Ou seja, você tem IP, depois UDP e, como parte do UDP, você tem a porta número 1234, que é separada do mesmo número de porta no TCP – não a "porta IP 1234, que pode ter TCP ou UDP".
Ele adiciona uma regra para o protocolo como um todo, sem nenhuma filtragem de porta específica. Se você "permitir" o UDP ali, estará permitindo todo o UDP, independentemente dos números de porta utilizados.
Provavelmente porque a) há portas UDP adicionais em uso para as quais você não adicionou regras, ou b) você errou a direção — tanto o UDP quanto o TCP têm dois números de porta, um em cada lado do fluxo/conexão (origem e destino, ou local e remoto, ou cliente e servidor), e as regras de firewall normalmente correspondem a apenas uma, raramente a ambas.
Se o firewalld tiver uma opção para registrar todos os pacotes bloqueados, habilite-a. (Normalmente, esses registros vão para
dmesg
.) Caso contrário, use uma ferramenta de captura de pacotes, como Wireshark, tshark ou tcpdump, para ver quais pacotes reais estão sendo trocados.