Redirecionamento VNC : Onde eu errei no script? [RESOLVIDO]

1. Redirecionamento VNC : Onde eu errei no script? [RESOLVIDO]

Rubens Jose Rodrigues
rjorodrigues

(usa Ubuntu)

Enviado em 30/11/2010 - 16:02h

Olá pessoal,

Tenho a necessidade de abrir a conexão "maquina externa" ---> "servidor linux" ---> "maquina interna" via vnc.

Pela rede interna eu consigo tranqüilamente acessar a estação de trabalho, porém quando eu tento de uma máquina via WAN acessar, eu não consigo. Acredito que a regra que eu criei não está funcionando.

Segue abaixo meu script, gostaria de uma ajuda de vocês.


#!/bin/bash
#
# Shell Script - Firewall
# =======================
# Autor:- CESAR AUGUSTUS SILVA
# Email:- cesaraugustussilva@linuxmail.org
#

# IP da Rede
NETWORK=10.4.0.0/16

# Interface da Rede Local - LAN
ILAN=eth0

# Interface da Rede Externa - Internet
INET=eth1

# Iptables
IPT=/sbin/iptables

# CAT - Caixa Economica
CAT="cafe.dataprev.gov.br"

/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe iptable_mangle
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_REDIRECT
/sbin/modprobe ipt_MASQUERADE

INTERNET () {
# Mascaramento
$IPT -t nat -A POSTROUTING -o $INET -s $NETWORK -j MASQUERADE

# Ativando o redirecionamento de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward
}

LIMPAR () {
# Removendo regras
$IPT -F
$IPT -t nat -F
$IPT -t mangle -F

# Apagando chains
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

# Zerando contadores
$IPT -Z
$IPT -t nat -Z
$IPT -t mangle -Z
}

PARAR () {
# Limpando regras
LIMPAR

# Politica Padrao
$IPT -P INPUT ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT

# Compartilhando a Internet
INTERNET
}

INICIAR () {
# Limpando regras
LIMPAR

# Politica Padrao
$IPT -P INPUT DROP
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD DROP

# Compartilhando a Internet
INTERNET

########################## ATRIBUINDO SEGURANCA ##########################

# Protecao para SYN Flood
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

# Rejeitar requisiCao de ICMP Echo destinado a Broadcasts e Multicasts
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Ignorar Mensagens Falsas de icmp_error_responses
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

for i in /proc/sys/net/ipv4/conf/*; do
# Nao Redirecionar Mensagens ICMP
echo 0 > $i/accept_redirects

# ProteCao a Ataques IP Spoofing
echo 0 > $i/accept_source_route

# Permitir que Pacotes Forjados sejam logados pelo proprio kernel
echo 1 > $i/log_martians

# Verificar EndereCo de Origem do Pacote (ProteCao a Ataques IP Spoofing)
echo 1 > $i/rp_filter
done

# Protecao Scanners Ocultos
$IPT -A INPUT -p tcp --tcp-flags SYN, ACK -m limit --limit 1/s -j ACCEPT
$IPT -A INPUT -p tcp --tcp-flags SYN, ACK -j DROP

#################### ADICIONANDO REGRAS P/ SERVIDORES ####################


# Apache - Servidor Web
$IPT -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT

# Apache TomCat - Servidor Web
#$IPT -A INPUT -p tcp --dport 8080 -j ACCEPT

# Bind9 - Servidor DNS
$IPT -A INPUT -p udp --dport 53 -j ACCEPT
$IPT -A INPUT -p tcp --dport 53 -j ACCEPT

# DanGuardian - Servidor Proxy
#$IPT -A INPUT -i $ILAN -p tcp --dport 8080 -j ACCEPT

# DHCP - Servidor DHCP
#$IPT -A INPUT -i $ILAN -p udp --sport 68 --dport 67 -j ACCEPT

# IPP - Protocolo de Impressao na Internet
#$IPT -A INPUT -i $ILAN -p tcp --dport 631 -j ACCEPT
#$IPT -A INPUT -i $ILAN -p udp -m multiport --dports 138,631 -j ACCEPT

# NFS - Servidor NFS
#$IPT -A INPUT -p tcp -m multiport --dports 111,2049,51049 -j ACCEPT
#$IPT -A INPUT -p udp -m multiport --dports 111,49176 -j ACCEPT

# ProFTP - Servidor FTP
$IPT -A INPUT -i $ILAN -p tcp --dport 1975 -j ACCEPT
$IPT -A INPUT -i $ILAN -p tcp -m multiport --dports 49152:49162 -j ACCEPT

# Postfix - Servidor de E-mail
$IPT -A INPUT -i $ILAN -p tcp -m multiport --dports 25,110 -j ACCEPT
$IPT -A INPUT -i $ILAN -p tcp -m multiport --dports 465,995 -j ACCEPT

# PostgreSQL - Servidor Postgresql
#$IPT -A INPUT -i $ILAN -p tcp --dport 5432 -j ACCEPT

# Samba - ServiCos de Diretorio da Microsoft
#$IPT -A INPUT -i $ILAN -p tcp --dport 445 -j ACCEPT

# Squid - Servidor Proxy
# Redirecionando tudo para o squid
$IPT -t nat -A PREROUTING -i $ILAN -p tcp --dport 80 -j REDIRECT --to-port 3128
$IPT -A INPUT -i $ILAN -p tcp --dport 3128 -j ACCEPT


# SSH - Servidor SSH
$IPT -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 300 --hitcount 3 -j DROP
$IPT -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
$IPT -A INPUT -p tcp --dport 22 -j ACCEPT

# Webmin - Gerenciador Web de Servidor
#$IPT -A INPUT -i $ILAN -p tcp --dport 10000 -j ACCEPT

##################### ADICIONANDO REGRAS P/ SERVICOS #####################

# DNS - ServiCo de Nomes de Dominios
$IPT -A FORWARD -o $INET -p tcp -m multiport --dports 53,5353 -j ACCEPT
$IPT -A FORWARD -o $INET -p udp -m multiport --dports 53,5353 -j ACCEPT
$IPT -A INPUT -p tcp -m multiport --sports 53,5353 -j ACCEPT
$IPT -A INPUT -p udp -m multiport --sports 53,5353 -j ACCEPT
$IPT -A FORWARD -p tcp -m multiport --sports 53,5353 -j ACCEPT
$IPT -A FORWARD -p udp -m multiport --sports 53,5353 -j ACCEPT
$IPT -A FORWARD -p tcp -m multiport --dports 53,5353 -j ACCEPT
$IPT -A FORWARD -p udp -m multiport --dports 53,5353 -j ACCEPT

# Conectividade social da caixa economica
# Somente para a maquina da laize
$IPT -I FORWARD -s 10.4.1.66/16 -p tcp -d $CAT --dport 5017 -j ACCEPT
$IPT -I FORWARD -s $CAT -p tcp -d 10.4.1.66/16 --dport 5017 -j ACCEPT

# Regra padrao para redirecionamento de porta : Externa --> Interna
# Regra onde : Tudo que vier da internet na porta 5800:5900 o servidor deve redirecionar para a minha rede interna na máquina 10.4.1.62:5800/5900
$IPT -A PREROUTING -t nat -p tcp --dport 5800 -d 189.84.222.11 -j DNAT --to 10.4.1.62
$IPT -A POSTROUTING -t nat -p tcp --dport 5800 -d 10.4.1.62 -j MASQUERADE
$IPT -A PREROUTING -t nat -p tcp --dport 5900 -d 189.84.222.11 -j DNAT --to 10.4.1.62
$IPT -A POSTROUTING -t nat -p tcp --dport 5900 -d 10.4.1.62 -j MASQUERADE


# FTP - Protocolo de Transferencia de Arquivo
$IPT -A FORWARD -o $INET -p tcp --dport 1975 -j ACCEPT

# HTTP - Protocolo de Transferência de Hypertext
$IPT -A FORWARD -o $INET -p tcp -m multiport --dports 80,8080 -j ACCEPT

# HTTPS - Protocolo de Transferência de Hypertext Seguro
$IPT -A FORWARD -o $INET -p tcp --dport 443 -j ACCEPT

# MSNMS - ServiCo de Mensageiro de Rede da Microsoft
#$IPT -A FORWARD -o $INET -p tcp -m multiport --dports 1863,7001 -j ACCEPT
#$IPT -A FORWARD -o $INET -p udp --dport 7001 -j ACCEPT

# NETBIOS-SSN - ServiCo de Sessao NetBIOS
#$IPT -A INPUT -i $ILAN -p udp -m multiport --dports 137,138 -j ACCEPT
#$IPT -A INPUT -i $ILAN -p tcp --dport 139 -j ACCEPT

# NTP - Protocolo para sincronizaCao dos relogios
$IPT -A FORWARD -o $INET -p udp --dport 123 -j ACCEPT

# Ping
#$IPT -A INPUT -i $ILAN -p icmp --icmp-type 8 -j ACCEPT
#$IPT -A FORWARD -o $INET -p icmp --icmp-type 8 -j ACCEPT

# POP3 - Protocolo de Correio
#$IPT -t filter -A INPUT -j ACCEPT -s 0/0 -p tcp --dport 25
$IPT -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d 189.84.222.11 --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT
$IPT -A OUTPUT -p tcp -s 189.84.222.11 --sport 110 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
#$IPT -t filter -A INPUT -j ACCEPT -s 0/0 -p tcp --dport 110
$IPT -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d 189.84.222.11 --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
$IPT -A OUTPUT -p tcp -s 189.84.222.11 --sport 25 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

# IMAP
$IPT -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d 189.84.222.11 --dport 143 -m state --state NEW,ESTABLISHED -j ACCEPT
$IPT -A OUTPUT -p tcp -s 189.84.222.11 --sport 143 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

# POP3S - Protocolo de Correio Seguro
#$IPT -A FORWARD -o $INET -p tcp --dport 995 -j ACCEPT

# SSDP - Protocolo para Descoberta de ServiCos Simples
#$IPT -A INPUT -i $ILAN -p udp --dport 1900 -j ACCEPT

# SSH - Shell Seguro
$IPT -A FORWARD -o $INET -p tcp --dport 22 -j ACCEPT

# SMTP - Protocolo Simples para Transferência de Correio
#$IPT -A FORWARD -o $INET -p tcp --dport 25 -j ACCEPT

# SSMTP - Protocolo Simples para Transferência de Correio Seguro
#$IPT -A FORWARD -o $INET -p tcp --dport 465 -j ACCEPT

# TELNET
#$IPT -A FORWARD -o $ILAN --dport 23 -j ACCEPT

# XMPP - Protocolo de PresenCa e Mensagens Extensiva
#$IPT -A FORWARD -o $INET -p tcp --dport 5222 -j ACCEPT

# Manter ConexOes Estabelecidas
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Liberando o Trafego na Interface loopback
$IPT -A INPUT -i lo -j ACCEPT

################################### LOG ##################################

$IPT -A INPUT -p tcp -m multiport ! --dports 0:1056 -j DROP
$IPT -A INPUT -p udp -j DROP
$IPT -A INPUT -p icmp -j DROP
$IPT -A INPUT -m limit --limit 3/m --limit-burst 3 -j LOG --log-prefix "LOG-FW: "
}

case "$1" in
start)
echo " * Starting Firewall iptables"
INICIAR
;;
stop)
echo " * Stopping Firewall iptables"
PARAR
;;
restart|reload)
echo " * Reloading Firewall iptables"
INICIAR
;;
*)
echo " * Usage: $0 {start|stop|restart|reload}"
exit 1
esac

exit 0



  


2. Re: Redirecionamento VNC : Onde eu errei no script? [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 30/11/2010 - 16:09h

Tá faltando vc liberar o FORWARD da porta 5800:

$IPT -A FORWARD -d 10.4.1.62 -p tcp --dport 5800 -j ACCEPT


3. Obrigado mas não funcionou!

Rubens Jose Rodrigues
rjorodrigues

(usa Ubuntu)

Enviado em 30/11/2010 - 16:29h

Obrigado pela resposta mas não funcionou!


4. Re: Redirecionamento VNC : Onde eu errei no script? [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 30/11/2010 - 16:34h

Então remova o -d do comando, ficando assim:

$IPT -A FORWARD -p tcp --dport 5800 -j ACCEPT


5. Assunto Resolvido!

Rubens Jose Rodrigues
rjorodrigues

(usa Ubuntu)

Enviado em 01/12/2010 - 07:27h

Resolvido!
Obrigado pela ajuda.
RUbens






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts