2009/4/15 Kenjiro Tanaka <[email protected]>: > Vejamos se posso dar uma mãozinha. > > 2009/4/15 Daniel Venturi <[email protected]> >> >> Bom dia pessoal, preciso de ajuda >> >> o meu problema é o seguinte preciso redirecionar o trafego de uma porta >> 10000 para a porta 20000, bloquear o trafego que venha diretamente para a >> porta 10000 e ainda testar o funcionamento disso localhost(loopback). >> por exemplo >> >> o que vem para a porta 10000 direcionar para a porta 20000 e aceitar >> o que vem para a porta 20000 diretamente descartar. >> >> o direcionamento está funcionando corretamente com a seguinte regra: >> iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 10000 -j DNAT >> --to-destination :20000 > > O redirecionamento é da 10000 pra 20000 na mesma maquina ou pra outro PC? > Bom, mas tu disseste que está funcionando. > >> >> o bloqueio do trafego direto para a porta 20000 e a liberação do trafego >> que vem da 10000 para a 20000 não consigo fazer, sendo que já tentei o >> seguinte conjunto de regras: >> iptables -A INPUT -j REJECT -p tcp --dport 20000 > > A pergunta pode parecer ridícula mas, ja tentou usar um "-j DROP" ali só pra > testar? Se as conexões para a porta 20000 seriam para a propria maquina > rodando o firewall, deveria bloquear tranquilamente > >> >> iptables -A FORWARD -j ACCEPT -p tcp --dport 20000 > > Faz um tempinho que não brinco com essas coisas, mas... acho que algo assim > resolveria o teu problema: > > iptables -t nat -A POSTROUTING -p tcp -m tcp --sport 20000 -j SNAT > --to-source :10000 > >> >> quanto ao funcionamento do direcionamento em loopback (localhost), tentei >> a regra abaixo e também não deu certo: >> iptables -t nat -A POSTROUTING -o eth0 -p tcp -j MASQUERADE > > Esta parte eu realmente não entendi. O que tem a ver "loopback/localhost" > com "eth0"? localhost é "lo", lembra? :) > > Sinceramente boiei nessa de "direcionamento em loopback". Qual o propósito? > > Bom, espero ter ajudado um pouco. > > May the Force be with you! > > Kenjiro >
Uma opção é marcar os pacotes que chegam na porta 10000 e só aceitar a entrada na porta 20000 se eles tiverem essa MARK. Por exemplo: # Marca tudo que entrar na porta TCP/10000 com a mark 10000 (poderia ser outro numero qualquer como 1,2, 3...) iptables -A INPUT -p tcp --dport 10000 -j MARK --set-mark 10000 # Redireciona todos os pacotes com a mark 10000 para a porta TCP/20000 iptables -A INPUT -m mark --mark 10000 -j REDIRECT 20000 # Rejeita todos os pacotes na porta TCP/20000 que não tiverem a mark 10000 iptables -A INPUT -p tcp --dport 20000 ! -m mark --mark 10000 -j REJECT # Sanity check: aceita todos os pacotes na porta TCP/20000 com mark 10000 (talvez não precise, depende das tuas regras anteriores/police) iptables -A INPUT -p tcp --dport 20000 -m mark --mark 10000 -j ACCEPT Como tu disse que o tráfego é local, eu não vi necessidade de fazer um NAT, por isso usei o bom e velho filter, talvez seria melhor fazer isso no chain mangle? PS, Não testei, só tive a idéia e digitei direto no gmail, afinal, a lista é para isso, trocarmos idéias e não pra que eu trabalhe pelos outros. :P --~--~---------~--~----~------------~-------~--~----~ GUS-BR - Grupo de Usuários de Slackware Brasil http://www.slackwarebrasil.org/ http://groups.google.com/group/slack-users-br Antes de perguntar: http://www.istf.com.br/perguntas/ Para sair da lista envie um e-mail para: [email protected] -~----------~----~----~----~------~----~------~--~---

