bslima
(usa Debian)
Enviado em 22/04/2008 - 09:23h
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 ##