Liberando conexões do terminal service e VNC no firewall

Publicado por Fernando Silva Barreto em 25/10/2004

[ Hits: 84.312 ]

 


Liberando conexões do terminal service e VNC no firewall



Abaixo seguem as linhas para se liberar no firewall (iptables) as conexões vindas de fora (de outra ou outras redes) passando pela máquina firewall e redirecionando para outra máquina na rede interna.

Liberando/Redirecionando - Terminal Service


iptables -t nat -A PREROUTING -s 200.200.50.46 -m tcp -p tcp -i eth1 --dport 3389 -j DNAT --to-destination 192.168.0.15

Explicando:
Esta regra está dizendo que, tudo que vier do IP 200.200.50.46 utilizando o protocolo TCP na porta 3389 (porta do terminal service) será redirecionado para a máquina com o IP 192.168.0.15 (máquina com o terminal service server instalado).

Deste jeito, somente as conexões que vierem do IP 200.200.50.46 serão aceitas. Para acessar de qualquer lugar substitua o IP 200.200.50.46 por 0/0.

iptables -t nat -A PREROUTING -s 0/0 -m tcp -p tcp -i eth1 --dport 3389 -j DNAT --to-destination 192.168.0.15

Liberando/Redirecionando - VNC


iptables -t nat -A PREROUTING -s 200.200.50.46 -m tcp -p tcp -i eth1 --dport 5900 -j DNAT --to-destination 192.168.0.10

Explicando:
Esta regra é o mesmo caso que a do terminal service. Mudamos apenas a porta e aqui mudei o IP de onde serão aceitas as conexões (200.200.50.46) e direcionadas para a máquina 192.168.0.10.

Para poder acessar via browser precisa se liberar a porta 5800:

iptables -t nat -A PREROUTING -s 200.200.50.46 -m tcp -p tcp -i eth1 --dport 5800 -j DNAT --to-destination 192.168.0.10

Espero que tenha sido claro. Qualquer dúvida estou à disposição.

Valeu,
Fernando Silva Barreto.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Quadriboot de Sistemas Operacionais Linux

Erro: "mysql_config: not found" Debian 9 [Resolvido]

Plugin do Banco do Brasil (Warsaw) no Fedora 31

Instalando o frostwire e desbloqueando a porta tcp/udp por gufw em linhas GVT

Customizando seu protetor de tela (gnome-screensaver)

  

Comentários
[1] Comentário enviado por tallor em 22/11/2004 - 16:48h

Ótima dica! Para mim só falta um detalhe: como faço via windows? Ou seja, quero conectar com um micro windows rodando VNC, a partir de outro micro windows, via internet?

[2] Comentário enviado por __FERNANDO__ em 22/11/2004 - 17:59h

Boa tarde!

Ué como assim cara ? Se for de windows para windows direto não precisa da dica acima... a dica acima é só quando seu gateway (máquina com acesso a internet) é Linux... se for Windows é só digitar o IP e mais nada...não precisa de redirecionamento.

Acho que é isso que você quer né ? Espero ter ajudado.

Abraços e até mais,

Fernando.

[3] Comentário enviado por ronaldobandim em 22/02/2005 - 09:39h

Por favor mande também a para ipchains!

[4] Comentário enviado por __FERNANDO__ em 22/02/2005 - 10:16h

Bom dia!.

Amigo, ipchains num rola este esquema... é a PREROUTING só em iptables.

Para fazer redirecionamente por usar o redir:
http://www.vivaolinux.com.br/dicas/verDica.php?codigo=112

Boa sorte ai.

Fernando.

[5] Comentário enviado por rafaelsrs em 07/03/2005 - 16:10h

Eai Fernando... tudo bem?? É o seguinte cara... tentei fazer a configuração que vc demonstrou mas não consegui... bem.. vamos la vou lhe explicar como está a minha rede: Tenho 2 redes em localidades distintas, onde eu fico em uma delas e gostaria de administrar a outra via VNC. Nas duas redes eu roteio a internet e utilizo firewall (iptables) utilizando o MANDRAKE 8. Eu fiz a configuração que vc ensinou no micro de destino porém não consegui acessar remotamente. Ai vai a pergunta: Eu vou precisar fazer alguma configuração de "SAIDA" do meu firewall na minha rede local 1?

[6] Comentário enviado por __FERNANDO__ em 07/03/2005 - 16:51h

Beleza cara... tudo tranquilo.

Então.. seguinte cara...vai precisar fazer alguma configuração de saida somente se o OUTPUT estiver bloqueado no seu firewall no meu caso tá como ACCEPT então não precisei.

Mas vc instalou o VNC server em que máquina ? Linux, widows ? tá startado ?

Dê mais detalhes... a linha de comando é está mesmo..utilizo aqui..é tranquilo... pode ser que esteja travando algo no firewall...precisa verificar direitinho.

Boa sorte ai,

Fernando.

[7] Comentário enviado por rafaelsrs em 08/03/2005 - 09:05h

Bem vamos La: no local 2 eu tenho a seguinte conf:

modprobe iptable_nat
iptables -t nat - F
iptables -t nat -A PREROUNTING -s 192.168.0.0/24 -d 0/0 -j MASQUERADE
iptables -t nat -A PREROUNTING -s 192.168.0.0/24 -d 0/0 -j tcp --dport 80 -j REDIRECT --to-port 8080
modprobe iptable_nat
#Inseri essa linha para testar o VNC
iptables -t nat -A PREROUNTING -s 200.x.x.x -m tcp -p tcp -i eth0 --dport 5900 -j DNAT --to-destination 192.168.0.14

onde o ip 192.168.0.14 é a maquina na rede que eu quero acessar remotamente... ela esta utilizando windows Xp.
Aqui no local1 onde eu estou eu quero sair com o ip 192.168.1.17, passar pelo servidor do mandrake e ir para o local2 acessar o 192.168.0.14..

a configuração local é a seguinte:
modprobe iptable_nat
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -t nat - F
iptables -t nat -A PREROUNTING -s 192.168.1.0/24 -d 0/0 -j MASQUERADE
iptables -t nat -A PREROUNTING -s 192.168.1.0/24 -d 0/0 -j tcp --dport 80 -j REDIRECT --to-port 8080

RESUMINDO... EU QUERO SAIR DA MINHA REDE1 DE UMA MAQUINA WINXP(192.168.1.17), PASSAR PELO MEU SERVIDOR LINUX 1, PASSAR PELO SERVIDOR LINUX 2 DA REDE2 E ENTRAR NA MAQUINA LOCAL (192.168.0.24)

OBRIGADO!

[8] Comentário enviado por lodc em 06/04/2005 - 19:04h

Como faço pra adicionar esses codigos no meu vnc e liberar as portas? onde tenho q ir?
vlw

[9] Comentário enviado por __FERNANDO__ em 06/04/2005 - 19:14h

Isto é comando iptables...precisa que o gateway da sua rede... a máquina que compartilhe internet seja um linux e que a mesma tenha o iptables instalado.

Ai em qualquer estão sei lá...windows talvéz.. vc deixa o vnc startado..e no gateway...via iptables vc faz este esquema para redirecionamento.

[]'s

Fernando.


[10] Comentário enviado por celsonunes em 07/04/2005 - 01:57h

Ola Fernando etou me aventurando com o linux faz uns tres anos ja domino squid samba e o sistema operacional geral linux, mas estou apanhando iptables, tenho um cliente onde instalei um servidor red hat 9
que faz samba squid e firewall
o squid e o samba esta perfeito acho que o firewall tambem
mas não estou conseguindo acessar um segundo servidor que um servidor com um banco sql assim preciso acessar o windows 2000 da minha empresa tentei a regra que vc mencionou acima e não deu certo ate achei outras regras parecidas na net mas tambem não funcionou pode me ajudar este e o meu firewall :

# IMPLEMENTANDO IPTABLES + OUTLOOK + SQUID

# ip valido = 200.x.x.x
# ip da rede interna = 192.168.0.0/24
# ip do firewall na rede = 192.168.0.x
# eth1 interface da internet
# eth0 interface da rede local
#
# IPTABLES
#
# Basico do Basico, vamos comecar a carregar os modulos

/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_state
/sbin/modprobe ipt_MASQUERADE


#redirecionamento de portas para hosts da rede interna

/sbin/iptables -t nat -A PREROUTING -s 0/0 -p tcp -i eth1 --dport 3389 -j DNAT --to-destination 192.168.0.x

#Beleza, carregados os modulos, vamos dar um "flushing"no firewall
#para nao termos problemas do tipo: Porque quando eu tiro o proxy
#do navegador ele continua a usar a internet ? "

/sbin/iptables -F
/sbin/iptables -Z
/sbin/iptables -X
/sbin/iptables -t nat -F
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT ACCEPT

# Detalhe relevantes: nunca se esqueca de dar um flushing na tabela
#nat tambem, e pessoal, pensa bem, voce tem que liberar o que E NECESSARIO
#e nao tudo, por isso o Policy padrao de input e do forward e DROP, porque
#se nao ta nas regras, ou voce esqueceu ou nao e para estar liberado !
# isto evita acidentes "comuns"

# Habilitando roteamento e demais cositas

echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# No meu firewall nada de scan...

# Vamos liberar o INPUT para a interface de lopback, que so vai
# ser usada pelo servidor, mas com origem de qualquer ip, para não ter
# perigo de nãmanipular alguns pacotes :

/sbin/iptables -A INPUT -p ALL -s 127.0.0.1 -i lo -j ACCEPT
/sbin/iptables -A INPUT -p ALL -s 192.168.0.1 -i lo -j ACCEPT
/sbin/iptables -A INPUT -p ALL -s 200.212.77.2 -i lo -j ACCEPT
/sbin/iptables -A INPUT -p ALL -s 192.168.0.0/24 -j ACCEPT


# Agora uma regra que eu procuro colocar no comeco, que na minha
#opniao melhora um "pouco " a performance do firewall ja que a leitura
# das regras para os pacotes e linear. Ela diz que toda conexao
# estabilizada ou relacionada com o meu firewall deve ser mantida
# e nãanalizada pela s proximas regras:

/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Libera as respostas dos DNS para o meu firewall

/sbin/iptables -A INPUT -p udp -s 200.255.255.65 --sport 53 -d 200.x.x.x -j ACCEPT
/sbin/iptables -A INPUT -p udp -s 200.255.255.70 --sport 53 -d 200.x.x.x -j ACCEPT

# Nada de pacotes fragmentados no meu firewall! Se temos um programa criando pa# cotes despadronizados ou tentativa de ataque, o problema nã e meu

/sbin/iptables -A INPUT -i eth1 -f -j LOG --log-prefix "Pacote INPUT fragmentado: "
/sbin/iptables -A INPUT -i eth1 -f -j DROP

# nao esquecendo de logar o pacote fragmentado para descobrir o que ele e
#
# evitando spoofing
#
/sbin/iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP
/sbin/iptables -A INPUT -i eth1 -s 172.16.0.0/12 -j DROP
/sbin/iptables -A INPUT -i eth1 -s 192.168.0.0/24 -j DROP
/sbin/iptables -A INPUT -i eth1 -s 224.0.0.0/4 -j DROP
/sbin/iptables -A INPUT -i eth1 -s 240.0.0.0/5 -j DROP

# OBS: as mascaras estao corretas.
#
# Regra para ping, aqui varia de admin para admin, eu so
# libero resposta de ping de outros ips, ping para minha rede interna
# e ping do servidor da minha empresa para o firewal do cliente como ta
# ultima linha

#/sbin/iptables -A INPUT -p icmp --icmp-type 24 -i eth0 -j ACCEPT
#/sbin/iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
#/sbin/iptables -A INPUT -p icmp -s 200.x.x.x -d 192.168.0.0/24 -j ACCEPT

# Liberando o acesso do squid para a minha rede interna

/sbin/iptables -A INPUT -p TCP -i eth0 -s 192.168.0.0/24 --dport 3128 -j ACCEPT

# Liberando o acesso do SSH: e webmin e vnc

/sbin/iptables -A INPUT -p TCP --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -p TCP --dport 10000 -j ACCEPT
/sbin/iptables -A INPUT -p TCP --dport 5900 -j ACCEPT
/sbin/iptables -A INPUT -p TCP --dport 5901 -j ACCEPT
/sbin/iptables -A INPUT -p TCP --dport 3389 -j ACCEPT

# Liberando respostas dos servidores WWW para o meu squid :

/sbin/iptables -A INPUT -p TCP -i eth1 --sport 80 -j ACCEPT
/sbin/iptables -A INPUT -p TCP -i eth1 --sport 443 -j ACCEPT
/sbin/iptables -A INPUT -p TCP -i eth1 --sport 20 -j ACCEPT
/sbin/iptables -A INPUT -p UDP -i eth1 --sport 21 -j ACCEPT
/sbin/iptables -A INPUT -p TCP -i eth1 --sport 3389 -j ACCEPT
/sbin/iptables -A INPUT -p TCP -i eth1 --sport 5900 -j ACCEPT


# Ora de mandar embora as porcarias, agora que tudo que eu preciso ta liberado

/sbin/iptables -A INPUT -p tcp --dport 3128 -j REJECT --reject-with tcp-reset
#/sbin/iptables -A INPUT -j LOG --log-prefix "Pacote input descartado: "
/sbin/iptables -A INPUT -j DROP

# Nao esqueca sempre de logar o que vc descarta, pois pode ser uma tentativa de# ataque ou uma porta que deve ser liberada para um programa funcionar
#
# FORWARD
#
# Ja comecamos com barra pesasada no forward, descartando os pacotes
# invalidos, coisa que no ipchais deicha os admins de firewall loucos:

/sbin/iptables -A FORWARD -m state --state INVALID -j DROP

# Aceita as conexoes estabilizada e relacionadas com outras feitas nos pcs
# da minha rede interna:

/sbin/iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT


# Opa, aqui esta um dos segredos para o outlook funcionar, uma coisa
# que ninguesm faz e todo mundo reclama que o teu outlook nãfunciona, e liberar
# a resposta e o acesso aos resolvedores de nome, para o outlook transformar
# o nome dos servidores smtp e pop em numero de ip :

/sbin/iptables -A FORWARD -p udp -s 192.168.0.0/24 -d 200.255.255.65 --dport 53 -j ACCEPT
/sbin/iptables -A FORWARD -p udp -s 192.168.0.0/24 -d 200.255.255.70 --dport 53 -j ACCEPT
/sbin/iptables -A FORWARD -p udp -s 200.255.255.65 --sport 53 -d 192.168.0.0/24 -j ACCEPT
/sbin/iptables -A FORWARD -p udp -s 200.255.255.70 --sport 53 -d 192.168.0.0/24 -j ACCEPT

# Feito isso vamos liberar para minha rede interna as portas que o outlook
# vai utilizar para acesar os servidores externos:

/sbin/iptables -A FORWARD -p TCP -s 192.168.0.0/24 --dport 25 -j ACCEPT
/sbin/iptables -A FORWARD -p TCP -s 192.168.0.0/24 --dport 110 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp --sport 25 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp --sport 110 -j ACCEPT


# SSH ( putty ), webmin, vnc e terminal server dos servidores contratados

/sbin/iptables -A FORWARD -p tcp -s 192.168.0.0/24 --dport 22 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp --sport 22 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp -s 192.168.0.0/24 --dport 3389 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp --sport 3389 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp -s 192.168.0.0/24 --dport 5900 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp --sport 5900 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp -s 192.168.0.0/24 --dport 10000 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp --sport 10000 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp -s 192.168.0.0/24 --dport 5901 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp --sport 5901 -j ACCEPT


# Pronto o objetivo do outlook funcionar esta OK ! Agora vamos dropar
# o resto, nunca se esqueça de logar o que e dropado !

/sbin/iptables -A FORWARD -j LOG --log-prefix "Pacote forward descartado: "
/sbin/iptables -A FORWARD -j DROP

# Para maior confiabilidade e preciso mascarar a conexao

/sbin/iptables -t nat -A POSTROUTING -j MASQUERADE

# Entendendo o funcionamento do outlook
#
# Bem depos de tudo isso as regras estao ai, mas pode ser
# que nao entendao o funcionamento do outlook, entao vamos la
#
# Foi liberado o acesso da minha rede interna aos resolvedores de nome
# (200.162.192.3 e 200.162.192.4) para que o outlook consiga transformar
# o mail.madecomputers.com.br rm um IP
# foi liberada requisicao de estacoes nas portas 25 e 110, na rede externa e
# resposta da rede externa pelas portas 25 e 110
# nao esquecendo que as conexoes da rede interna estao sendo
# mascaradas e toda conexao estabelecida ou relacionada por elas
# e aceita, nao sofrendo novamente verificacao das regras do firewall
# subsequentes








[11] Comentário enviado por lodc em 07/04/2005 - 04:25h

Meu Windows eh o xp mas vcs (linux)pelo q vi sao os unicos q realmente respondem post e por isso estao de parabens..e agradeceria se pudessem me ajuda
oq acontece eh o seguinte..eu uso o modem speedstream 5200 a principio achava q desligando o firewall do modem ia ajuda..mais como meu ip n eh mais fixo n consigo entra no site de configuraçao..e como em otros sites eles n sabe explicar exatamente oq fazer para ficar com ip fixo empresarial achei q n iria resovle ai me falaram q n era ese o problema e sim q eu tinha q libera as portas do meu vnc q teria q entrar no setup do vnc e faze um forward..o problemaeh..como chego nesse setup? onde fika o forward? e onde estao os ipstables? eu ligo ele..(uso vnc ultra) e ali em settings n tem essas opiçoes eentao n sei onde ir pra acha elas..entao se vc ou alguem puder estar me dando uma "luz" eu realmente preciso acessar o vnc do meu trabalhp ra casa entao estarei mto grato e abert asujestoes..pois relmente n sei mexe nessas configuraçoes en sei onde acha elas..
meu email para contato se alguem pu der me ajudar eh eminembjs@gmail.com
mto obrigado novamente

[12] Comentário enviado por __FERNANDO__ em 07/04/2005 - 12:29h

Bom dia, celsonunes!
Cara não entendi direito seu problema mas vê se é isso:
Eu tenho duas redes distintas em lugares diferentes...ambas tem como gateway um Conectiva 10 compartilhando a internet, proxy, firewall e etc.
REDE-1: Conectiva 10 - gateway
eth1 = 200.100.100.100
eth0 = 192.168.10.100

REDE-2: Conectiva 10 - gateway
eth1 = 200.50.50.50
eth0 = 192.168.5.5

Tenho dentro da REDE-2 uma máquina com windows2000server com SQL também...e acesso ela tanto via terminal service como via vnc.
Instalei o VNC nesta máquina win2000server IP 192.168.5.20 e deixei startado.. vou no gateway Linux e passo o seguinte comando no firewall:
iptables -t nat - PREROUTING -s 200.100.100.100 -p tcp --dport 3389 -j DNAT --to-destination 192.168.5.20:3389

Com está regra eu tô permitindo e redirecionando todas as conexões vindas do IP da REDE-1 na porta do terminal service (3389) para a máquina com win2000server da REDE-2 IP:192.168.5.20... ai da REDE-1 eu acesso facilmente, basta utilizar o cliente do terminal service. Para VNC a coisa funciona do mesmo jeito, mudando apenas a porta para 5900.

Sua regra referente as conexões do Terminal Service está correta, porem acredito que esteja na ordem errada... pois logo abaixo vc está passando comandos para zerar todas as regras...então pode ser que a regra do TS acima seja apagada...tem que coloca-la mais abaixo.

Então é isso, coloque a regra abaixo da onde vc passa os comandos para limpar/zerar as regras ( iptables -F ).

E como disse...para VNC é a mesma regra... digamos que tenha uma máquina windows98 numa rede com vnc instalado...ai deixe o VNC server startado e no gateway Linux vc faz o redirecionamento...

Espero ter ajudado,

[]'s

Fernando.

[13] Comentário enviado por Leandro_Peixe em 17/05/2005 - 23:46h

E ai pessoal ...precido de uma ajuda ...

só quero liberar a porta 5900 pelo iptables ,para que meu server_linux1 acesse meu serverlinux2 via vnc, alguem pode me passar a linha de comando do iptables ???

[14] Comentário enviado por LostGirl em 30/05/2005 - 11:18h


Bom...

Essa dica de configuração do redirecionamento do Terminal Service me ajudou bastante...

Porém eu preciso direcionar a porta do TS pra outra maquina que está da rede (uma rede remota) e não sei como fazer. Sei que a porta 3389 não pode ser redirecionada duas vezes, mas como redirecionar uma outra porta para o TS?

Tipo... tenho um Windows 2003 server na rede interna (o servidor linux está nessa rede também), foi ai que redirecionei com as dicas acima, mas existe outro servidor numa filial da empresa em outra cidade. Esse servidor está interligado ao servidor local (central) por meio de uma rede privada (serviço de dados) então eu queria redirecionar uma porta direto pra ele... sem ter que acessar o servidor local e depois abri uma reconexão com a rede privada.

Resumindo... quero abrir duas portas de TS pra dois servidores diferentes na mesma rede xD

Outra dúvida é: o ip da programador que acessa o windows server remotamente é randômico e muda a cada nova conexão (a conexão é adsl), mas está numa classe só, então qria saber um modo de configurar o acesso do terminal service pra uma classe de ip ^^ tem jeito?

Ats,

Hiária

[15] Comentário enviado por __FERNANDO__ em 30/05/2005 - 12:03h

Bom dia!

Nao entendi direito...Seria mais ou menos isso, você tem dois servidores com terminal service abilitado e um gateway linux certo ? Voce quer direnciar as conexões que vierem de fora para estes dois servidores direto ? Hum..ser for isso acho que não dá naum hein... Eu tenho dois servidores na minha rede com TS também, porem eu faço o seguinte:

Quando as conexões vierem do IP da Loja5 é direcionado para o servidorA com TS configurado.

Quando as conexões vierem do IP da Loja6 é direcionado para o outro servidor...servidorB tambem com TS configurado..assim até dá... Mas senão especificar o IP ai não conheço uma forma não.

Trabalho com IP fixo nas três lojas... Loja5, Loja6 e a que trabalho, tipo Loja1.

Sobre o IP, é randomico porque ? Está utilizando DHCP ? porque não coloca como fixo ? Desculpa, é que não entendi direito.

[]'s

Fernando.

[16] Comentário enviado por LostGirl em 30/05/2005 - 14:33h


Assim...

Vou referir-me as terminais como industria e o acesso remoto como cliente...

Pois bem,

Na rede internet tem o servidor de internet (linux)... nele eu redirecionei a porta do TS para o servidor industria_01 (o servidor local) até ai tudo bem...

O problema é que o cliente_X tem que acessar o servidor_01 e o servidor_02 ... Então eu teria que redirecionar duas portas para servidores de diferentes que usam o mesmo programa...

Eu esqueci de falar, mas eu tenho uma classe de ip válido que poderei configurar, mas não sei exatamente como o fazer. E o Cliente_X tem acesso adsl cujo ip é randômico.

Resumindo...

A classe de ip 200.213.x.x pertence ao dominio... ela está disponivel e configurada no roteador...

O servidor industria_01 está na classe 192.168.1.x - a porta no TS está direcionada para esse server

O servidor industria_02 está na classe 192.168.2.x - rede privada, que está ligado a outro roteador na rede...

Pra acessar industria_01 o Cliente_x pede acesso ao ip 200.213.x.y - como está configurado no servidor de internet que as requisições de acesso pela porta 3389 seja redirecionada para o server industria_01... então vai chegar na porta do server industria_01

Como o cliente_x quer acessar o server industria_02 e este está na rede privada... do server industria_01 ele requisita uma conexão com o industria_02 (isso já na rede privada). Note bem.... O cliente_x acessou o industria_01 via internet para depois acessar industria_02 via rede privada.

O que estou querendo fazer?

Diminuir esse caminho....

Fazer com que cliente_x acesse o industria_02 direto da internet, sem passar pela rede privada... assim como o cliente_x acessa o industria_01

tipow.... qro que as requisições do ip 200.213.x.y acesse o servidor 192.168.1.x


e as requisições do ip 200.213.x.w acesse o servidor 192.168.2.x

tendeu? ^^

Agradeço pela ajuda!

[17] Comentário enviado por LostGirl em 30/05/2005 - 14:46h


Acho que isso aki --->>> @@

...Tenho dentro da REDE-2 uma máquina com windows2000server com SQL também...e acesso ela tanto via terminal service como via vnc.
Instalei o VNC nesta máquina win2000server IP 192.168.5.20 e deixei startado.. vou no gateway Linux e passo o seguinte comando no firewall:
iptables -t nat - PREROUTING -s 200.100.100.100 -p tcp --dport 3389 -j DNAT --to-destination 192.168.5.20:3389...

Essa explicação q vc deu acima explicar + ou - o que qro fazer, mas num sei se eh exatamente assim ^^ tb num sei se funfa... mente fertil d+ fica pensando as coisas sem saber q existe =D

[18] Comentário enviado por __FERNANDO__ em 30/05/2005 - 15:08h

Então... dá pra fazer sim...como vc tem dois IPs validos ou mais dá sim.

Se só precisa configurar mais um IP valido para a sua placa de rede externa.

Digamos que na eth1 (interface de rece externa, ligada a internet) vc tem o ip 200.100.50.50 e na mesma interface eth1 vc também tem o IP 200.100.25.25 e com isso, voce descrimina via iptables que:
Quando o clienteX acessar via Terminal service Client o IP 200.100.50.50 ele será redirecionado para a máquina 192.168.5.1 (por exemplo) e quando ele acessar passando o IP 200.100.25.25 ele sera redirecionando para a maquina 192.168.5.2..

Você só precisa configurar mais um IP para a interface de rede externa ligada a internet...Se me lembro exatamente como se configura, mas sei que é facinho.. senão me engando basta criar um arquivo igualzinho ao ifcfg-eth1 por exemplo..mas colocando " :1 " tipo... ifcfg-eth1:1 e dentro do arquivo vc configura na parte relacionada a interface como eth1:1, estou tomando o Conectiva como exemplo... mas este esquema de :1 ... :2 ... :3 serve para qualquer uma.

Dá uma pesquisada sobre isso.. espero ter ajudado.

[]'s

[19] Comentário enviado por LostGirl em 30/05/2005 - 16:14h


ú.ú

ui! Lost ficou confusa =D

valeu pelas dicas... vou pesquisar... fiquei confusa, mas vou pesquisar... hahuaihiuhiaiuhaiuhauhaaui

[20] Comentário enviado por __FERNANDO__ em 30/05/2005 - 16:28h

Beleza... boa sorte ai viu, doidinha..hehehhe....brincadeirinha hein... mas é que vc parece ser, meio lokinha...kkkk..

Té + ai,

Fernando.

[21] Comentário enviado por LostGirl em 06/06/2005 - 16:54h

Engraçadinho! ^^

Fernando,

Eu consegui... tipow q essas regras que vc falou ae... alterei o linuxconf (uso conectiva também)... no adaptador de rede

Depois fui no iptable e criei as regras... dae agora ta funfando pra 4 servers diferentes na rede privada xD

bjux!

[22] Comentário enviado por __FERNANDO__ em 06/06/2005 - 17:03h

OH...blz... beijão....fui.

[23] Comentário enviado por joelsnunes em 30/09/2005 - 16:48h

olá!! Meu nome é joelsnunes, quem poder me ajudar, agradeço muito :) espero poder ajudar tb qdo ao meu alcance. É referente iptables:
Estou com um probleminha... Sou usuário do RedHat como servidor de internet, meu ip é ip fixo no speed, tenho duas placas nessa rede, uma para internet, outra para rede interna. Não foi eu que fiz as regras do iptables, não manjo nada de iptables. Eu precisava: liberar acesso ao ssh (porta 22 ) para rede externa, pois na rede interna eu consigo acessar, mas, por exemplo, da onde eu estiver, se eu digitar ssh root@200.x.x.x.x ... não entra na minha rede. Gostaria de ter a possibilidade de acessar o meu servidor da onde eu estiver, tipo, se eu estiver lá no japão, conseguirei acessar via ssh e tb via vnc. Na minha rede possuo windows xp. Gostaria de saber se é possível eu ter como escolher se quero acessar o vnc do servidor redhat e tb da máquina estação q está na rede q é windows xp... Segue abaixo meu iptables, desde já agradeço a colaboração ;) =\=\= resumindo: Preciso acessar ssh de qualquer lugar e acessar vnc de qualquer lugar, tb fora da minha rede interna. E se possível acessar outra máquina na rede, depois de ter entrado na máquina linux, servidor redhat.

iptables:

# Generated by iptables-save v1.2.7a on Fri Nov 26 18:33:43 2004
*mangle
:PREROUTING ACCEPT [29092:4890270]
:INPUT ACCEPT [29085:4889235]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [36826:21096890]
:POSTROUTING ACCEPT [36834:21098359]
COMMIT
# Completed on Fri Nov 26 18:33:43 2004
# Generated by iptables-save v1.2.7a on Fri Nov 26 18:33:43 2004
*filter
:INPUT DROP [120:6124]
:FORWARD DROP [0:0]
:OUTPUT DROP [1:40]
:allowed - [0:0]
:bad_tcp_packets - [0:0]
:icmp_packets - [0:0]
:tcp_packets - [0:0]
:udp_packets - [0:0]
-A INPUT -p tcp -j bad_tcp_packets
-A INPUT -s 192.168.0.0/255.255.255.0 -i eth0 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --sport 68 --dport 67 -j ACCEPT
-A INPUT -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -p tcp -j tcp_packets
-A INPUT -i eth1 -p udp -j udp_packets
-A INPUT -i eth1 -p icmp -j icmp_packets
-A INPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT INPUT packet died: " --log-level 7
-A FORWARD -p tcp -j bad_tcp_packets
-A FORWARD -i eth0 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT FORWARD packet died: " --log-level 7
-A OUTPUT -p tcp -j bad_tcp_packets
-A OUTPUT -s 127.0.0.1 -j ACCEPT
-A OUTPUT -s 192.168.0.1 -j ACCEPT
-A OUTPUT -o eth1 -j ACCEPT
-A OUTPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT OUTPUT packet died: " --log-level 7
-A allowed -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j ACCEPT
-A allowed -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A allowed -p tcp -j DROP
-A bad_tcp_packets -p tcp -m state --state NEW -m tcp --tcp-flags SYN,ACK SYN,ACK -j REJECT --reject-with tcp-reset
-A bad_tcp_packets -p tcp -m state --state NEW -m tcp ! --tcp-flags SYN,RST,ACK SYN -j LOG --log-prefix "New not syn:"
-A bad_tcp_packets -p tcp -m state --state NEW -m tcp ! --tcp-flags SYN,RST,ACK SYN -j DROP
-A icmp_packets -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A icmp_packets -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A tcp_packets -p tcp -m tcp --dport 22 -j allowed
-A tcp_packets -p tcp -m tcp --dport 22 -j allowed
-A udp_packets -p udp -m udp --sport 53 -j ACCEPT
-A udp_packets -p udp -m udp --sport 2074 -j ACCEPT
-A udp_packets -p udp -m udp --sport 4000 -j ACCEPT
-A udp_packets -i eth1 -p udp -m udp --dport 135:139 -j DROP
-A udp_packets -d 255.255.255.255 -i eth1 -p udp -m udp --dport 67:68 -j DROP
COMMIT
# Completed on Fri Nov 26 18:33:43 2004
# Generated by iptables-save v1.2.7a on Fri Nov 26 18:33:43 2004
*nat
:PREROUTING ACCEPT [18743:1381290]
:POSTROUTING ACCEPT [16014:988928]
:OUTPUT ACCEPT [32470:1996531]
-A POSTROUTING -o eth1 -j MASQUERADE
-A POSTROUTING -o eth1 -j MASQUERADE
COMMIT
# Completed on Fri Nov 26 18:33:43 2004

[24] Comentário enviado por alimasilva em 20/11/2005 - 11:55h

Fiz a partir da literatura da web o script abaixo para firewall ( slack 10 ) mas não funciona ( não consigo acessar a internet nem acessar externamento o terminal service e vnc ), e na literatura não mostra como fazer debug , vc poderia me ajudar ?
Não consegui ver o que fiz de errado ? como não consegui acessar a internet não consegui saber se email,msn funcionam e para saber se o terminal service e vnc funcionam , liguei a placa com endereço web atraves de um cabo cross a outra maquina com um ip valido na rede , o firewal respode ao ping e se dou ping na rede interna tb responde mas se tento acessar pelo ip fixo um serviço do terminal service ou vnc nao funciona.

#!/bin/sh
#
#
# Variaveis de Ambiente onde :
#
# ETH_WEB = eth com ip fixo da internet;
# ETH_INT = eth da rede interna;
# IP_WEB = IP visivel a Internet
# IP_INT = IP do firewal na rede Interna, Gateway da Rede
# REDE_LOCAL = Faixa de IP da Rede Interna e Mascara
#

ETH_WEB="eth0"
ETH_INT="eth1"
IP_WEB="200.152.123.93"
IP_INT="192.168.0.250"
REDE_LOCAL="192.168.0.0/255.255.255.0"

# Limpando as tabelas

iptables -F
iptables -X
iptables -t nat -F
iptabels -t nat -X

# Politica de Acesso

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

# redirecionamento de pacotes, coloquei mas no slck o rc.ip_forward eh 755
echo "1" >/proc/sys/net/ipv4/ip_forward

# liberando o loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state -state ESTABLISHED,RELATED -j ACCEPT

# liberando o que vier da rede local
iptables -A INPUT -s $REDE_LOCAL -i $ETH_INT -j ACCEPT

# Liberacao de PING (ICMP) na Interface Externa com certa limitacao
iptables -A INPUT -i $ETH_WEB -p icmp -m limit --limit 2/s -j ACCEPT


# Liberacao de Portas de Servico com destino a porta web e endereço web

iptables -A INPUT -i $ETH_WEB -s $IP_WEB -p tcp --dport 21 -j ACCEPT #liberando ftp
iptables -A INPUT -i $ETH_WEB -s $IP_WEB -p tcp --dport 22 -j ACCEPT #liberando ssh
iptables -A INPUT -i $ETH_WEB -s $IP_WEB -p tcp --dport 23 -j ACCEPT #liberando telnet
iptables -A INPUT -i $ETH_WEB -s $IP_WEB -p tcp --dport 3389 -j ACCEPT #liberando terminal service
iptables -A INPUT -i $ETH_WEB -s $IP_WEB -p tcp --dport 5900 -j ACCEPT #liberando vnc


# Qualquer outro tipo de trafego aceito, creio ser necessario para a rede interna
iptables -A INPUT -i $ETH_WEB -j ACCEPT

# Redirecionando da porta 80 para o squid , fazendo proxy transparente
iptables -t nat -A PREROUTING -p tcp -i $ETH_INT --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -p udp -i $ETH_INT --dport 80 -j REDIRECT --to-port 3128

# redirecionamento de portas para um host interno
iptables -t nat -A PREROUTING -p tcp -i $ETH_WEB --dport 3389 -j DNAT --to 192.168.0.200:3398
iptables -t nat -A PREROUTING -p tcp -i $ETH_WEB --dport 5900 -j DNAT --to 192.168.0.1:5900

# fazendo o ip masquerade
iptables -t nat -A POSTROUTING -o $ETH_WEB -j MASQUERADE

[25] Comentário enviado por alimasilva em 20/11/2005 - 12:07h

corrigindo

#!/bin/sh
#
#
# Variaveis de Ambiente onde :
#
# ETH_WEB = eth com ip fixo da internet;
# ETH_INT = eth da rede interna;
# IP_WEB = IP visivel a Internet
# IP_INT = IP do firewal na rede Interna, Gateway da Rede
# REDE_LOCAL = Faixa de IP da Rede Interna e Mascara
#

ETH_WEB="eth0"
ETH_INT="eth1"
IP_WEB="200.152.123.93"
IP_INT="192.168.0.250"
REDE_LOCAL="192.168.0.0/255.255.255.0"

# Limpando as tabelas

iptables -F
iptables -X
iptables -t nat -F
iptabels -t nat -X

# Politica de Acesso

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

# redirecionamento de pacotes, coloquei mas no slck o rc.ip_forward eh 755
echo "1" >/proc/sys/net/ipv4/ip_forward

# liberando o loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state -state ESTABLISHED,RELATED -j ACCEPT

# liberando o que vier da rede local
iptables -A INPUT -s $REDE_LOCAL -i $ETH_INT -j ACCEPT

# Liberacao de PING (ICMP) na Interface Externa com certa limitacao
iptables -A INPUT -i $ETH_WEB -p icmp -m limit --limit 2/s -j ACCEPT


# Liberacao de Portas de Servico com destino a porta web vindo da endereço web

iptables -A INPUT -i $ETH_WEB -s 0/0 -p tcp --dport 21 -j ACCEPT #liberando ftp
iptables -A INPUT -i $ETH_WEB -s 0/0 -p tcp --dport 22 -j ACCEPT #liberando ssh
iptables -A INPUT -i $ETH_WEB -s 0/0 -p tcp --dport 23 -j ACCEPT #liberando telnet
iptables -A INPUT -i $ETH_WEB -s 0/0 -p tcp --dport 3389 -j ACCEPT #liberando terminal service
iptables -A INPUT -i $ETH_WEB -s 0/0 -p tcp --dport 5900 -j ACCEPT #liberando vnc


# Qualquer outro tipo de trafego aceito, creio ser necessario para a rede interna
iptables -A INPUT -i $ETH_WEB -j ACCEPT

# Redirecionando da porta 80 para o squid , fazendo proxy transparente
iptables -t nat -A PREROUTING -p tcp -i $ETH_INT --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -p udp -i $ETH_INT --dport 80 -j REDIRECT --to-port 3128

# redirecionamento de portas para um host interno
iptables -t nat -A PREROUTING -p tcp -i $ETH_WEB --dport 3389 -j DNAT --to 192.168.0.200:3398
iptables -t nat -A PREROUTING -p tcp -i $ETH_WEB --dport 5900 -j DNAT --to 192.168.0.1:5900

# fazendo o ip masquerade
iptables -t nat -A POSTROUTING -o $ETH_WEB -j MASQUERADE

[26] Comentário enviado por guilhermebjr em 18/01/2006 - 09:06h

Muito bom o tuto colega, só me diga, a eth1 é a interface de entrada de link ou de saída para a rede interna ?
Abraço

[27] Comentário enviado por __FERNANDO__ em 18/01/2006 - 10:17h

eth1 é a interface de rede conectada ao modem (IP válido) ex: 200.204.0.10... eth0 = interface de rede para a rede interna... ex: 192.168.0.1.

[28] Comentário enviado por wederson em 12/03/2007 - 21:54h

Novato no Linux!

Tenho uma máquina linux (suse 10.1) instalada na minha rede windows 2003 server, consigo pingar as máquinas da rede pelo linux, faço acesso via RDP por esta máquina; minha rede windows encherga a máquina linux, porêm não estou conseguindo acessar a máquina linux de uma máquina windows via Terminal server. Como posso fazer para conseguir acessar esta máquina via terminal server de dentro de minha rede?

[29] Comentário enviado por SCHAF em 29/03/2007 - 19:06h

Olá, pessoal !
Acho que esta dica é importante !
Depois de "quebrar a cabeça", descobri que o DNAT com portas parece só funcionar se houver uma regra de SNAT ou MASQUERADE na saída do firewall. Por exemplo (assumindo que o ip do firewall é 192.168.1.1):
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3389 -j DNAT --to 192.168.1.3
Essa regra irá redirecionar todas as requisições ao Terminal Services para a máquina 192.168.1.3.
Para funcionar tive que acrescentar:
iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 3389 -j SNAT --to 192.168.1.1
Desta forma funcionou.
Por enquanto é só e boa sorte a todos!

[30] Comentário enviado por suportemega em 05/10/2007 - 17:04h

Fernando...tenho uma dúvida.
Tenho um servidor linux Ubuntu eth0(rede interna) eth1 internet, tenho configurado ssh, ddclient,squid e firewallfuncionando.
tenho uma máquina win2000 Server com terminal Service instalado. De uma máquina qualquer internamente acesso o terminal service perfeitamente (pelo IP interno ou nome do serviço ddclient), mas externa mente não consigo acessar. já uitilizei os seguintes comando adicionais ao meu firewall:
a) iptables -A INPUT -i eth1 -s 0/0 -p tcp --dport 3389 -j ACCEPT
b) iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 3389 -j DNAT --to 192.168.254.5:3389 e mesmo assim não consigo cenectar!
O que mais está faltando, você pode me ajudar?


[31] Comentário enviado por __FERNANDO__ em 05/10/2007 - 17:12h

?comentario=?comentario=
Boa tarde Amigo.
O comando está correndo, porem o que pode estar acontecendo é você ter alguma regra acima bloqueando.

Quando está externamente você passa o IP externo para se conectar, certo ?

tente colocar o -I para ver se funciona.. talvez a regra fique no inicio.

# iptables -t nat -I PREROUNTING -s 0/0 -p tcp -i eth1 --dport 3389 -j DNAT --to-destination 192.168.254.5:3389

Até mais!

[32] Comentário enviado por srf em 07/01/2008 - 22:34h

Olá

Tenho a seguinte regra:

iptables -t nat -A PREROUTING -d 201.60.10.26 -p tcp --dport 8080 -j DNAT --to 192.168.0.252:80

Esta regras faz toda requisição que chega de fora do firewall na pota 8080 ser direcionada para o webserver 192.168.0.252 na porta 80

Esta funcionando 100% o povo de fora acessa http://201.60.10.26:8080/ Blz...

O que preciso é que fazer os usuários de dentro da rede interna acessarem o mesmo link...

Isso é possivel?

[33] Comentário enviado por Thiagoaf em 12/01/2008 - 04:08h

Fernando, sou novato no linux. Pode me ajudar???

Tenho uma conexao ssh e tcp a um servidor porem preciso dizer ao Ts que somente o um ip x.x.x.x tera acesso pela porta ttys7 como faço??Ou bloquear no ts um certo ip que sempre esta acessando o meu servidor por esta porta.

Obrigado.

[34] Comentário enviado por joserubenildo em 30/01/2008 - 08:36h

ola fernando.
estou com um problema aqui na empresa para redirecionar portas.
minha estrutura eh a seguinte.
conectiva 9 rodando samba, firewall e squid usando um modem speedstrean 4200 e tenho um 2000 server sevindo como PDC da rede. O sistema administrativo da empresa esta rodando no samba pois eh em clipper.
Meu problema é que querem acessar de fora da empresa o sistema via terminal server. Vou instalar o xpunlimited.
minhas perguntas:
1-Onde coloca as regras do iptables para fazer isso?
2 - Onde encontro os arquivos de configuracao do linux.

eu fico perdido no linux. Nao fui eu quem instalou esse conectiva. e nao domino muito o linux.

se puder me ajudar


sem mais

jose rubenildo da silva
msn rubenil@hotmail.com
skype joserubenildosilva


[35] Comentário enviado por dns_spsv em 24/04/2008 - 11:50h

iptables -t nat -A PREROUTING -s 0/0 -m tcp -p tcp -i eth1 --dport 3389 -j DNAT --to-destination 192.168.0.15

pergunta eth1 e a placa de rede local ou da net?
Sou iniciante e estou apanhando desse poderoso firewall.
Sem mas OBRIGADO.

[36] Comentário enviado por __fernando__ em 24/04/2008 - 13:14h

?comentario=
eth1 da net (internet).

[37] Comentário enviado por julioalbino em 25/02/2016 - 21:46h

boa noite

iptables -t nat -A PREROUTING -s 200.200.50.46 -m tcp -p tcp -i eth1 --dport 3389 -j DNAT --to-destination 192.168.0.15

iptables -t nat -A PREROUTING -s 0/0 -m tcp -p tcp -i eth1 --dport 3389 -j DNAT --to-destination 192.168.0.15

Qual a diferença desse dois códigos

No aguardo



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts