debian - iptables não funciona para permitir uma porta específica

1

Eu tenho três máquinas virtuais: A, B e C, todas elas rodando no debian. Eu configurei C para rotear o tráfego entre A e B. Também C tem duas interfaces: enp0s3 e enp0s8 , não tenho certeza se é importante nesse caso. O roteamento funciona bem.

Mas agora eu quero configurar o iptables no roteador para bloquear todas as solicitações recebidas, exceto aquelas que são enviadas para a porta 8080.

Aqui está o que eu faço:

iptables -P FORWARD DROP
iptables -A FORWARD -p tcp --dport 8080 -j ACCEPT

Mas se eu tentar me conectar a qualquer porta (incluindo 8080) em B de A usando nc {host} {port} , minha entrada não está sendo traduzida de A para B.

Eu também tentei vice-versa:

iptables -P FORWARD ACCEPT
iptables -A FORWARD -p tcp ! --dport 8080 -j DROP

mas também não funciona.

Quando eu verifico a saída de iptables -L -v , alguns pacotes estão sendo aceitos em FORWARD chain.

    
por user123 04.03.2018 / 16:25

1 resposta

0

iptables -A FORWARD -p tcp --dport 8080 -j ACCEPT
Esta regra permitirá o encaminhamento de todos os pacotes que vão para a porta 8080 No entanto, os pacotes da porta 8080 (respostas ao pacote SYN) não são encaminhados, a menos que a porta que está fazendo a solicitação também seja a porta 8080. Como mencionado em um comentário, esse provavelmente não é o caso!

precisa de uma segunda regra:

iptables -A FORWARD -p tcp --sport 8080 -j ACCEPT

esta regra permite que todos os pacotes vindos da porta 8080 sejam permitidos no encaminhamento

como recomendação eu adicionaria os endereços IP das máquinas às regras se você precisasse de mais segurança em sua configuração, já que com essas duas regras alguém poderia falar com uma porta diferente contanto que sua porta de origem seja 8080.

então minhas regras finais seriam:

iptables -A FORWARD -p tcp --sport 8080 -s IPOFMACHINEA -j ACCEPT
iptables -A FORWARD -p tcp --dport 8080 -d IPOFMACHINEA -j ACCEPT

iptables -A FORWARD -p tcp --sport 8080 -s IPOFMACHINEB -j ACCEPT
iptables -A FORWARD -p tcp --dport 8080 -d IPOFMACHINEB -j ACCEPT

Como você não forneceu ips, você terá que substituí-los.

    
por 05.03.2018 / 16:13