iptables regras para o cliente poder fazer tftp de qualquer servidor

1

Meu objetivo: permitir somente uma operação relacionada ao iptables nesta caixa linux. Isso permite que seja capaz de fazer o download de qualquer servidor. Aqui estão minhas regras para isso, mas elas não parecem funcionar. Para enfatizar, isso não é sobre a minha caixa linux ser o servidor. Minha caixa é o cliente, tentando baixar de um servidor tftp.

#iptables -S 
-P INPUT DROP
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -p udp -m state --state ESTABLISHED -j ACCEPT
-A INPUT -p udp -m state --state RELATED -j ACCEPT
-A INPUT -p udp -m udp --dport 69 -m state --state NEW -j ACCEPT

Quando tento fazer um download de tftp, o tempo limite é esgotado.

tftp -g -r /asd.txt  10.0.0.148 

verifiquei que o download do tftp funciona com essas regras

root@kp3:~# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT

Você pode me ajudar a corrigir minhas regras para permitir o download do tftp?

    
por Sush 21.06.2017 / 00:27

1 resposta

1

Realmente não faz muito sentido permitir TFTP " de qualquer servidor ". No entanto, se é isso que você quer, aqui é o que você precisa

iptables -I INPUT -p udp -j ACCEPT
iptables -I OUTPUT -p udp -j ACCEPT

Eu não acho que você vai gostar disso.

Aqui está uma explicação extraída do link (meu realce em negrito)

TFTP uses UDP as its transport protocol. A transfer request is always initiated targeting port 69, but the data transfer ports are chosen independently by the sender and receiver during the transfer initialization. The ports are chosen at random according to the parameters of the networking stack, typically from the range of ephemeral ports.

Isso é definido de maneira mais formal em RFC 1350 seção 4 parágrafo 2 .

    
por 21.06.2017 / 00:40