Liberar porta 3389 para acessar uma rede externa

1. Liberar porta 3389 para acessar uma rede externa

ALEXANDRE CONCEICAO
fogobranco

(usa Debian)

Enviado em 25/01/2012 - 13:17h

Boa tarde pessoal.

Estou com o seguinte problema:

Estou em uma rede que utiliza um link velox (modem roteado).
Tenho um servidor com o Mandriva 2011 que compartilha a internet rodando o squid.
Não tenho nenhum script de iptables.
As estações necessitam acessar um servidor externo via Terminal Server. Porém não conseguem devido ao proxy (segundo o que me informaram). Já li vários artigos de como liberar essa porta via iptables, mas nenhuma funciona comigo. Talvez pela inexperiência. Alguém pode me dar uma ajuda?

Informações da rede:

duas interfaces:
eth0 -> rede interna
eth1 -> wan

Range da rede interna: 192.168.254.0/24


  


2. Re: Liberar porta 3389 para acessar uma rede externa

Phillip Vieira
phrich

(usa Slackware)

Enviado em 25/01/2012 - 14:52h

Não tem a ver com o proxy, mas o que vc pode fazer é habilitar o DMZ do roteador para o seu firewall, ai vc controla tudo por ele.

Para vc realizar o acesso a porta 3389 a partir da sua rede interna, teste o seguinte comando:

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

iptables -A FORWARD -p tcp --dport 3389 -j ACCEPT

Lembrando que quando vc reiniciar o host, ele perderá estas regras, então coloque-as em um script ok?


3. Re: Liberar porta 3389 para acessar uma rede externa

ALEXANDRE CONCEICAO
fogobranco

(usa Debian)

Enviado em 30/01/2012 - 12:55h

Olá amigo phrich.

peço desculpas pela demora em responder.
a sua dica infelizmente não deu certo. a estações ainda continuam sem acessar o terminal server.
será que existe alguma outra manobra para resolvermos esse problema?


4. Re: Liberar porta 3389 para acessar uma rede externa

Phillip Vieira
phrich

(usa Slackware)

Enviado em 30/01/2012 - 13:12h

Vamos lá, seu acesso estará assim?

REDE_INTERNA (CLIENTE_RDP) > INTERNET > SERVIDOR RDP (DESTINO_FINAL)


Se for isso os comandos passados anteriormente funcionariam na boa, caso seja ao contrário, precisariamos criar uma regra de nat.


5. Re: Liberar porta 3389 para acessar uma rede externa

ALEXANDRE CONCEICAO
fogobranco

(usa Debian)

Enviado em 30/01/2012 - 13:17h

bom, vou colocar do meu jeito, espero q entenda:

estação -> servidor (Mandriva Proxy Squid) -> Internet -> Servidor RDP

a estação não acha o servidor RDP. em uma outra rede sem o proxy, as estações encontram o mesmo servidor RDP.


6. Re: Liberar porta 3389 para acessar uma rede externa

Phillip Vieira
phrich

(usa Slackware)

Enviado em 30/01/2012 - 13:31h

Poste aqui como está seu script do iptables, ai podemos entender melhor...


7. Re: Liberar porta 3389 para acessar uma rede externa

ALEXANDRE CONCEICAO
fogobranco

(usa Debian)

Enviado em 30/01/2012 - 13:36h

amigo phrich,

como eu disse no inicio do tópico, não possuo nenhum script de iptables.
sei q se eu digitar direto no konsole as regras que vc me passou, elas se perderão caso o servidor seja desligado.
kero fazer um teste primeiro, caso funcione, aí sim eu crio o script. então a principio, só tenho as regras que vc me enviou.


8. Re: Liberar porta 3389 para acessar uma rede externa

Phillip Vieira
phrich

(usa Slackware)

Enviado em 30/01/2012 - 13:41h

Tente nesse artigo, aqui eu dou exemplo de um script de firewall simples, talvez lhe ajude:

http://www.vivaolinux.com.br/artigo/Iptables-Seguranca-total-para-sua-rede

Vc talvez precise carregar alguns módulos do iptables tbém:

/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe nf_conntrack_ipv4
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_MASQUERADE
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe nf_nat
/sbin/modprobe nf_conntrack
/sbin/modprobe x_tables

Coloque dentro do script ok?


9. Re: Liberar porta 3389 para acessar uma rede externa

ALEXANDRE CONCEICAO
fogobranco

(usa Debian)

Enviado em 30/01/2012 - 13:46h

vou fazer uns teste aki e depois eu posto o resultado...
e muito obrigado pela paciencia e pela ajuda.


10. Re: Liberar porta 3389 para acessar uma rede externa

ALEXANDRE CONCEICAO
fogobranco

(usa Debian)

Enviado em 30/01/2012 - 20:34h

Boa noite companheiro phrich.

fiz o script conforme o tutorial que vc me indicou. coloquei os comando para carregar os modulos confome me orientou, não sei se fiz certo, mas coloquei no início do script.

Mas aparece as seguinte mensagens:

iptables v1.4.12: unknow protcol "input" especified
Try 'iptables -h' or 'iptables --help' for more infomation

iptables v1.4.12: unknow protcol "output" especified
Try 'iptables -h' or 'iptables --help' for more infomation

iptables v1.4.12: unknow protcol "forward" especified
Try 'iptables -h' or 'iptables --help' for more infomation

iptables v1.4.12: REDIRECT: Bad values for "--to-ports" option: "192.168.254.1:3389"
Try 'iptables -h' or 'iptables --help' for more infomation

O redirecionamento da porta 3389, eu apontei para o ip dele mesmo.
espero estar ajudando a vc a me ajudar com essas informações.



11. Re: Liberar porta 3389 para acessar uma rede externa

Phillip Vieira
phrich

(usa Slackware)

Enviado em 30/01/2012 - 21:57h

fogobranco escreveu:

Boa noite companheiro phrich.

fiz o script conforme o tutorial que vc me indicou. coloquei os comando para carregar os modulos confome me orientou, não sei se fiz certo, mas coloquei no início do script.

Mas aparece as seguinte mensagens:

iptables v1.4.12: unknow protcol "input" especified
Try 'iptables -h' or 'iptables --help' for more infomation

iptables v1.4.12: unknow protcol "output" especified
Try 'iptables -h' or 'iptables --help' for more infomation

iptables v1.4.12: unknow protcol "forward" especified
Try 'iptables -h' or 'iptables --help' for more infomation

iptables v1.4.12: REDIRECT: Bad values for "--to-ports" option: "192.168.254.1:3389"
Try 'iptables -h' or 'iptables --help' for more infomation

O redirecionamento da porta 3389, eu apontei para o ip dele mesmo.
espero estar ajudando a vc a me ajudar com essas informações.


Poste aqui como ficou seu script ;-)


12. Re: Liberar porta 3389 para acessar uma rede externa

ALEXANDRE CONCEICAO
fogobranco

(usa Debian)

Enviado em 31/01/2012 - 13:33h

#!/bin/bash
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe nf_conntrack_ipv4
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_MASQUERADE
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe nf_nat
/sbin/modprobe nf_conntrack
/sbin/modprobe x_tables
# A linha acima é conhecida como shebang e serve para chamar o interpretador do script
# poderia-se trocar o bash pelo sh ou outro shell de sua preferência

########################################################
# exemplo de script de firewall
# Data de Criação: 30/01/2012
########################################################


# Declarando as Variáveis #

# Interface Wan
IFACE_WEB="eth1"

# Interface Lan
IFACE_REDE="eth0"

# Ip da Rede Interna
REDE_INTERNA="192.168.254.0/24"

# Portas Liberadas TCP
PORTAS_TCP="20,21,53,80,443"

# Portas Liberadas UDP
PORTAS_UDP="53"

# Portas Liberadas para a Rede Interna
PORTAS_REDE_INTERNA="25,110"

########################################################
# FUNÇÃO START
# Esta função limpa as regras criadas anteriormente, e insere as regras listadas na função
########################################################

function start () {

# LIMPA as REGRAS EXISTENTE

# Limpa as regras da tabela filter
iptables -F

# Limpa as regras da tabela nat
iptables -t nat -F

# Define as politicas padrões do IPTABLES como DROP
iptables -p INPUT DROP
iptables -p OUTPUT DROP
iptables -p FORWARD DROP

# Habilita o roteamento no KERNEL
echo 1 > /proc/sys/net/ipv4/ip_forward

# Cria a ida e volta do acesso nas chains INPUT, OUTPUT e FORWARD, assim não precisamos criar a ida e volta nas regras
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

# Regras de NAT
# Compartilha a INTERNET
iptables -t nat -A POSTROUTING -s $REDE_INTERNA -o $IFACE_WEB -j MASQUERADE

# Redireciona o acesso RDP para outro seervidor dentro da REDE INTERNA
iptables -t nat -A PREROUTING -p tcp --dport 3389 -j REDIRECT --to 192.168.254.1:3389

# Regras de INPUT

# Libera o acesso SSH de qualquer origem
iptables -A INPUT -p tcp --dport 60022 -j ACCEPT

# Libera o squid a partir da REDE INTERNA
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT

# Aceita ping apenas da REDE INTERNA
iptables -A INPUT -s $REDE_INTERNA -p icmp --icmp-type 8 -j ACCEPT

# Regras de OUTPUT

# Libera as portas constantes em na variável $PORTAS_REDE_INTERNA (para liberar mais portas, basta inserir as mesmas na variável citada)
iptables -A OUTPUT -p tcp -m multiport --dports $PORTAS_TCP -j ACCEPT

# Liberar ping para qualquer lugar
iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT

# Regras FORWARD

#Libera as portas constantes em na variável $PORTAS_REDE_INTERNA (para liberas mais portas, basta inserir as mesma na variável citada)
iptables -A FORWARD -p tcp -m multiport --dports $PORTAS_REDE_INTERNA -j ACCEPT

# Libera RDP citado na regra de NAT
iptables -A FORWARD -p tcp --dport 3389 -d 192.168.254.1 -j ACCEPT

# FINAL DA FUNÇÃO START
}


##########################################################
# FUNÇÃO STOP
# Esta função limpa todas as regras, deixa as políticas padrões com ACCEPT e deixa todo e qualquer acesso liberaso
##########################################################

function stop () {

# Limpa as regras existentes
iptables -F
iptables -t nat -F

# Define as politicas padrões do IPTABLES como ACCEPT
iptables -p INPUT ACCEPT
iptables -p OUTPUT ACCEPT
iptables -p FORWARD ACEEPT

# Habilita o roteamento no KERNEL
echo 1 > /proc/sys/net/ipv4/ip_forward

# Compartilha a internet
iptables -t nat -A POSTROUTING -s $REDE_INTERNA -o $IFACE_WEB -j MASQUERADE

# Caso queira manter as regras de NAT favor copiar as regras de nat
# e as correspondentes as mesma de FORWARD aqui

# FINAL DA FUNÇÃO STOP
}

# Criando os parametros para o script, esses parametros serão start, stop e restart

# Qualquer parametro que não seja start, stop ou restart não será válido e nada será alterado

case $1 in

start)
start
;;

stop)
stop
;;



restart)
stop
start
;;

*)
echo "Insira um parâmetro para /etc/init.d/firewall... start | stop | restart"
exit 0
;;

esac
# FIM do SRIPT DE FIREWALL




01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts