+ Responder ao Tópico



  1. #1
    Administradora
    Visitante

    Padrão Maquinas clientes não acessam a internet

    Oi meninos e meninas, tudo joia com vocês? Ei moderadores, desculpem se o tópico não esta no lugar mais propicio

    Bom, eu faço curso técnico em informática, e conheço linux, mais ou menos um ano, e a pouco tempo eu comecei a fazer um estágio, e estou tendo problema com a rede no meu local de trabalho, espero que vocês possam me ajudar


    A rede no meu local de trabalho, é Speedy Empresarial de 1 MB de conexão, eu tenho um modem que esta ROTEADO, ele esta ligado ao servidor através da eth1 (Uma placa de rede da 3COM), e o servidor esta interligado a rede interna através da eth0 (Uma placa de rede INTEL). Quando eu entrei na empresa, este servidor estava rodando slackware 10.2 que pra mim é muito complicado, então eu instalei o Mandriva PowerPack+, pois acho seu uso mais fácil, e gosto mais desta versão, por que, só vim a conhecer o que era um sistema operacional linux, através do Mandrake.

    O que aconteceu, é que simplesmente a rede, um dia parou, e um monte de “entendido”, bagunçou tanto o servidor, que me chefe disse para eu formatá-lo e colocar tudo novamente para funcionar, uma árdua tarefa, pelos menos pra mim. Eu como disse acima, instalei o Mandriva PP+, configurei os serviços SAMBA, para um compartilhamento simples de arquivos, Proxy (Squid) e DHCP. Olhem o esquema da rede da empresa na qual eu trabalho: (Esta em anexo)

    http://imgfa.ubbi.com/fotoalbum_br/0...75_520_591.jpg

    Eu estou tendo problemas com quase tudo, mais por enquanto eu só quero que a internet funcione, podem me ajudar?

    Eu instalei o Squid sem maiores problemas, através do comando:

    [root@powerpuff ~]# urpmi squid –auto
    [root@powerpuff etc]# rpm -qa | grep "squid"
    squid-2.5.STABLE10-10mdk
    [root@powerpuff etc]#

    Ele instalou o pacote squid-2.5.STABLE10-10mdk e todas as suas dependências. Eu fui, editei o arquivo /etc/squid/squid.conf, inicializei os serviços e eles rodaram sem maiores problemas. Vejam abaixo como se encontra meu arquivo /etc/squid/squid.conf:

    # Proxy - Squid
    # Configurado pela Eduarda
    # Qualquer problema procure-me no ramal 25
    # s2 beijos ;***
    #
    # s2 configurações gerais s2
    http_port 3128
    cache_dir ufs /var/spool/squid 2048 16 256
    cache_mgr root@powerpuff
    cache_effective_user squid
    cache_effective_group squid
    cache_mem 384 MB
    visible_hostname PowerPuff
    #
    # s2 Proxy Transparente s2
    httpd_accel_host virtual
    httpd_accel_port 80
    httpd_accel_with_proxy on
    httpd_accel_uses_host_header on
    #
    # s2 Listas de Controle de acesso s2
    acl all src 0.0.0.0/0.0.0.0
    acl localhost src 127.0.0.1/255.255.255.255
    acl minharede src 192.168.1.0/255.255.255.0
    # s2 Controles de acesso http s2
    http_access localhost allow
    http_access minharede allow
    http_access deny all

    Como vocês podem ver é uma configuração bem limpa, apenas para ser um servidor de cache, para melhorar a navegação. Depois de escrever essa configuração eu iniciei o squid, vejam:

    [root@powerpuff squid]# service squid start
    init_cache_dir /var/spool/squid... Starting squid: . [ OK ]
    [root@powerpuff squid]#

    Eu também configurei o servidor DHCP e abaixo se encontra o arquivo /etc/dhcpd.conf:

    # Servidor DHCP
    # Configurado pela Eduarda
    # Qualquer problema entre em contato pelo ramal 25
    # Beijos s2 ;*
    ddns-update-style none;
    subnet 192.168.1.0 netmask 255.255.255.0 {
    # Gateway Padrão – IP do Cable Modem roteado
    option routers 192.168.1.1;
    option subnet-mask 255.255.255.0;


    # Servidores de DNS
    option domain-name-servers 200.204.0.10, 200.204.0.138;

    # Números IP's da rede
    range dynamic-bootp 192.168.1.3 192.168.0.253;
    default-lease-time 21600;
    max-lease-time 43200;

    # Regra para dar IP FIXO a uma determinada máquina
    # host NOME_DA_MAQUINA {
    # next-server fixed.mandrakesoft.com;
    # hardware ethernet ff:ff:ff:ff:ff:ff;
    # fixed-address 192.168.1.10;
    #}
    }

    # Esse é o fim s2 !!!

    Quando eu fui inicializar o serviços eu vi que os mesmo falharam, então eu recorri aos arquivos de logs /var/log/messages cujo eu os estava monitorando através de um "tail -f"

    Após tudo isso eu fui analisar minhas interfaces de rede e vi que elas estavam com a configuração padrão, então eu editei os seguintes arquivos:

    [root@powerpuff ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
    [root@powerpuff ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1

    E os deixei da seguinte forma:

    DEVICE=eth0
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=192.168.1.254
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1

    DEVICE=eth1
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=192.168.1.2
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1

    Antes tais arquivos não continham as variáveis IPADDR, NETMASK e GATEWAY. A variavel BOOTPROTO estava como dhcp.

    Então o servidor DHCP iniciou sem problemas e as outras maquinas conseguiram pegar automaticamente o endereço IP provido pelo meu servidor. Lembrando que:

    [root@powerpuff etc]# service dhcpd start
    Starting dhcpd: [ OK ]
    [root@powerpuff etc]#

    192.168.1.1 = Endereço do meu ADSL Cable Modem

    Lembrando que meu arquivo /etc/resolv.conf esta da seguinte forma:

    # DNS – Speedy
    # Configurado pela Eduarda
    # Beijao ;* s2
    nameserver 200.204.0.10
    nameserver 200.204.0.138

    Em seguida eu adicionei a rota 192.168.1.1 como rota padrão através do comando:

    [root@powerpuff ~]# route add default gw 192.168.1.1

    Para finalizar eu fiz a instalação do IPTABLES para capturar e redirecionar o trafego da rede, interceptando as requisições de acesso pela porta 80 e envia-lás para o o squid.

    [root@powerpuff squid]# urpmi iptables
    Please insert the medium named "Powerpack+ CD1 " on device [/dev/hdc]
    Press Enter when ready...

    installing iptables-1.3.3-3mdk.i586.rpm from /var/cache/urpmi/rpms
    Preparing... #############################################
    1/1: iptables #############################################
    [root@powerpuff squid]#

    E em seguida, dei os seguintes comandos e joguei os mesmo para serem executados dentro do arquivo /etc/rc.d/rc.local

    [root@powerpuff squid]# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
    [root@powerpuff squid]# iptables-save > /etc/sysconfig/iptables
    [root@powerpuff squid]# chkconfig iptables on

    Então restartei todos os serviços:

    [root@powerpuff squid]# service dhcpd restart
    Shutting down dhcpd: [ OK ]
    Starting dhcpd: [ OK ]
    [root@powerpuff squid]# service squid restart
    Stopping squid: 2006/08/19 20:12:28| squid.conf line 26: http_access localhost allow
    2006/08/19 20:12:28| aclParseAccessLine: expecting 'allow' or 'deny', got 'localhost'.
    2006/08/19 20:12:28| squid.conf line 27: http_access minharede allow
    2006/08/19 20:12:28| aclParseAccessLine: expecting 'allow' or 'deny', got 'minharede'.
    . [ OK ]
    Starting squid: . [ OK ]
    [root@powerpuff squid]#

    Bom as máquinas clientes, conseguem pegar o endereço IP sem problemas, porem elas não navegam ... acredito que isso seja um problema com o IPTABLES não? Eu pingo as outras máquinas da rede, porém não consigo resposta de um ping do site da uol por exemplo.

    Perguntas que ainda eu não sei responder e fico na dúvida:
    1°) Os IP's configurados no meu servidor são 192.168.1.2 para a eth1 conectada ao modem adsl roteado, e 192.168.1.254 para eth0 conectada ao hub. Esses endereços IP's precisam estar no range do servidor dhcp? Ou não precisa? Por exemplo eu digo que meu ip é 1 e o outro é 10 e as maquinas clientes vão pegar somente o IP 2 ao 9, entenderam o que eu quis dizer?

    2°) No caso, meu modem esta roteado e ja esta provendo um endereço para as máquinas cliente, por exemplo, se eu ligo o modem adsl diretamente no hub as outras maquinas conseguem acesso, provenientes de um endereço IP válido provido pelo modem, eu posso deixar o modem roteado, do jeito que esta mesmo e fazê-lo passar pelo servidor e o servidor mandar para o hub sem alterar as configurações do modem adsl?

    3°) Bom a interface conectada a minha rede local é a INTEL cujo o IP é 192.168.1.254, eu tenho que deixar ela como “option routers” no meu arquivo /etc/dhcpd.conf ?

    Exemplo: option routers 192.168.1.254;

    Em vez de ser o do modem adsl cujo o ip é 192.168.1.1 ?
    Eu ja alterei, tentei das duas formas e voltei para o IP do modem mesmo, eu posso deixar os dois Ips? Exemplo:

    option routers 192.168.1.1, 192.168.1.254;

    Acredito que isso possa ser um dos erros

    4°) A minha rota padrão (SERVIDOR) precisar se o IP do modem ou da eth0?

    Bom, as informações estão bem detalhadas, eu acredito que alguem com mais experiência e conhecimento possa me ajudar, se eu não conseguir fazer funcionar, vamos voltar ao velho W1nd0w5 =/

    Se alguem ver alguma coisa de errado, algum procedimento erroneo, por favor, ajude-me, tenho certeza que muitos também se assombram nestas dúvidas.

    Um beijo pra vocês ;*
    De s2

    Administradora.

  2. #2
    mhp
    Visitante

    Padrão Re: Maquinas clientes não acessam a internet

    Vamos por partes (os exemplos foram extraídos do meu gateway, então modifique se for necessário):

    1) Coloque as interfaces em subnets diferentes, pois não faz sentido ter duas placas de rede na mesma subnet, uma só bastaria. Então, como o roteador da Internet está na subnet 192.168.1.0/24, ponha um ip tipo 192.168.144.254 na eth0 (interna) e 192.168.0.250 na eth1 (externa). Coloque o gateway padrão (o IP do modem) somente na eth1. Você vai ter que ajustar o dhcpd.conf:
    Código :
    subnet 192.168.144.0 netmask 255.255.255.0 {
      range 192.168.144.1 192.168.144.126;
      option broadcast-address 192.168.144.255;
      option routers 192.168.144.254;
      option domain-name "minharede";
      option domain-name-servers 192.168.144.254;
      option netbios-name-servers 192.168.144.254;
      option ntp-servers 192.168.144.254;
      default-lease-time 172800;
      max-lease-time 345600;
      one-lease-per-client on;
      allow unknown-clients;
    }

    2) Certifique-se que o encaminhamento de pacotes está ativo:
    Código :
    cat /proc/sys/net/ipv4/ip_forward
    Se a resposta for "1" está OK, se não, ponha na inicialização do sistema:
    Código :
    echo "1" > /proc/sys/net/ipv4/ip_forward

    3) O Netfilter (iptables):

    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

    3) Tem um errinho na sua configuração do Squid. Você colocou no squid.conf:
    Código :
    http_access localhost allow
    http_access minharede allow
    O certo é:
    Código :
    http_access allow localhost
    http_access allow minharede

    Mude também:
    Código :
    acl minharede src 192.168.1.0/255.255.255.0
    para:
    Código :
    acl minharede src 192.168.144.0/255.255.255.0

    Acho que não me esqueci de nada não, mas qualquer dúvida volte a postar.

    Boa sorte e um abraço.

  3. #3
    mhp
    Visitante

    Padrão Re: Maquinas clientes não acessam a internet

    Cometi um errinho: onde tiver 192.168.0.250, o certo é 192.168.1.250 :-o

  4. #4

    Padrão Re: Maquinas clientes não acessam a internet

    Não vi muito bem sua configuração, Mas prq vc po hora não compartilha com iptables ?
    e depois adiciona o cache e o proxy

  5. #5
    Administradora
    Visitante

    Padrão Re: Maquinas clientes não acessam a internet

    MHP ....

    Brigado mocinho ...
    + nao deu certo ...

    eu habilitei o repasse de pacotes, estava em zero e eu alterei pra 1 ... agora ele esta habilitando o repasse de pacotes toda vez que inicializa a maquina :lol:

    Eu rodei o script do NetFilter, porem nao adiantou, ele chega a executar, porem mostra uma mensagem de erro dizendo que o parametros do script estao invalidos :-(

    O que seria o NetFilter? apenas um script com regras do iptables? eu preciso executar todas estas regras para liberar acesso a internet para os computadores da rede? netfilter é um outro programa independente que usa regras do iptables, acho que um bom exemplo seria o Shorewall? :?

    Eu ainda fico maluca :-o com essas regras de firewall ...
    Ainda minha internet nao funcionou =/

    Sera que é por que o Netfilter não rodou direito?
    Beijinho, brigado pela atenção ... eu tb nao sabia que era possivel, dividir a rede em várias subnets deste jeito ... hihihihihihi ... vivendo e aprendendo :wink:

    Beijao s2!
    Administradora

  6. #6
    mhp
    Visitante

    Padrão Re: Maquinas clientes não acessam a internet

    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

  7. #7
    Administradora
    Visitante

    Padrão Re: Maquinas clientes não acessam a internet

    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

  8. #8
    mhp
    Visitante

    Padrão Re: Maquinas clientes não acessam a internet

    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: