Redirecionar Portas [RESOLVIDO]

1. Redirecionar Portas [RESOLVIDO]

Dênis Wallace de Souza
comfaa

(usa Debian)

Enviado em 17/12/2008 - 13:04h

Olá galera,
é o seguinte, estou configurando meu SERVER pra ser acessado de fora da
minha rede, pela internet, mas quando tento acessar esta dando TIME OUT.
Quanto ao TIME OUT eu acho que ja sei o por que (estou usando o DDNS).

Agora, eu preciso que quando eu acesse esse servidor pela internet, ele me
redirecione de modo que eu acesse outro computador, por exemplo:

Eu uso velox e o ip nao é fixo, entao uso ddns para manter meu host
(teste.ddns.com.br). Aí quando alguem acessar teste.ddns.com.br, ele
redirecionar para 10.0.29.201:8080

Pode ser tambem assim teste.ddns.com.br:8080, ele redirecionar
para 10.0.29.201:8080

Agradeço desde já.



  


2. MELHOR RESPOSTA

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 23/12/2008 - 10:31h

Para que uma máquina Linux atue como roteador fazendo redirecionamento de portas, muitas configurações são necessárias, a saber:

I) ligar o roteamento: consiste em dizer para o Linux que ele é um roteador. Se isto não for feito, ele irá descartar qualquer pacote que não seja para o(s) seu(s) ip(s). Isto se faz de várias maneiras, dependendo da distribuição. Em algumas um flag em /etc/sysconfig. Contudo, alterando o flag direto no /proc funciona em qualquer distribuição.

II) permitir roteamento: atuar na tabela filter, lista FORWARD, permitindo que determinados pacotes sejam roteados. Algumas distribuições podem ter firewall ativado por padrão e normalmente esta lista está em DROP.

III) realizar reescrita de portas (forward de portas): atuando na tabela nat, listas PREROUTING ou POSTROUTING para reescrever pacotes que entram (PREROUTING) ou que saem (POSTROUTING) da máquina.

IV) realizar nat dinâmico, mais conhecido como "mascaramento de ip": também na tabela nat, no caso da lista POSTROUTING.

No seu caso mais específico, recuperando o cenário que postei em outro tópico do qual você concordou:

a) a placa que vem do modem chama-se eth0 (troque-a para a que você realmente tem)

b) o ip da máquina é 10.0.29.209 (que deve responder pela porta 8080)

c) a placa de rede que vai para a tua sub-rede interna, na qual encontra-se a máquina do item b, é a eth1 (novamente, troque-a para a verdadeira)

d) O ip do servidor/roteador não importam nas configurações

Neste caso, os seguintes comandos fazem tudo:

# Comentarios comecam com #
# I) ligando o roteamento
echo 1 > /proc/sys/net/ipv4/ip_forward

# II) permitindo roteamento de e para a rede da máquina
iptables -I FORWARD -i eth1 -j ACCEPT
iptables -I FORWARD -o eth1 -j ACCEPT

# III) Redirecionando a porta 8080 para a maquina
# considerando eth0 como a placa que VEM DO MODEM!
iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to 10.0.29.209

# IV) Mascaramento de IP: nao eh necessario para que o item III funcione. Apenas se queres que todas as maquinas que estejam na tua sub-rede acessem a Internet atraves do teu roteador
# novamente, eth0 é a placa que VEM DO MODEM
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE

As regras acima darão CONECTIVIDADE a tua máquina, o que pediste. Elas não priorizam a segurança, ou seja, não tem aqui nenhuma regra visando proteger a tua rede ou o teu micro, pois isto seria outro tópico. Sugiro que, como root, edite um arquivo qualquer (sugestão: /etc/firewall.sh) e colo as regras neste arquivo. Dê permissão de execução para ele:

chmod a+x /etc/firewall.sh

E o execute:
/etc/firewall.sh

Depois de testado, se quiser que sempre estas regras executem quando a máquina ligar, como usas o debian, podes fazer isto:

# ir para o /etc/rcN.d onde N é o teu runlevel
cd /etc/rc`runlevel|cut -d' ' -f2 `.d

# criar um link simbolico para que o script seja executado ao iniciar
ln -s /etc/firewall.sh S99firewall

(claro, isto fazendo na mão, mas o debian tem uma ferramenta que faz isto, não lembro o seu nome)

Sugiro que leias os tutoriais de iptables sobre a sua estrutura:
http://www.vivaolinux.com.br/artigo/Estrutura-do-Iptables/
http://www.vivaolinux.com.br/artigo/Estrutura-do-IPTables-2-a-tabela-nat/

[]'s

3. Re: Redirecionar Portas [RESOLVIDO]

irado furioso com tudo
irado

(usa XUbuntu)

Enviado em 19/12/2008 - 16:38h

ANTES de se preocupar com o redirecionar portas.. quando vc pinga no endereço teste.ddns(etc) o pacote CHEGA até vc? o que diz o seu log de firewall? (estabeleça um -log ** drop ** pra gente saber se está sendo descartado

se não tiver log, use o tcpdump:

# tcpdump -vvi ethEXTERNA host ip_maquina_de_origem


4. Re: Redirecionar Portas [RESOLVIDO]

Dênis Wallace de Souza
comfaa

(usa Debian)

Enviado em 23/12/2008 - 07:20h

Eu consigo dar o PING de fora da minha rede normal e ele me retorna tudo normal ......
eu nao tenho o LOG, vo dar esse comando que vc disse e posto aqui te avisando o resultado dele.


5. SCRIPT

Deivid
cyberdps

(usa Debian)

Enviado em 24/12/2008 - 16:30h

COLOQUE AQUI SEU SCRIPT DE FIREWAL PARA VER SE TEM ALGUMA COISA ERRADA. SÓ ASSIM PODEMOS AJUDAR COM MAIS PRECISÃO.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts