Página 2 de 2 PrimeiroPrimeiro 12
+ Responder ao Tópico



  1. #6
    mhp
    Tem razão, o script que eu postei está com um erro, faltou um espaço, acho que foi quando copiei e colei.
    Aí está corrigido:

    Código :
    #! /bin/sh
     
    # defining variables
    MODPROBE="/sbin/modprobe"
    IPTABLES="/sbin/iptables"
    INTIF="eth0"
    EXTIF="eth1"
    EXTIP="192.168.0.250"
    LOCALNET="192.168.144.0/24"
     
    # loading modules
    $MODPROBE ip_nat_ftp
     
    # cleaning previous state
    $IPTABLES -t filter -P INPUT ACCEPT
    $IPTABLES -t filter -P FORWARD ACCEPT
    $IPTABLES -t filter -P OUTPUT ACCEPT
    $IPTABLES -t nat -P PREROUTING ACCEPT
    $IPTABLES -t nat -P OUTPUT ACCEPT
    $IPTABLES -t nat -P POSTROUTING ACCEPT
    $IPTABLES -t mangle -P PREROUTING ACCEPT
    $IPTABLES -t mangle -P INPUT ACCEPT
    $IPTABLES -t mangle -P FORWARD ACCEPT
    $IPTABLES -t mangle -P OUTPUT ACCEPT
    $IPTABLES -t mangle -P POSTROUTING ACCEPT
    $IPTABLES -t filter -F
    $IPTABLES -t nat -F
    $IPTABLES -t mangle -F
    $IPTABLES -t filter -X
    $IPTABLES -t nat -X
    $IPTABLES -t mangle -X
     
    # policing definition
    #filter table
    $IPTABLES -t filter -P INPUT DROP
    $IPTABLES -t filter -P OUTPUT ACCEPT
    $IPTABLES -t filter -P FORWARD DROP
    #nat table
    $IPTABLES -t nat -P PREROUTING ACCEPT
    $IPTABLES -t nat -P OUTPUT ACCEPT
    $IPTABLES -t nat -P POSTROUTING DROP
    #mangle table
    $IPTABLES -t mangle -P PREROUTING ACCEPT
    $IPTABLES -t mangle -P OUTPUT ACCEPT
     
     
    #### filter table ####
     
    ## INPUT chain ##
    # creating new input chains
    $IPTABLES -N localnet
    #
    $IPTABLES -t filter -A INPUT -i lo -j ACCEPT
    # avoiding ping flood
    $IPTABLES -t filter -A INPUT -p icmp -m limit --limit 2/s -j ACCEPT
    # SSH & WWW
    $IPTABLES -t filter -A INPUT -p tcp -m multiport --dports 22,80 -j ACCEPT
    $IPTABLES -t filter -A INPUT -i $INTIF -j localnet
    $IPTABLES -t filter -A INPUT -m state --state ! ESTABLISHED,RELATED -j DROP
    $IPTABLES -t filter -A INPUT -j ACCEPT
     
    ## localnet chain
    # SUNRPC, SMB/CIFS, SWAT, NFS & HTTP proxy
    $IPTABLES -t filter -A localnet -p tcp -m multiport --dports 111,135,137,\
    138,139,445,901,2049,3128 -j ACCEPT
    $IPTABLES -t filter -A localnet -p udp -m multiport --dports 53,67,68,111,\
    123,135,137,138,139,445,2049 -j ACCEPT
    # NFS
    $IPTABLES -t filter -A localnet -p tcp --dport 32765:32769 -j ACCEPT
    $IPTABLES -t filter -A localnet -p udp --dport 32765:32769 -j ACCEPT
     
     
    ## FORWARD chain ##
    # blocking SMB/CIFS
    $IPTABLES -t filter -A FORWARD -p tcp -m multiport --dports 135,137,138,139,445 \
    -j DROP
    $IPTABLES -t filter -A FORWARD -p udp -m multiport --dports 135,137,138,139,445 \
    -j DROP
    #
    # for braindead ISP/servers/routers
    $IPTABLES -t filter -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS \
    --set-mss 1412
    #
    # forward rules
    $IPTABLES -t filter -A FORWARD -d $LOCALNET -i $EXTIF -o $INTIF -j ACCEPT
    $IPTABLES -t filter -A FORWARD -s $LOCALNET -i $INTIF -o $EXTIF -j ACCEPT
    $IPTABLES -t filter -A FORWARD -j DROP
     
     
    #### nat table ####
     
    ## PREROUTING chain ##
    # extrato FGTS, the shit!
    $IPTABLES -t nat -A PREROUTING -i $INTIF -p tcp --dport 80 -d \
    200.201.174.0/24 -j RETURN
    #
    # transparent HTTP proxy
    $IPTABLES -t nat -A PREROUTING -i $INTIF -p tcp --dport 80 -d ! $LOCALNET \
    -j REDIRECT --to-port 3128
     
    ## POSTROUTING chain ##
    $IPTABLES -t nat -A POSTROUTING -o lo -j ACCEPT
    $IPTABLES -t nat -A POSTROUTING -s $LOCALNET -o $INTIF -j ACCEPT
    $IPTABLES -t nat -A POSTROUTING -s $LOCALNET -o $EXTIF -j SNAT --to-source \
    $EXTIP
    $IPTABLES -t nat -A POSTROUTING -o $INTIF -d $LOCALNET -j DROP
    $IPTABLES -t nat -A POSTROUTING -o $EXTIF -j ACCEPT
    $IPTABLES -t nat -A POSTROUTING -j DROP
     
     
    #### mangle table ####
     
    # throttling some services
    $IPTABLES -t mangle -A POSTROUTING -o $EXTIF -p tcp --dport 22 -j TOS \
    --set-tos 0x10
    $IPTABLES -t mangle -A POSTROUTING -o $EXTIF -p udp --dport 53 -j TOS \
    --set-tos 0x10
    $IPTABLES -t mangle -A POSTROUTING -o $EXTIF -p tcp --dport 80 -j TOS \
    --set-tos 0x10

    O Netfilter é o projeto que desenvolve o filtro de pacotes conhecido como "iptables". Veja em http://www.netfilter.org

    BJS

  2. #7
    Administradora
    MHP brigadinhaaaa ..... eu consegui aflorar meus pensamentos ...

    Bom, continuo nao funcionando o script, eu não sei dizer porque no mandriva pp+ ele não esta sendo executado ... corretamente, nao sei se é por que eu nao tenho nenhum pacote instalado, mais o Windows 2003 Server já foi instalado em outro equipamento, mais como eu prometi pra mim mesmo que iria fazer funcionar, entao eu vou ... :wink:

    Bom, voce viu a estrutura de rede que eu tenho na empresa na qual eu trabalho né?

    Bom, eu tenho um modem roteado, tenho uma máquina com duas saidas de rede, uma vai direto a um HUB ou a um roteador por exemplo ... o que eu preciso para que as outras maquinas naveguem é :

    1) Instalar um servidor DHCP
    2) Compartilhar a conexão via filtro de pacotes (IPTABLES?)

    Eu quero aprender apenas a fazer um simples compartilhamento de conexão, mais por enquanto esta dificil, eu ainda mal conheço IPTABLES, mais estou procurando aprender, estudar e aprender ....

    então pra aproveitar o tópico, esses dois pontos que eu citei acima, servem para fazer um compartilhamento simples de conexão?

    É que eu ainda não tenho nem noção do que começar a aprender, pq eu não sei se só esses pontos acima ja resolvem o problema ...

    Ah, sem falar que isso não é trabalho de mulheres ... :lol:
    Vivendo e aprendendo ... :?

    Beijinho s2
    Duda! :-D



  3. #8
    mhp
    Oi moça,

    Poste o erro retornado pelo script, para vermos o que está ocorrendo.
    O serviço DHCP não é necessário para fazer o compartilhamento, em uma rede pequena você pode perfeitamente configurar um ip estático, gateway padrão e DNS em cada máquina.

    Um script mais simples só para fazer o compartilhamento seria:
    Código :
    #! /bin/sh
     
    # defining variables
    MODPROBE="/sbin/modprobe"
    IPTABLES="/sbin/iptables"
    INTIF="eth0"
    EXTIF="eth1"
    EXTIP="192.168.1.250"
    LOCALNET="192.168.144.0/24"
     
    # loading modules
    $MODPROBE ip_nat_ftp
     
    # cleaning previous state
    $IPTABLES -t filter -P INPUT ACCEPT
    $IPTABLES -t filter -P FORWARD ACCEPT
    $IPTABLES -t filter -P OUTPUT ACCEPT
    $IPTABLES -t nat -P PREROUTING ACCEPT
    $IPTABLES -t nat -P OUTPUT ACCEPT
    $IPTABLES -t nat -P POSTROUTING ACCEPT
    $IPTABLES -t mangle -P PREROUTING ACCEPT
    $IPTABLES -t mangle -P INPUT ACCEPT
    $IPTABLES -t mangle -P FORWARD ACCEPT
    $IPTABLES -t mangle -P OUTPUT ACCEPT
    $IPTABLES -t mangle -P POSTROUTING ACCEPT
    $IPTABLES -t filter -F
    $IPTABLES -t nat -F
    $IPTABLES -t mangle -F
    $IPTABLES -t filter -X
    $IPTABLES -t nat -X
    $IPTABLES -t mangle -X
     
    # policing definition
    #filter table
    $IPTABLES -t filter -P INPUT DROP
    $IPTABLES -t filter -P OUTPUT ACCEPT
    $IPTABLES -t filter -P FORWARD DROP
    #nat table
    $IPTABLES -t nat -P PREROUTING ACCEPT
    $IPTABLES -t nat -P OUTPUT ACCEPT
    $IPTABLES -t nat -P POSTROUTING DROP
    #mangle table
    $IPTABLES -t mangle -P PREROUTING ACCEPT
    $IPTABLES -t mangle -P OUTPUT ACCEPT
     
     
    #### filter table ####
     
    ## INPUT chain ##
    $IPTABLES -t filter -A INPUT -i lo -j ACCEPT
    # avoiding ping flood
    $IPTABLES -t filter -A INPUT -p icmp -m limit --limit 2/s -j ACCEPT
    # SSH
    $IPTABLES -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
    $IPTABLES -t filter -A INPUT -m state --state ! ESTABLISHED,RELATED -j DROP
    $IPTABLES -t filter -A INPUT -j ACCEPT
     
     
    ## FORWARD chain ##
    # for braindead ISP/servers/routers
    $IPTABLES -t filter -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS \
    --set-mss 1412
    #
    # forward rules
    $IPTABLES -t filter -A FORWARD -d $LOCALNET -i $EXTIF -o $INTIF -j ACCEPT
    $IPTABLES -t filter -A FORWARD -s $LOCALNET -i $INTIF -o $EXTIF -j ACCEPT
    $IPTABLES -t filter -A FORWARD -j DROP
     
     
    #### nat table ####
     
    ## POSTROUTING chain ##
    $IPTABLES -t nat -A POSTROUTING -o lo -j ACCEPT
    $IPTABLES -t nat -A POSTROUTING -s $LOCALNET -o $INTIF -j ACCEPT
    $IPTABLES -t nat -A POSTROUTING -s $LOCALNET -o $EXTIF -j SNAT --to-source \
    $EXTIP
    $IPTABLES -t nat -A POSTROUTING -o $INTIF -d $LOCALNET -j DROP
    $IPTABLES -t nat -A POSTROUTING -o $EXTIF -j ACCEPT
    $IPTABLES -t nat -A POSTROUTING -j DROP
     
     
    #### mangle table ####
     
    # throttling some services
    $IPTABLES -t mangle -A POSTROUTING -o $EXTIF -p tcp --dport 22 -j TOS \
    --set-tos 0x10
    $IPTABLES -t mangle -A POSTROUTING -o $EXTIF -p udp --dport 53 -j TOS \
    --set-tos 0x10
    $IPTABLES -t mangle -A POSTROUTING -o $EXTIF -p tcp --dport 80 -j TOS \
    --set-tos 0x10

    Dê uma olhada em http://netfilter.org/documentation/index.html, tem bons howtos e tutoriais, inclusive em português.

    Um abraço,

    PS: Isto é trabalho para mulheres sim, afinal já estamos no século XXI. A única coisa que uma mulher não é capaz de fazer (por enquanto) é engravidar outra :lol:






Tópicos Similares

  1. Respostas: 2
    Último Post: 20-12-2014, 15:36
  2. máquinas da rede não acessam a internet pelo squid
    Por LOWSDYVE no fórum Servidores de Rede
    Respostas: 6
    Último Post: 07-04-2009, 16:33
  3. Bind no debian-máquinas clientes não navegam na internet
    Por lfernandosg no fórum Servidores de Rede
    Respostas: 7
    Último Post: 09-02-2009, 16:57
  4. Respostas: 3
    Último Post: 12-10-2006, 19:31
  5. Respostas: 1
    Último Post: 24-05-2006, 20:19

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L