redirecionamento não funciona

Iniciado por bslima, 22 de Abril de 2008, 09:21

tópico anterior - próximo tópico

bslima

Pessoal,
sanei minha duvida passada, agora meu firewall tá funcionando legal, compartilha internet só dá acesso as portas que eu quero mas existe um problema que ainda não resolvi, o redirecionamento de porta já na internet e até mesmo aqui na lista que só preciso do comando:     $IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -i $EXTDEV -j DNAT --to 192.168.123.1:80

Já coloquei no meu script mas não consigo acessar de fora o meu servidor web ... diz que não foi possivel encontrar ...
a minha politica FOWARD tá DROP, eu preciso acrescentar mais alguma outras regra ?
Alguem sabe o que pode estar acontecendo ?
vou postar o script de firewall embaixo para devidos exclarecimentos ...
Preciso colocar isso pra funcionar amanhã.

Até mais,

e Obrigado de ate mão.

#!/bin/sh
#
# Script iptables para firewall.
# Feito para empresa Intertech - Soluções em Informática
# Autor: Bruno Seabra Nogueira Mendonça Lima - 16-04-2008
#
#
# Libera as portas do SVN (8080), VNC(5800/5900), SSH(22)
# Redireciona as portas da WEB(80) e VNC(5801/5901) para a máquina 192.168.123.1 (SERVIDOR SOL)
# Aceita conexões da rede interna
#
#
#


IPTABLES="/sbin/iptables"   ## iptables

EXTDEV="eth0"               ## placa de rede externa
INTDEV="eth1"               ## placa de rede interna
IF_LOC="lo"                 # loopback

EXTIP=`ifconfig $EXTDEV | grep "inet " | cut -f2 -d: | cut -f1 -dB` ## externo ip
INTIP=`ifconfig $INTDEV | grep "inet " | cut -f2 -d: | cut -f1 -dB` ## interno ip

NET_INT="192.168.123.0/255.255.255.0"    # Rede da interface INTDEV

case "$1" in
  start)

modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ip_queue
modprobe ip_tables
modprobe ipt_LOG
modprobe ipt_MARK
modprobe ipt_MASQUERADE
modprobe ipt_REDIRECT
modprobe ipt_REJECT
modprobe ipt_TCPMSS
modprobe ipt_TOS
modprobe ipt_limit
modprobe ipt_mac
modprobe ipt_mark
modprobe ipt_multiport
modprobe ipt_owner
modprobe ipt_state
modprobe ipt_tcpmss
modprobe ipt_tos
modprobe iptable_filter
modprobe iptable_mangle
modprobe iptable_nat

#
## Compartilhar Internet
#
echo -n "Enabling IP Forwarding ... "
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "done."

#
## Dynamic Ip
#
echo -n "Enabling Dynamic Ips ... "
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "done."

#
## Limpa as tabelas e setando a politica DROP
#

echo -n "Flushing tables, Setting default policies to DROP ... "
$IPTABLES -P INPUT DROP
$IPTABLES -F INPUT
$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD
$IPTABLES -P OUTPUT DROP
$IPTABLES -F OUTPUT
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
echo "done."


echo -n "Setting up the firewall now ... "

# Aceita todo o tráfego vindo do loopback e indo pro loopback
$IPTABLES -A INPUT -i lo -j ACCEPT

## Somente conexões estabelecidas por nós primeiro
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#Aceitar conexao das maquinas da rede interna
$IPTABLES -A INPUT -p tcp --syn -s $NET_INT -j ACCEPT

## Permitir ssh (22) , svn (8080), webserver (80), vnc(5800,5900)
$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 8080 -j ACCEPT
#$IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 5800 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 5900 -j ACCEPT


## Conexões estabelicidas sejam encaminhadas
$IPTABLES -A FORWARD -i $EXTDEV -m state --state RELATED,ESTABLISHED -j ACCEPT

## Conexões da rede interna para internet
$IPTABLES -A FORWARD -i $INTDEV -o $EXTDEV -j ACCEPT


## MASQUAREDE (compartilhar internet)
$IPTABLES -A POSTROUTING -t nat -o $EXTDEV -j MASQUERADE

#Libera o VNC na porta 5900/5800
    $IPTABLES -t nat -A PREROUTING -p tcp --dport 5900 -i $EXTDEV -j DNAT --to 192.168.123.1:5900
    $IPTABLES -t nat -A PREROUTING -p tcp --dport 5800 -i $EXTDEV -j DNAT --to 192.168.123.1:5800



#Libera o servidor WEB na porta 80
    $IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -i $EXTDEV -j DNAT --to 192.168.123.1:80


$IPTABLES -P OUTPUT ACCEPT


echo "Firewall has been fully installed"

;;
stop)

echo -n "Flushin all rules ... "
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F INPUT
$IPTABLES -F FORWARD
$IPTABLES -F OUTPUT
$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t nat -P POSTROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT
$IPTABLES -t nat -F PREROUTING
$IPTABLES -t nat -F POSTROUTING
$IPTABLES -t nat -F OUTPUT
echo "done."
;;
restart)
sh $0 stop
sh $0 start
;;
status)
$IPTABLES -L -n -v
;;
*)
echo "usage: $0 {start|stop|restart|status}"
exit 1
esac
exit 0

## EOF ##

csat

Posso dar uma sugestão?  Você conhece o Guarddog?  Ele faz o papel de uma interface gráfica que configura os parâmetros de IPTABLES.

Outra coisa:  uso o redirecionamento de portas no meu roteador para algumas atividades e abro as portas respectivas no Guarddog. 

Apenas uma sugestão para simplificar.

Abração,
Csat (Ubuntu 8.04)

Linux User #205394 ** Ubuntu User #19086

raidicar

Acessar de fora como? VNC? Pq a porta 80?
Quem ama extremamente, deixa de viver em si e vive no que ama. Na vida três coisas são certas, o amor, a morte e o Linux !
Se Platão disse, então realmente sofremos de uma perigosa doença mental.

csat

Citação de: raidicar online 23 de Abril de 2008, 21:59
Acessar de fora como? VNC? Pq a porta 80?

Ele próprio não vai acessar ele mesmo na mesma rede usando a porta 80 ou outra qualquer.  Outra pessoa usando outra rede irá acessar, se tudo estiver configurado certinho.  Creio que ele poderia acessar localhost sem problemas.  Quando estava testando o Apache2 precisei fazer esse tipo de teste e não ia de jeito nenhum.

Csat (Ubuntu 8.04)

Linux User #205394 ** Ubuntu User #19086

raidicar

vi o VNC liberado, mas não colocaria essas regras, se for usar o vnc, vi que teria duas portas para um mesmo serviço, por isso perguntei da porta 80, já que vi duas portas diferentes para estabelecer conexão a um unico computador, o 192.168.123.1, dai, se entendi, a estrutura seria Servidor de internet - micro, onde o servidor teria um outro ip e o micro a ser acessado seria o 192.168.123.1, onde esse micro poderia ser outro servidor ou um micro qualquer da rede interna, e o acesso externo se daria por meio de vnc, é isso, quer um acesso externo por meio de vnc?
Quem ama extremamente, deixa de viver em si e vive no que ama. Na vida três coisas são certas, o amor, a morte e o Linux !
Se Platão disse, então realmente sofremos de uma perigosa doença mental.