Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. #1
    giuliano
    Olá Galera,

    Formatei meu servidor linux e agora eu estou com um problema com meu script de firewall no Red Hat 9, ele não está fazendo o nat com o script que eu montei, agora se eu adicionar uma regra so pra ele fazer o nat sem bloquear portas ele compartilha a net. Então estou pedindo uma ajuda ai para alguem ver se eu fiz algo de errado no meu script segue ele abaixo:


    Código :
    #!/bin/bash
    # description: Firewall do sistem (criado Giuliano)
     
    IP_EXT="200.x.x.x"
    IF_EXT="eth0"
    IP_INT="192.168.0.1"
    IF_INT="eth1"
    REDE_INT="192.168.0.0/24"
    BRO_INT="192.168.0.255"
     
    # Ativa o Roteamento no Linux
    echo 1 > /proc/sys/net/ipv4/ip_forward
     
    # Zera as regras do Firewall
    iptables -F
    iptables -F -t nat
     
    # Carrega os modulos do FTP.
    modprobe ip_tables
    modprobe iptable_filter
    modprobe iptable_nat
    modprobe ip_nat_ftp
    modprobe ip_conntrack
    modprobe ip_conntrack_ftp
     
     
    ##### Define as politicas padroes #####
    iptables -P INPUT DROP
    iptables -P OUTPUT DROP
    iptables -P FORWARD DROP
     
    ####################### Liberando as portas que serao usadas ###################
    # Bloqueia pacotes invalidos
    iptables -A INPUT -m state --state INVALID -j DROP
    iptables -A OUTPUT -m state --state INVALID -j DROP
    iptables -A FORWARD -m state --state INVALID -j DROP
     
    # Permite respostas
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
     
     
    # Trafego da propria maquina
    iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT
    iptables -A INPUT -s $IP_INT -d $IP_INT -i $IF_INT -j ACCEPT
    iptables -A INPUT -s $IP_EXT -d $IP_EXT -i $IF_EXT -j ACCEPT
     
    iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -o lo -j ACCEPT
    iptables -A OUTPUT -s $IP_INT -d $IP_INT -o $IF_INT -j ACCEPT
    iptables -A OUTPUT -s $IP_EXT -d $IP_EXT -o $IF_EXT -j ACCEPT
     
    # Nega ping do mundo externo
    iptables -A INPUT -p icmp --icmp-type echo-request -s ! $REDE_INT -i $IF_EXT -d $IP_EXT -j DROP
     
    # Permite o resto do ICMP
    iptables -A INPUT -p icmp -j ACCEPT
    iptables -A OUTPUT -p icmp -j ACCEPT
    iptables -A FORWARD -p icmp -s $REDE_INT -i $IF_INT -o $IF_EXT -j ACCEPT
     
    # DHCP Local
    iptables -A INPUT -p udp -i $IF_INT --dport 67 -j ACCEPT
     
    # DNS Local
    iptables -A INPUT -p udp -s $REDE_INT -i $IF_INT -d $IP_INT --dport 53 -j ACCEPT
    iptables -A OUTPUT -p udp -s $IP_EXT -o $IF_EXT --dport 53 -j ACCEPT
    ### Apache (HTTP) ###
    # "Lan --> Apache Local (HTTP)" #
    iptables -A INPUT -p tcp -s $REDE_INT -i $IF_INT -d $IP_INT --dport 80 -j ACCEPT
    iptables -A INPUT -p tcp -s $REDE_INT -i $IF_INT -d $IP_EXT --dport 80 -j ACCEPT
     
    # "Lan --> Apache Local (HTTPS)" #
    iptables -A INPUT -p tcp -s $REDE_INT -i $IF_INT -d $IP_INT --dport 443 -j ACCEPT
    iptables -A INPUT -p tcp -s $REDE_INT -i $IF_INT -d $IP_EXT --dport 443 -j ACCEPT
     
    # "Mundo --> Apache Local (HTTP)" #
    iptables -A INPUT -p tcp -i $IF_EXT -d $IP_EXT --dport 80 -j ACCEPT
    iptables -A OUTPUT -p tcp -s $IP_EXT -o $IF_EXT --dport 80 -j ACCEPT
    iptables -A FORWARD -p tcp -s $REDE_INT -i $IF_INT -o $IF_EXT --dport 80 -j ACCEPT
     
    # "Mundo --> Apache Local (HTTPS)" #
    iptables -A INPUT -p tcp -i $IF_EXT -d $IP_EXT --dport 443 -j ACCEPT
    iptables -A OUTPUT -p tcp -s $IP_EXT -o $IF_EXT --dport 443 -j ACCEPT
    iptables -A FORWARD -p tcp -s $REDE_INT -i $IF_INT -o $IF_EXT --dport 443 -j ACCEPT
     
    # SAMBA
    iptables -A INPUT -p tcp -s $REDE_INT -i $IF_INT -d $IP_INT --dport 139 -j ACCEPT
    iptables -A INPUT -p udp -s $REDE_INT -i $IF_INT -d $IP_INT -m multiport --dport 137,138 -j ACCEPT
    iptables -A INPUT -p udp -s $BRO_INT -i $IF_INT -d $IP_INT -m multiport --dport 137,138 -j ACCEPT
     
    iptables -A OUTPUT -p tcp -s $IP_INT -o $IF_INT --dport 139 -j ACCEPT
    iptables -A OUTPUT -p tcp -s $IP_EXT -o $IF_EXT --dport 139 -j ACCEPT
    iptables -A OUTPUT -p udp -s $IP_INT -o $IF_INT -m multiport --dport 137,138,139 -j ACCEPT
    iptables -A OUTPUT -p udp -s $IP_EXT -o $IF_EXT -m multiport --dport 137,138,139 -j ACCEPT
     
    # SQUID
    iptables -A INPUT -p tcp -s $REDE_INT -i $IF_INT -d $IP_INT --dport 3128 -j ACCEPT
    ### FTP ###
    # Local #
    iptables -A INPUT -p tcp -s $REDE_INT -i $IF_INT -d $IP_INT -m multiport --dport 20,21 -j ACCEPT
    # Mundo #
    iptables -A INPUT -p tcp -i $IF_EXT -d $IP_EXT -m multiport --dport 20,21 -j ACCEPT
    iptables -A OUTPUT -p tcp -s $IP_EXT -o $IF_EXT -m multiport --dport 20,21 -j ACCEPT
    iptables -A FORWARD -p tcp -s $REDE_INT -i $IF_INT -o $IF_EXT -m multiport --dport 20,21 -j ACCEPT
     
    ### SSH ###
    # Local #
    iptables -A INPUT -p tcp -s $REDE_INT -i $IF_INT -d $IP_INT --dport 22 -j ACCEPT
    iptables -A INPUT -p tcp -s $REDE_INT -i $IF_INT -d $IP_INT --dport 7500 -j ACCEPT
    # Mundo #
    iptables -A INPUT -p tcp -i $IF_EXT -d $IP_EXT --dport 22 -j ACCEPT
    iptables -A INPUT -p tcp -i $IF_EXT -d $IP_EXT --dport 7500 -j ACCEPT
    iptables -A INPUT -p tcp -i $IF_EXT -d $IP_EXT --dport 9000 -j ACCEPT
     
    iptables -A OUTPUT -p tcp -s $IP_EXT -o $IF_EXT --dport 22 -j ACCEPT
    iptables -A OUTPUT -p tcp -s $IP_EXT -o $IF_EXT --dport 7500 -j ACCEPT
    iptables -A OUTPUT -p tcp -s $IP_EXT -o $IF_EXT --dport 9000 -j ACCEPT
     
    iptables -A FORWARD -p tcp -s $REDE_INT -i $IF_INT -o $IF_EXT --dport 22 -j ACCEPT
    iptables -A FORWARD -p tcp -s $REDE_INT -i $IF_INT -o $IF_EXT --dport 7500 -j ACCEPT
    iptables -A FORWARD -p tcp -s $REDE_INT -i $IF_INT -o $IF_EXT --dport 9000 -j ACCEPT
     
    ### POP3 ###
    # Local #
    iptables -A INPUT -p tcp -s $REDE_INT -i $IF_INT -d $IP_INT --dport 110 -j ACCEPT
    # Mundo #
    iptables -A INPUT -p tcp -i $IF_EXT -d $IP_EXT --dport 110 -j ACCEPT
    iptables -A OUTPUT -p tcp -s $IP_EXT -o $IF_EXT --dport 110 -j ACCEPT
    iptables -A FORWARD -p tcp -s $REDE_INT -i $IF_INT -o $IF_EXT --dport 110 -j ACCEPT
     
    ### SMTP ###
    # Local #
    iptables -A INPUT -p tcp -s $REDE_INT -i $IF_INT -d $IP_INT --dport 25 -j ACCEPT
    # Mundo #
    iptables -A INPUT -p tcp -i $IF_EXT -d $IP_EXT --dport 25 -j ACCEPT
    iptables -A OUTPUT -p tcp -s $IP_EXT -o $IF_EXT --dport 25 -j ACCEPT
    iptables -A FORWARD -p tcp -s $REDE_INT -i $IF_INT -o $IF_EXT --dport 25 -j ACCEPT
     
    ### Transferencia de DNS ###
    iptables -A INPUT -p tcp -i $IF_EXT -d $IP_EXT --dport 53 -j ACCEPT
    iptables -A OUTPUT -p tcp -s $IP_EXT -o $IF_EXT --dport 53 -j ACCEPT
    # SQL SERVER #
    iptables -A INPUT -p tcp -i $IF_EXT -d $IP_EXT --dport 1433 -j ACCEPT
    iptables -A INPUT -p udp -i $IF_EXT -d $IP_EXT --dport 1433 -j ACCEPT
    iptables -A INPUT -p udp -i $IF_EXT -d $IP_EXT --dport 1434 -j ACCEPT
    iptables -A INPUT -p tcp -i $IF_EXT -d $IP_EXT --dport 3306 -j ACCEPT
    iptables -A INPUT -p tcp -i $IF_EXT -d $IP_EXT --dport 156 -j ACCEPT
     
    iptables -A OUTPUT -p tcp -s $IP_EXT -o $IF_EXT --dport 1433 -j ACCEPT
    iptables -A OUTPUT -p udp -s $IP_EXT -o $IF_EXT --dport 1433 -j ACCEPT
    iptables -A OUTPUT -p udp -s $IP_EXT -o $IF_EXT --dport 1434 -j ACCEPT
    iptables -A OUTPUT -p tcp -s $IP_EXT -o $IF_EXT --dport 3306 -j ACCEPT
    iptables -A OUTPUT -p tcp -s $IP_EXT -o $IF_EXT --dport 156 -j ACCEPT
     
    iptables -A FORWARD -p tcp -s $REDE_INT -i $IF_INT -o $IF_EXT --dport 1433 -j ACCEPT
    iptables -A FORWARD -p udp -s $REDE_INT -i $IF_INT -o $IF_EXT --dport 1433 -j ACCEPT
    iptables -A FORWARD -p udp -s $REDE_INT -i $IF_INT -o $IF_EXT --dport 1434 -j ACCEPT
    iptables -A FORWARD -p tcp -s $REDE_INT -i $IF_INT -o $IF_EXT --dport 3306 -j ACCEPT
    iptables -A FORWARD -p tcp -s $REDE_INT -i $IF_INT -o $IF_EXT --dport 156 -j ACCEPT
     
    # MSN Messenger #
    iptables -A INPUT -p tcp -i $IF_EXT -d $IP_EXT --dport 1863 -j ACCEPT
    iptables -A OUTPUT -p tcp -s $IP_EXT -o $IF_EXT --dport 1863 -j ACCEPT
    iptables -A FORWARD -p tcp -s $REDE_INT -i $IF_INT -o $IF_EXT --dport 1863 -j ACCEPT
    # MSN Messenger Comera Digital #
    iptables -A INPUT -p tcp -i $IF_EXT -d $IP_EXT --dport 5100 -j ACCEPT
    iptables -A OUTPUT -p tcp -s $IP_EXT -o $IF_EXT --dport 5100 -j ACCEPT
    iptables -A FORWARD -p tcp -s $REDE_INT -i $IF_INT -o $IF_EXT --dport 5100 -j ACCEPT
     
    # Faz Log do que sobrou.
    iptables -A INPUT -j LOG --log-prefix "ENTRADA: " --log-level 6
    iptables -A OUTPUT -j LOG --log-prefix "SAIDA: " --log-level 6
    iptables -A FORWARD -i $IF_INT -o $IF_EXT -j LOG --log-prefix "Lan-->Mundo: " --log-level 6
    iptables -A FORWARD -s $REDE_INT -i $IF_INT -o $IF_EXT -j LOG --log-prefix "Lan-->Mundo: " --log-level 6
     
     
    # Fazendo NAT da Lan para o Mundo.
    iptables -A POSTROUTING -t nat -s $REDE_INT -o $IF_EXT -d ! $REDE_INT -j MASQUERADE
     
    # Tira o log da tela
    echo "0" > /proc/sys/net/ipv4/conf/all/log_martians

    Aguardo uma resposta.
    Grato, Giuliano

  2. #2
    wrochal
    Caro,

    Verifique se você habilitou resolução de nome (DNS) portas tcp e udp.

    falou,



  3. #3
    giuliano
    As portas do dns estâo liberadas, eu nâo consigo pingar nem por ip´...
    Valeu, aguardo uma resposta...

  4. Citação Postado originalmente por giuliano
    # Fazendo NAT da Lan para o Mundo.
    iptables -A POSTROUTING -t nat -s $REDE_INT -o $IF_EXT -d ! $REDE_INT -j MASQUERADE

    Teste usar desta forma:

    Código :
    iptables -t nat -A POSTROUTING -s $REDE_INT -o $IF_EXT -j MASQUERADE

    Provavelmente vai funcionar! :wink:
    Há e outra coisinha de uma arrumada nesse seu script tem varia regras empregadas de maneiras fora do padrão, muitas delas repetitivas.

    [size=9px]PS: Não leva a mal é só uma opinião[/size]



  5. quem eh essa mina ai???!? hehehuahu






Tópicos Similares

  1. Problemas com IPTABLES
    Por no fórum Servidores de Rede
    Respostas: 4
    Último Post: 20-01-2004, 10:35
  2. Problema com Iptables em Cache Server
    Por no fórum Servidores de Rede
    Respostas: 0
    Último Post: 04-10-2003, 00:53
  3. Problemas com IPTABLES
    Por no fórum Servidores de Rede
    Respostas: 1
    Último Post: 11-07-2003, 16:38
  4. Problemas com IPTABLES
    Por no fórum Servidores de Rede
    Respostas: 0
    Último Post: 26-06-2003, 10:00
  5. problemas com iptables
    Por no fórum Servidores de Rede
    Respostas: 15
    Último Post: 05-02-2003, 18:00

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L