Duvidas como redirecionar uma conexão remota para um determinado ip

1. Duvidas como redirecionar uma conexão remota para um determinado ip

Andre chagas ramos
andre_ramos

(usa openSUSE)

Enviado em 19/07/2010 - 14:47h

karos amigos do VOL

Estou com um problema que não consigo resolver, ja pesquisei na internet e nao achei a solução, não sei se e a sequência das regras do firewall ou se e a propria regra, ja tentei varias regras e nada, nao estou conseguindo direcionar o acesso remoto para um servidor que fica atrás do meu firewall.

Exemplo : estou em uma filial e preciso acessar remotamente o meu servidor win2000 que fica na empresa e não consigo.

tenho o ip fixo

agora como fazer este direcionamento no firewall?

segue em anexo o script do firewall

#!/bin/bash

IPTABLES=/usr/sbin/iptables
NETWORK=eth1
WEB=eth0

iniciar () {

# Limpando as regras
$IPTABLES -F
$IPTABLES -Z
$IPTABLES -t nat -F
$IPTABLES -t mangle -F

# Compatilhamento da conexao
echo 1 > /proc/sys/net/ipv4/ip_forward

echo "Ativando compatilhamento!"

# Politicas de acesso geral
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP

# Manter conexoes ja estabelecidas para nao parar
$IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -m state --state INVALID -j DROP

# Bloqueia pacotes intencionamente mal-formados
$IPTABLES -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

# Evitando SYN_Flood
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

# Carregamento de Modulos
modprobe ip_nat_ftp
modprobe iptable_nat
modprobe ip_tables
modprobe ip_conntrack
modprobe ipt_MASQUERADE
modprobe ip_conntrack_ftp

# Aceita todo o trafego vindo do loopback e indo pro loopback
$IPTABLES -t filter -A INPUT -i lo -j ACCEPT

# Protecoes contra ataques #
$IPTABLES -A INPUT -m state --state INVALID -j DROP
$IPTABLES -A INPUT -i $NETWORK -s ! 192.168.0.0/24 -j DROP

# Redirecionando o trafego para a porta 3128
$IPTABLES -t nat -A PREROUTING -i $NETWORK -p tcp -d ! 200.201.174.207 --dport 80 -j REDIRECT --to-port 3128

$IPTABLES -A INPUT -i eth1 -j ACCEPT

# Compartilhamento da Internet
$IPTABLES -t nat -A POSTROUTING -o dsl0 -j MASQUERADE

############################################################### as regras que estão comentadas ja foram testadas ok
## Redirecionamento de porta 3389 para o Servidor
###$IPTABLES -t nat -A PREROUTING -p tcp -i $WEB --dport 3389 -j DNAT -to 192.168.0.202:3389
###$IPTABLES -A FORWARD -i $WEB -d 192.168.0.202 -p tcp --dport 3389 -j ACCEPT

###$IPTABLES -A FORWARD -p tcp -d 192.168.0.202 --dport 3389 -j ACCEPT

###$IPTABLES -A FORWARD -p tcp -m tcp -d 187.115.76.68 --dport 3389 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i eth0 -p tcp -m tcp --dport 3389 -j ACCEPT
$IPTABLES -A FORWARD -i eth0 -d 0/0 -p tcp -m tcp --dport 3389 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 3389 -j DNAT --to 192.168.0.202

#$IPTABLES -t nat -A PREROUTING -d 187.115.76.68/32 -p tcp --dport 3389 -j DNAT --to 192.168.0.202:3389

#$IPTABLES -t nat -A PREROUTING -p tcp -d 187.115.76.68 --dport 3389 -j DNAT --to 192.168.0.202:3389
##############################################################

# Regras para liberar o outlook
$IPTABLES -A FORWARD -p udp -s 192.168.0.0/24 -d 200.175.182.139 --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -p udp -s 200.175.182.139 --sport 53 -d 192.168.0.0/24 -j ACCEPT
$IPTABLES -A FORWARD -p udp -s 192.168.0.0/24 -d 200.175.5.139 --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -p udp -s 200.175.5.139 --sport 53 -d 192.168.0.0/24 -j ACCEPT
$IPTABLES -A FORWARD -p tcp -s 192.168.0.0/24 --dport 25 -j ACCEPT # SMTP
$IPTABLES -A FORWARD -p tcp -s 192.168.0.0/24 --dport 587 -j ACCEPT # SMTP
$IPTABLES -A FORWARD -p tcp -s 192.168.0.0/24 --dport 110 -j ACCEPT # POP3

# Regras para liberar o FTP
$IPTABLES -A INPUT -i $NETWORK -p tcp -s 192.168.0.0/24 --dport 20 -j ACCEPT # FTP
$IPTABLES -A INPUT -i $NETWORK -p tcp -s 192.168.0.0/24 --dport 21 -j ACCEPT # FTP

# INPUT # Pacotes que entram na rede
$IPTABLES -A INPUT -i $NETWORK -p tcp --dport 22 -j ACCEPT # SSH
$IPTABLES -A INPUT -i $NETWORK -p tcp --dport 80 -j ACCEPT # HTTP
$IPTABLES -A INPUT -i $NETWORK -p tcp --dport 443 -j ACCEPT # HTTPS
$IPTABLES -A INPUT -i $NETWORK -p tcp --dport 3389 -j ACCEPT # Conexão Remota

# FORWARD # Pacotes que circulam na rede
$IPTABLES -A FORWARD -i $NETWORK -p tcp --dport 22 -j ACCEPT # SSH
$IPTABLES -A FORWARD -i $NETWORK -p tcp --dport 8333 -j ACCEPT # HTTP
$IPTABLES -A FORWARD -i $NETWORK -p tcp --dport 443 -j ACCEPT # HTTPS
$IPTABLES -A FORWARD -i $NETWORK -p tcp --dport 3389 -j ACCEPT # Conexão Remota
$IPTABLES -A FORWARD -i $NETWORK -s 192.168.0.0/24 -j ACCEPT

# Mascaramento da rede para acesso externo
$IPTABLES -t nat -A POSTROUTING -o eth0 -j MASQUERADE

#--------------------------------------------------------------------------------------

echo "Firewall Ativado"
}

parar(){

echo "Regras de firewall e compartilhamento desativados"
iptables -F
iptables -t nat -F
iptables -t mangle -F
}

case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar;;
*)echo "Use os paramentros start ou stop"
esac



  


2. renato.pacheco ou cesar.augustus

irado furioso com tudo
irado

(usa XUbuntu)

Enviado em 19/07/2010 - 14:59h

são os dois colegas que saberiam responder melhor do que eu à sua questão, quem sabe mais tarde apareçam.

por enquanto sugiro olhar aqui: http://under-linux.org/blogs/magnun/[dica]-problema-comum-no-redirecionando-com-iptables-nat-snat-pa...

pode ser que dê alguma idéia.


3. andre_ramos

Perfil removido
removido

(usa Nenhuma)

Enviado em 19/07/2010 - 17:42h

eu dei uma olhada nesse seu firewall, em questão de segurança está por fora, recomendo você dar uma estudada antes.

Pra que essa regra se a política OUTPUT já é ACCEPT:
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Essa regra está liberando acesso a todas portas abertas do servidor pela internet:
$IPTABLES -A INPUT -i eth1 -j ACCEPT

#Regra repetida:
$IPTABLES -A INPUT -m state --state INVALID -j DROP

Dá uma lida no link que o irado postou ai e esses aqui:
http://www.vivaolinux.com.br/topico/Squid-Iptables/Liberar-terminal-server-para-acessar-maquina-exte...
http://www.vivaolinux.com.br/topico/Redes/Redirecionamento-para-servidores-distintos.
http://blog.cesar.augustus.nom.br/instalando-o-firewall-no-linux.html






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts