+ Responder ao Tópico



  1. #1

    Question Servidor Linux para um provedor

    Oi pessoal v6 podem me ajudar ......

    Estou seguindo este tuto Servidor Linux para um provedor wireless para montar um servidor .... Mais qd chego no :

    Cadastramento dos Clientes
    Os seus clientes serão cadastrados no arquivo "/etc/provedor/clientes". Crie esse arquivo:
    # vi /etc/provedor/clientes

    Da o seguinte Erro :
    E325: ATTENTION
    Found a swap file by the name "/var/tmp/cliente.swp"
    owned by: root dated: Fri May 29 17:48:52 2009
    file name: /etc/provedor/cliente
    modified: YES
    user name: root host name: Lumiar-Serve
    process ID: 7239
    While opening file "/etc/provedor/cliente"

    (1) Another program may be editing the same file.
    If this is the case, be careful not to end up with two
    different instances of the same file when making changes.
    Quit, or continue with caution.

    (2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r /etc/provedor/cliente"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file "/var/tmp/cliente.swp"
    to avoid this message.

    "/etc/provedor/cliente" [New DIRECTORY]
    Press ENTER or type command to continue


    ATE aki tudu bem eu aperto ENTER e entro com os dados na hora de salvar da outro erro e nao salva:

    "/etc/provedor/cliente" E212: Can't open file for writing
    Press ENTER or type command to continue

    COMO POSSO RESOLVER ??? ME AJUDA ??
    OBRIGADO AGUARDO RESPOSTAS !!
    Última edição por amigo_odidi; 02-06-2009 às 17:09.

  2. #2

    Padrão

    O primeiro erro diz respeito a existir uma edicao anterior do arquivo abortada, isto e, o arquivo temporario da edicao ainda existe, o comando vim -r pode resolver isto, ou vc apaga o /var/tmp/cliente

    o Segundo erro refere-se ao fato de vc nao ter permissao para alterar o arquivo. No caso vc pode usar o root para isto ou se logar com o usuario dono do arquivo, vc verifica isto com o comando ls.

  3. #3

    Padrão

    Obrigado !! Vou tentar ver isto daqui a pouco .... agora quanto ao root eu logo como root assim sudo su ta certo ?

  4. #4

    Padrão logar como root

    vc pode usar tanto

    sudo su ( nao executa o profile do root )

    como

    sudo su - ( executa o profile do root )

  5. #5

    Padrão

    Esta RESOLVIDO meu primeiro erro muito obrigado agora so tem 1 arquivo dele msm .... agora o outro eu entrei no putty como sudu su - e naum tive boa respostas... ainda estou agarrado no cadastro de clientes e dica dizendo que eh impossivel abrir o arquivo para escrita sabe oq pode ser agora ... me ajuda por favor esta luta com ubuntu ta foda ... uahauhau mais vo ficar bom

  6. #6

    Padrão

    execute no diretorio onde vc quer editar o arquivo:

    ls -lah

    e poste o resultado aqui.

    Existe a possibilidade do problema ser permissao do arquivo.

  7. #7

    Padrão

    Eu resolvi da seguinte forma... eu colocava: "vi /etc/provedor/clientes" e naum dava certo .... agora fiz assim: "cd /etc" depois "mkdir /provedor" e depois "cd /provedor" depois "vi clientes" assim eu fiz e deu certo .... um a um entrei no diretorio etc depois criei o diretorio provedor entrei neli para depois criar o arquivo .... oq vc disse deu o seguinte
    total 8,0K
    drwxr-xr-x 2 root root 4,0K 2009-06-10 00:36 .
    drwxr-xr-x 22 root root 4,0K 2009-06-10 00:09 ..

  8. #8

    Padrão Ao ponto x

    Vo mostrar aki como estou fazendo ... estou seguido este tutorial :

    Primeiramente logue-se como root, no Ubuntu é necessário entrar com a conta normal e depois:


    $ sudo su

    Para facilitar as coisas, primeiro instale o SSH e use o servidor remotamente, irá facilitar na hora de copiar os scripts listados neste artigo e depois você poderá deixar o servidor sem monitor.


    # apt-get update
    # apt-get install ssh


    Agora você pode usar o servidor através de outro computador que esteja na mesma rede, ligue a interface de rede eth1 num switch e configure outro computador com a mesma classe de IP. Para se conectar no Linux use o comando “ssh usuario@ip_do_servidor”, no Windows baixe o programa Putty facilmente encontrado no Google.

    Por questões de segurança muitos administradores mudam a porta padrão (22) do SSH para dificultar invasões, se desejar pode você fazer isso editando o arquivo "/etc/ssh/sshd_config.conf"

    Agora a instalação dos serviços. Para instalar os pacotes usados dê o seguinte comando:


    # apt-get install shaper squid bind9 -y

    Ok, ao término os pacotes necessários já estarão instalados. Começaremos a configurá-los. Para o DNS não é necessário fazer nada, assim que instalado ele já funciona como cache de endereçamentos.



    Configuração do Proxy


    O primeiro a ser configurado será o proxy Squid, vamos remover o arquivo padrão e criar um totalmente novo (o editor de texto vi não é muito agradável no Ubuntu, você pode instalar e usar o vim, o nano, etc.):


    # rm /etc/squid/squid.conf
    # vi /etc/squid/squid.conf

    Coloque o seguinte conteúdo. Observe os comentários e faça as adaptações necessárias.
    http_port 3128 transparent
    visible_hostname provedor_wireless

    acl all src 0.0.0.0/0.0.0.0
    acl manager proto cache_object

    # mude a faixa de IPs de acordo com a que você decidiu usar:
    acl clientes src 192.168.0.0/255.255.255.0

    # arquivos de Log
    cache_access_log /var/log/squid/access.log
    cache_log /var/log/squid/cache.log

    # tamanho máximo de arquivo que o cache guardará,
    # pode ser aumentado.
    maximum_object_size 80000 KB

    # diretório onde será ficará armazenado o cache das páginas.
    # O 10000 é o número em MBs do HD que será reservado para o cache.
    # Mude como achar melhor.
    # Você pode também mudar o diretório do cache, apenas certifique-se
    # de que o usuário proxy tenha permissão de escrita neste local.
    cache_dir ufs /var/spool/squid/ 10000 16 256

    # usuário que executa o servidor proxy
    cache_effective_user proxy

    # habilita permissão pra rede definida e bloqueia acessos vindos de
    # outros endereços
    http_access allow clientes
    http_access deny all

    ## FIM DO ARQUIVO ##
    Depois de configurado o arquivo, você já pode ativar o Squid:


    # /etc/init.d/squid restart



    Cadastramento dos Clientes


    Os seus clientes serão cadastrados no arquivo "/etc/provedor/clientes". Crie esse arquivo:


    # vi /etc/provedor/clientes

    Agora preencha esse arquivo como exemplo:

    0010|novo-teste|192.168.0.7|128|12|8|00:E0:06:EF:7F8|3|A
    0011|teste|192.168.0.3|256|30|15|00:0B:CD:A4:AE:2C|5|B
    Cada linha corresponde a um cliente. Os campos são separados com “|” (pipe-line). O primeiro campo é o código do cliente, inicie a partir de 0010, sempre com 4 dígitos. Em seguida o nome, o endereço IP escolhido, a velocidade de conexão, a taxa de download, a taxa de upload, o endereço MAC, a prioridade (quanto mais baixo mais prioridade) e por fim, “A”, ativo ou “B”, bloqueado.

    O script que lê essas informações será o "configurador.sh", crie-o na mesma pasta e depois dê permissão de execução


    # touch /etc/provedor/configurador.sh
    # chmod +x /etc/provedor/configurador.sh
    # vi /etc/provedor/configurador.sh

    A explicação do seu funcionamento vem em seguida. Cole o conteúdo:
    #!/bin/bash
    # script criado por Tiago Andre Geraldi – [email protected]

    rm -f /etc/shaper/*
    rm /etc/provedor/users.sh
    touch /etc/provedor/users.sh
    chmod +x /etc/provedor/users.sh

    LISTA=`cat /etc/provedor/clientes`
    for CLIENTE in $LISTA; do
    CODIGO=`echo $CLIENTE | awk -F "|" '{print $1}'`
    NOME=`echo $CLIENTE | awk -F "|" '{print $2}'`
    IP=`echo $CLIENTE | awk -F "|" '{print $3}'`
    CON=`echo $CLIENTE | awk -F "|" '{print $4}'`
    DOWN=`echo $CLIENTE | awk -F "|" '{print $5}'`"kbit"
    UP=`echo $CLIENTE | awk -F "|" '{print $6}'`"kbit"
    MAC=`echo $CLIENTE | awk -F "|" '{print $7}'`
    PRIO=`echo $CLIENTE | awk -F "|" '{print $8}'`
    STAT=`echo $CLIENTE | awk -F "|" '{print $9}'`
    # checa se esta ativado
    if [ "$STAT" = "A" ]; then

    UPLOAD="/etc/shaper/cbq-"$CODIGO"."$NOME"_upload"
    DOWNLOAD="/etc/shaper/cbq-"$CODIGO"."$NOME"_download"
    touch $UPLOAD
    touch $DOWNLOAD
    chown 755 /etc/shaper/*

    # eth1 corresponde a interface de rede conectada aos usuarios
    # mude se necessario

    echo "DEVICE=eth1,100Mbit,10Mbit" >> $UPLOAD
    echo "RATE=$CON""KBit" >> $UPLOAD
    echo "WEIGHT=$UP" >> $UPLOAD
    echo "PRIO=$PRIO" >> $UPLOAD
    echo "BOUNDED=yes" >> $UPLOAD
    echo "ISOLATED=yes" >> $UPLOAD
    echo "MARK=30" >> $UPLOAD

    echo "DEVICE=eth1,100Mbit,10Mbit" >> $DOWNLOAD
    echo "RATE=$CON""KBit" >> $DOWNLOAD
    echo "WEIGHT=$DOWN" >> $DOWNLOAD
    echo "PRIO=$PRIO" >> $DOWNLOAD
    echo "RULE=""$IP" >> $DOWNLOAD
    echo "BOUNDED=yes" >> $DOWNLOAD
    echo "ISOLATED=yes" >> $DOWNLOAD

    echo "iptables -t nat -A POSTROUTING -s $IP"" -j MASQUERADE" >> /etc/nat/users.sh
    echo "iptables -A FORWARD -s $IP"" -j ACCEPT" >> /etc/nat/users.sh
    echo "iptables -A FORWARD -d $IP"" -j ACCEPT" >> /etc/nat/users.sh

    arp -s $IP $MAC

    fi

    done

    sh /etc/provedor/firewall.sh
    /etc/init.d/shaper restart

    ## FIM DO ARQUIVO ##
    O script trabalha com a pasta /etc/shaper onde fica o controle de banda, também usa o arquivo /etc/provedor/users.sh que será criado pelo script e que será lido pelo firewall que criaremos depois. Neste arquivo fica a habilitação de internet para os IPs cadastrados.

    A primeira coisa que ele faz é apagar os arquivos atuais. Em seguida ele lê o "/etc/provedor/clientes" e guarda em variáveis, cria os arquivos do controle de banda e o "/etc/provedor/users.sh" atualizado. Dá o comando “arp” que prende o Ip ao MAC e por último reinicia o serviço de controle de banda e re-executa o firewall.

    Sempre que fizer alguma alteração nos cadastros basta que você execute o configurador:


    # sh /etc/provedor/configurador.sh

    Mas calma, você ainda precisa criar o firewall, senão nada funcionará.



    Firewall


    Crie o arquivo "/etc/provedor/firewall.sh" com o conteúdo abaixo (fique atento nos comentários). Depois de salvar dê permissão de execução.
    #!/bin/bash
    # Esse script criado por Tiago André Geraldi é baseado
    # no firewall criado por Carlos Morimoto para o Kurumin Linux

    ## limpa as tabelas das regras, nada a ser mudado aqui
    iptables -F
    iptables -X
    iptables -t nat -F
    iptables -t nat -X
    iptables -t filter -F
    iptables -t filter -X
    iptables -t mangle -F
    iptables -t mangle -X

    # habilita internet para os usuários cadastrados
    sh /etc/nat/users.sh

    # Marcacao de pacotes para controle de banda. Mude a faixa de IPs de acordo com a sua
    for i in `seq 2 254`
    do
    iptables -t mangle -A POSTROUTING -s 192.168.0.$i -j MARK --set-mark $i
    done

    # Habilita roteamento
    echo 1 > /proc/sys/net/ipv4/ip_forward

    # Habilita PROXY TRANSPARENTE
    # mude a interface rede se eth1 não for a interface conectada ao wireless
    iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128


    # Abre uma porta (inclusive para a Internet). Neste caso apenas deixamos aberto o acesso para SSH, Proxy e DNS.

    iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT
    iptables -A INPUT -p tcp --destination-port 53 -j ACCEPT
    iptables -A INPUT -p tcp --destination-port 3128 -j ACCEPT
    iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT

    # Proteções diversas contra portscanners, ping of death, ataques DoS, etc.
    iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
    iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
    iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP
    iptables -A FORWARD -m unclean -j DROP

    # Abre para a interface de loopback.
    iptables -A INPUT -i lo -j ACCEPT

    # BLOQUEA O QUE NAO SE ENCAIXA NAS REGRAS ACIMA
    iptables -A INPUT -p tcp --syn -j DROP
    iptables -P FORWARD DROP

    ## FIM DO ARQUIVO ##
    Conclusão


    Depois dos passos anteriores, seu servidor já pode ser executado:


    # sh /etc/provedor/configurador.sh

    Coloque essa linha sem o “#” no arquivo /etc/init.d/bootmisc.sh para que seja executado automaticamente na inicialização. Em distribuições não Debian você deve usar o "/etc/rc.d/rc.local".

    Agora você precisa pegar o endereço MAC dos seus clientes definir um IP pra cada um e cadastrar todos. O gateway e DNS para os clientes é o IP do seu servidor, no exemplo 192.168.0.1.

    Existe muitas possibilidades de implementação de um servidor para provedor. A forma que utilizei torna a configuração nos clientes trabalhosa mas infelizmente a tecnologia wireless não oferece segurança tolerável mesmo usando criptografia. Acredito ser essa a melhor opção.

    Tratei aqui de forma abstrata os serviços como proxy, DNS e firewall. Eles são ferramentas poderosíssimas. Se procura soluções diferentes ou deseja implementar novos recursos você encontrará material abundante aqui mesmo neste site.


    Agora a parada eh o seguinte o shaper nao instala oq faço ....

  9. #9

    Padrão shaper

    Qual a mensagem de erro que o apt-get retorna para nao conseguir instalar o shaper.

    Se me permite um conselho, o que vc esta querendo fazer o BrasilFW faz muito bem, e o mikrotik tambem, com a vantagem de ter muita informacao sobre os dois aqui no forum. A vantagem de se usar um linux eh que vc pode ter uma gama a mais de recursos, como monitoramento do link, em contra-partida, a dificuldade do uso cresce exponencialmente.

  10. #10

    Padrão

    Putz zzz c permito eh claro sem tua ajuda nao chegaria ate aki ... mais estes 2 sao distros .. da para controlar banda tb ... entao vo pesquizar e estudar sobre eles ... valew brigadao ... haa qt ao erro diz q nao pode localizar o pacote shaper... fiquei sabendo q poderia ser outro nome neste ubuntu