+ Responder Tópico
Página 1 de 39 1 2 3 11 ... Última
  1. #1
    Membro
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Feb 2004
    Mensagens
    1.295
    Verdinhas
    133

    OpenWrt - Instalação e Configurações

    O OpenWrt (www.openwrt.org) é um firmware para roteadores, similar à DD-Wrt. Entretanto ele é mais voltado para configuração através do shell, apesar de possuir também uma interface gráfica (Luci). No final do ano passado foi lançada a versão 10.03.1 estável.

    Resolvi fazer este post para compartilhar algumas informações relacionadas à configuração do firmware, indicando o que pode ser feito e tutoriais de como fazer. Já postei boa parte destas informações em tópicos diversos, mas acho que será útil concentrar as infos em um só lugar.

    Façam por sua conta e risco, vários procedimentos descritos aqui podem estragar seu roteador e eu não tenho nenhuma responsabilidade por isso. Fiz no meu e funcionou, mas pode ser que não funcione no seu; ou algum detalhe que ocasionalmente eu não lembre de colocar possa causar algum problema.

    Exemplos de "funcionalidades" possíveis com o OpenWrt:

    - swap de memória usando um pen drive, que "aumenta" a memória do roteador dando mais estabilidade;
    - usar a partição do sistema em um pen drive permitindo instalação de pacotes do repositório "ilimitados";
    - cliente torrent que usa interface web com acesso interno e externo à rede podendo salvar os arquivos em um HD externo ou unidade de rede;
    - servidor ftp para transferir arquivos internamente e externamente;
    - servidor DLNA podendo disponibilizar conteúdo baixado pelo torrent para a TV e PS3;
    - ddns para acessar externamente a rede sem usar um ip fixo;
    - firewall muito flexível e fácil de configurar portas, redirecionamentos, acessos, etc.
    - disco de rede;
    - expansão de portas USB com um HUB;
    - usar portas USB do HUB como servidor de impressão;
    - conectar na internet usando um modem 3G USB;
    - instalar uma placa de som USB, pode ser usada para tocar música, despertador, etc;
    - conectar uma webcam USB e acessá-la pela rede interna ou externa;
    - Configurar uma VPN para conectar-se na rede interna de qualquer lugar e/ou conectar duas redes através da internet como se fossem uma só rede.

    Não fiz e nem sei como fazer todos os itens citados acima, mas já fiz alguns e vou tentar explicar.

    O primeiro passo é possuir um roteador compatível. No Brasil acho que a melhor opção é o TP-Link WR1043ND pelo hardware que possui (porta USB, switch gigabit, 802.11n, 32MB RAM, 8MB FLASH, 3 antenas) e pelo preço que é vendido. Segue a relação de Roteadores compatíveis:

    http://wiki.openwrt.org/toh/start

    Como possuo o WR1043ND, todas as informações serão baseadas nele.

    1- Instalação:

    - Considerando que o roteador está com o firmware original, baixar o arquivo openwrt-ar71xx-tl-wr1043nd-v1-squashfs-factory.bin (ver se não tem uma versão mais recente quando fizer o download). Só use este arquivo quando o router estiver na firmware original de fábrica, caso contrário irá estragar o router;
    - Usar a opção de Firmware Upgrade do firmware original e faça a atualização usando o arquivo acima.

    Fonte e mais informações: http://wiki.openwrt.org/toh/tp-link/tl-wr1043nd e http://wiki.openwrt.org/doc/howto/generic.flashing.

    2- Configuração Básica: senha, acesso ssh, WAN e wireless:

    - A primeira ação deve ser definir uma senha root. Digite no browser o endereço 192.168.1.1, faça login sem senha e altere a senha pela interface. Isto já possibilita acessar o router por SSH;

    - Conecte ao router por SSH usando a senha definida. Usuários de Linux e Mac podem fazer diretamente pela linha de comando:
    Código:
    ssh [email protected]
    Usuários de Windows precisam de um software para isto. Indico instalar o Putty (putty.exe), que possui uma interface gráfica e é necessário apenas colocar o IP do router (192.168.1.1) e deixar as demais opções default;

    - Caso o router se conecte por DHCP, do cable modem por exemplo, pule este item. Se sua conexão for ADSL (linha telefônica) será necessário configurar a conexão WAN:
    Código:
    vi /etc/config/network
    editar o arquivo alterando o seguinte bloco (caso necessário pesquise os comando do VI no google):
    Código:
    config 'interface' 'wan'
    	option 'ifname' 'eth0.2'
    	option '_orig_ifname' 'eth0.2'
    	option '_orig_bridge' 'false'
    	option 'proto' 'pppoe'
    	option 'username' 'seu_usuário'
    	option 'password' 'sua_senha'
    	option 'dns' '8.8.8.8 8.8.4.4'
    de volta a linha de comando:
    Código:
    uci commit network
    /etc/init.d/network restart
    Neste momento o router já deve estar conectado na internet.

    - Para configurar a rede wireless faça:
    Código:
    vi /etc/config/wireless
    editar o arquivo alterando o seguinte:

    No bloco "config wifi-device radio0" alterar "option disabled" para 0.

    No outro bloco configurar como abaixo:
    Código:
    config wifi-iface
    	option device   radio0
    	option network  lan
    	option mode     ap
    	option ssid     Nome_da_Rede
    	option encryption psk2
    	option key	'Chave_para_acesso'
    de volta a linha de comando:
    Código:
    uci commit wireless
    
    /etc/init.d/network restart
    Neste momento a rede wireless deve estar funcionando.

    3- DDNS
    - Primeiro é necessário instalar o pacote:
    Código:
    opkg update
    opkg install ddns-scripts
    - Em seguida deve-se fazer a configuração:
    Código:
    vi /etc/config/ddns
    - Alterar o arquivo de acordo com seu serviço de ddns. Recomendo o no-ip.com (http://www.no-ip.com/). As configurações devem ficar semelhante às abaixo:
    Código:
    config service "myddns"
    	option enabled		"1"
    	option interface	"wan"
    	option service_name	"no-ip.com"
    	option domain		"seu_nome_dominio.no-ip.org"
    	option username		"seu_usuário"
    	option password		"sua_senha"
    	option ip_source	"network" 
    	option ip_network	"wan"
    	option force_interval	"72"
    	option force_unit	"hours"
    	option check_interval	"10"
    	option check_unit	"minutes"
    - Após alterar o arquivo de configuração:
    Código:
    uci commit ddns
    ACTION=ifup INTERFACE=wan /sbin/hotplug-call iface
    O último comando força o router a atualizar o DDNS.
    - Testar se funcionou:
    Código:
    ping seu_dominio.no-ip.org
    4- Firewall - bloqueio e liberação de portas, redirecionamentos

    - Para configurar o firewall:
    Código:
    vi /etc/config/firewall
    -No próprio arquivo de configuração existem exemplos de como fazer bloqueio e liberação de portas e redirecionamentos:

    Código:
    # Não permitir um IP específico de acessar a WAN (internet)
    config rule
    	option src		lan
    	option src_ip	192.168.45.2
    	option dest		wan
    	option proto	tcp
    	option target	REJECT 
    
    # Bloquear um endereço MAC específico de acessar a WAN
    config rule
    	option dest		wan
    	option src_mac	00:11:22:33:44:66
    	option target	REJECT 
    
    # Bloquear ping da WAN
    config rule
    	option src		lan
    	option proto	ICMP
    	option target	DROP
    
    # Redirecionamento de portas da WAN para LAN
    config redirect
    	option src			wan
    	option src_dport	80
    	option dest			lan
    	option dest_ip		192.168.16.235
    	option dest_port	80 
    	option proto		tcp
    - Depois de criar as regras conforme os exemplos acima:
    Código:
    uci commit firewall
    /etc/init.d/firewall restart
    5 - HUB USB, Pendrive e HD Externo

    6 - Swap e rootfs no pendrive

    7- Cliente Torrent

    8- Compartilhamento - SAMBA

    9- DLNA

    10- VPN - Conectar duas redes pela internet

    11- Servidor FTP


    Depois edito o post e continuo.
    Última edição por rodpp : 21-01-2012 às 23:38

  2. # Publicidade
    Publicidade

  3. #2
    Membro
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Apr 2012
    Mensagens
    1
    Verdinhas
    0

    Boa iniciativa do teu post.

    Realmente eu achei o desempenho do OpenWRT bem superior ao DD-WRT, o qual parece se arrastar, porem em nenhuma das duas rooms me deu velocidade em torrent via Wireless, que por sinal ocila demais. Meu roteador é um TP-Link 1043ND, sua room original sempre travava, um dos motivos o qual iniciei o uso de Firmwares alternativos, porem esta difícil achar algum que me traga estabilidade do meu Linksys WRT54G.
    Como sua wireless esta configurado no seu modem??

  4. #3
    Membro Avatar de GLAZAR
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Mar 2007
    Mensagens
    2.104
    Verdinhas
    761

    Excelente primeiro post.

    Estou com o OpenWrt Backfire 10.03.1-RC6 no meu Buffalo G300NH e até agora só alegria. Estável como uma pedra!

    Já implementei o DDNS, UPNP, Qos e client Torrent.

    Vou implementar agora um servidor de ftp e mais tarde quem sabe um apache com uma página Web simples :-)

  5. #4
    hardMOB Staff - Moderação Avatar de wuemura
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Sep 2007
    Mensagens
    5.351
    Verdinhas
    5831

    Uma semana de trabalho jogado no lixo

  6. #5
    Membro Avatar de GLAZAR
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Mar 2007
    Mensagens
    2.104
    Verdinhas
    761

    Citação Citando wuemura Ver mensagem
    Uma semana de trabalho jogado no lixo
    Não seja por isso amigo.

    Compartilhe aqui também! Logo vou acrescentar um tutorial explicando como colocar um servidor FTP externo, para que você a partir de um domínio no no-ip.org possa acessar seus arquivos ;-)

  7. #6
    hardMOB Staff - Moderação Avatar de wuemura
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Sep 2007
    Mensagens
    5.351
    Verdinhas
    5831

    Citação Citando GLAZAR Ver mensagem
    Não seja por isso amigo.

    Compartilhe aqui também! Logo vou acrescentar um tutorial explicando como colocar um servidor FTP externo, para que você a partir de um domínio no no-ip.org possa acessar seus arquivos ;-)
    Sim, eu vou colaborar com algumas coisas.

  8. #7
    hardMOB Staff - Moderação Avatar de wuemura
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Sep 2007
    Mensagens
    5.351
    Verdinhas
    5831

    Recuperando o roteador depois de uma configuração errada

    Pode ocorrer situações aonde você se "tranca" para fora do roteador perdendo o acesso via web e ssh/telnet, um exemplo claro seria você estar mexendo com o firewall do aparelho e ao aplicar uma regra mais restritiva você perder o acesso ao roteador, ou pior, esqueceu a senha.

    Essa recuperação se chama Failsafe.

    Pré-requisito
    1. O Roteador deve ter algum botão externo, qualquer um.
    2. Você pode também recuperar o aparelho via console ligando diretamente o cabo serial na placa do roteador, mas não será abordado agora.

    Ativando o Failsafe
    1. Desligue e ligue o roteador.
    2. No momento que ele for ligado pressione qualquer um do botões do roteador
    3. No cado do TL-WR1043ND, aperte o botão QSS até o LED SYS acender, depois que ele acender espere este LED ficar piscando bem rápido, isso indica que o modo failsafe está ativo.
    4. Tenha certeza que o seu computador esteja na rede 192.168.1.0, o IP do seu computador deve ser 192.168.1.2 por exemplo.
    5. Faça um telnet no IP 192.168.1.1 para acessar o roteador como root e sem senha.

    Recuperando o acesso de uma regra de firewall
    Supondo que você tenha definido uma regra de firewall customizada, edite o arquivo /etc/firewall.user com o vi fazendo o comando:
    Código:
    vi /etc/firewall.user
    Adicione um # na frente da regra para desativá-la ou arrume-a conforme a sua necessidade, ao terminar, salve o arquivo com SHIFT+ZZ

    Recuperando uma senha esquecida
    Digite passwd no terminal e digite uma nova senha.

    Se você estourou a quantidade de memória do roteador instalando coisas
    Estamos torcendo para que você tenha um backup da sua configuração, faça o comando
    Código:
    firstboot
    ou

    Código:
    mtd -r erase rootfs_data
    ou

    Código:
    rm -r /overlay/*
    Depois que terminar tudo, faça um reboot -f para reiniciar o roteador.

  9. #8
    Membro
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Jun 2004
    Mensagens
    2.705
    Verdinhas
    736

    Alguma informação sobre o modo bridge ou WDS?
    Estável? Aguenta bem um tráfego pesado??

  10. #9
    hardMOB Staff - Moderação Avatar de wuemura
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Sep 2007
    Mensagens
    5.351
    Verdinhas
    5831

    Formatando um pendrive para usar em roteadores compatíveis

    Estou usando como referência o TL-WR1043ND, roteadores com porta USB pode ser utilizado para anexar um cartão de memória com adaptador USB, pendrive ou HDD externo com adaptador USB. A sua utilidade pode ser das mais variadas, como por exemplo compartilhar arquivos de mídia (áudio, vídeo e fotos) pela rede (cabo ou wireless). No momento o tutorial não vai abordar este assunto.

    Para este tutorial usarei um Sony Micro-Vaut USM1GH.


    Formatando o cartão de forma correta

    Esses pendrives e cartões de memória usam memória tipo NAND, este tipo de memória precisa ser formatada zerando todos os setores segundo a Toshiba, para tanto usamos o dd para isso.

    Se logue no roteador
    Código:
    Using username "root".
    Authenticating with public key "Chave WR1043ND DD-WRT"
    Passphrase for key "Chave WR1043ND DD-WRT":
    
    
    BusyBox v1.15.3 (2011-11-24 00:44:20 CET) built-in shell (ash)
    Enter 'help' for a list of built-in commands.
    
      _______                     ________        __
     |       |.-----.-----.-----.|  |  |  |.----.|  |_
     |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
     |_______||   __|_____|__|__||________||__|  |____|
              |__| W I R E L E S S   F R E E D O M
     Backfire (10.03.1, r29592) ------------------------
      * 1/3 shot Kahlua    In a shot glass, layer Kahlua
      * 1/3 shot Bailey's  on the bottom, then Bailey's,
      * 1/3 shot Vodka     then Vodka.
     ---------------------------------------------------
    [email protected]:~#
    E faça o comando para atualizar a lista de pacotes.
    Código:
    opkg update
    Downloading http://downloads.openwrt.org/backfire/10.03.1/ar71xx/packages/Packages.gz.
    Inflating http://downloads.openwrt.org/backfire/10.03.1/ar71xx/packages/Packages.gz.
    Updated list of available packages in /var/opkg-lists/packages.
    1. Instale os pacotes necessários para usar um pendrive/HDD com o comando:
    Código:
    opkg install block-mount kmod-fs-vfat kmod-usb-storage kmod-scsi-core kmod-nls-base kmod-nls-cp437 kmod-nls-iso8859-1 cfdisk kmod-fs-ext3 e2fsprogs swap-utils mkdosfs
    
    Installing cfdisk (2.13.0.1-4) to root...
    Downloading http://downloads.openwrt.org/backfire/10.03.1/ar71xx/packages/cfdisk_2.13.0.1-4_ar71xx.ipk.
    Installing libncurses (5.7-2) to root...
    Downloading http://downloads.openwrt.org/backfire/10.03.1/ar71xx/packages/libncurses_5.7-2_ar71xx.ipk.
    Installing kmod-fs-ext3 (2.6.32.27-1) to root...
    Downloading http://downloads.openwrt.org/backfire/10.03.1/ar71xx/packages/kmod-fs-ext3_2.6.32.27-1_ar71xx.ipk.
    Installing kmod-fs-mbcache (2.6.32.27-1) to root...
    Downloading http://downloads.openwrt.org/backfire/10.03.1/ar71xx/packages/kmod-fs-mbcache_2.6.32.27-1_ar71xx.ipk.
    Configuring kmod-fs-mbcache.
    Configuring kmod-fs-ext3.
    Configuring libncurses.
    Configuring cfdisk.
    ...
    2. Conecte o pendrive no roteador e depois de alguns segundos verifique se o dispositivo sda aparece com o comando 'ls':
    Código:
    [email protected]:~# ls /dev
    1-1                 mtd3ro              port
    console             mtd4                ppp
    cpu_dma_latency     mtd4ro              ptmx
    full                mtd5                pts
    kmsg                mtd5ro              random
    log                 mtdblock0           sda
    mem                 mtdblock1           shm
    mtd0                mtdblock2           tty
    mtd0ro              mtdblock3           ttyS0
    mtd1                mtdblock4           urandom
    mtd1ro              mtdblock5           usb1
    mtd2                network_latency     watchdog
    mtd2ro              network_throughput  zero
    mtd3                null
    [email protected]:~#
    3. Para formatar o pendrive precisamos zerar todos os setores da memória, para isso faça o comando e espere terminar
    Código:
    [email protected]:~# dd if=/dev/zero of=/dev/sda
    Dependendo do tamanho pode demorar bastante, para o meu pendrive de 1GB demora aproximadamente 6min, após aparecer a mensagem abaixo o pendrive está pronto para a formatação:
    Código:
    dd: writing '/dev/sda': No space left on device
    1981441+0 records in
    1981440+0 records out
    Vamos formatar o cartão com swap e ext3, os roteadores não precisam de swap mas supondo que você vá instalar aplicativos que possam consumir toda a memória do roteador como aplicativos de torrent, a memória swap irá evitar que o roteador fique lento ou consequentemente trave, faça o comando:
    Código:
    [email protected]:~# cfdisk /dev/sda
    
    
                            cfdisk (util-linux-ng 2.13.0.1)
    
                                  Disk Drive: /dev/sda
                            Size: 1014497280 bytes, 1014 MB
                  Heads: 32   Sectors per Track: 61   Cylinders: 1015
    
        Name        Flags      Part Type  FS Type          [Label]        Size (MB)
     ------------------------------------------------------------------------------
                                Pri/Log   Free Space                        1014.42
    
    
    
    
    
    
    
    
    
    
    
         [  Help  ]  [  New   ]  [ Print  ]  [  Quit  ]  [ Units  ]
         [ Write  ]
    Selecione New
    Código:
                            cfdisk (util-linux-ng 2.13.0.1)
    
                                  Disk Drive: /dev/sda
                            Size: 1014497280 bytes, 1014 MB
                  Heads: 32   Sectors per Track: 61   Cylinders: 1015
    
        Name        Flags      Part Type  FS Type          [Label]        Size (MB)
     ------------------------------------------------------------------------------
                                Pri/Log   Free Space                        1014.42
    
    
    
    
    
    
    
    
    
    
    
         [  Help  ]  [  New   ]  [ Print  ]  [  Quit  ]  [ Units  ]
         [ Write  ]
    Selecione Primary
    Código:
                            cfdisk (util-linux-ng 2.13.0.1)
    
                                  Disk Drive: /dev/sda
                            Size: 1014497280 bytes, 1014 MB
                  Heads: 32   Sectors per Track: 61   Cylinders: 1015
    
        Name        Flags      Part Type  FS Type          [Label]        Size (MB)
     ------------------------------------------------------------------------------
                                Pri/Log   Free Space                        1014.42
    
    
    
    
    
    
    
    
    
    
    
         [Primary]  [Logical]  [Cancel ]
    Digite 32 e pressione a tecla enter, selecione Beginning
    Código:
                            cfdisk (util-linux-ng 2.13.0.1)
    
                                  Disk Drive: /dev/sda
                            Size: 1014497280 bytes, 1014 MB
                  Heads: 32   Sectors per Track: 61   Cylinders: 1015
    
        Name        Flags      Part Type  FS Type          [Label]        Size (MB)
     ------------------------------------------------------------------------------
        sda1                    Primary   Linux                               31.99
                                Pri/Log   Free Space                         982.44
    
    
    
    
    
    
    
    
    
    
         [Bootable]  [ Delete ]  [  Help  ]  [Maximize]  [ Print  ]
         [  Quit  ]  [  Type  ]  [ Units  ]  [ Write  ]
    Selecione Type, pressione Enter e digite 82
    Código:
     16 Hidden FAT16          83 Linux                 E4 SpeedStor
     17 Hidden HPFS/NTFS      84 OS/2 hidden C: drive  EB BeOS fs
     18 AST SmartSleep        85 Linux extended        EE EFI GPT
     1B Hidden W95 FAT32      86 NTFS volume set       EF EFI (FAT-12/16/32)
     1C Hidden W95 FAT32 (LB  87 NTFS volume set       F0 Linux/PA-RISC boot
     1E Hidden W95 FAT16 (LB  88 Linux plaintext       F1 SpeedStor
     24 NEC DOS               8E Linux LVM             F4 SpeedStor
     39 Plan 9                93 Amoeba                F2 DOS secondary
     3C PartitionMagic recov  94 Amoeba BBT            FD Linux raid autodetec
     40 Venix 80286           9F BSD/OS                FE LANstep
     41 PPC PReP Boot         A0 IBM Thinkpad hiberna  FF BBT
     42 SFS                   A5 FreeBSD
     4D QNX4.x                A6 OpenBSD
     4E QNX4.x 2nd part       A7 NeXTSTEP
    
    
    
    
    
         Enter filesystem type: 82
    Selecione a partição vazia, New e pressione Enter até voltar para a tela principal:
    Código:
                            cfdisk (util-linux-ng 2.13.0.1)
    
                                  Disk Drive: /dev/sda
                            Size: 1014497280 bytes, 1014 MB
                  Heads: 32   Sectors per Track: 61   Cylinders: 1015
    
        Name        Flags      Part Type  FS Type          [Label]        Size (MB)
     ------------------------------------------------------------------------------
        sda1                    Primary   Linux swap / Solaris                31.99
        sda2                    Primary   Linux                              982.44
    
    
    
    
    
    
    
    
    
    
         [Bootable]  [ Delete ]  [  Help  ]  [Maximize]  [ Print  ]
         [  Quit  ]  [  Type  ]  [ Units  ]  [ Write  ]
    Selecione Write para escrever as partições, o programa vai perguntar se deseja realmente formatar o disco, escreva yes e continue, quando terminar selecione Quit para sair.

    Ativando o SWAP

    Faça os comandos:
    Código:
    [email protected]:~# mkswap /dev/sda1
    Setting up swapspace version 1, size = 31944 kB
    no label, UUID=a8ebbae8-3ae3-409e-a64c-00e5af5fcce2
    
    [email protected]:~# swapon /dev/sda1
    [email protected]:~# free
                  total         used         free       shared      buffers
      Mem:        29428        13660        15768            0          764
     Swap:        31192            0        31192
    Total:        60620        13660        46960
    Se precisar desativar o swap faça o comando:
    Código:
    swapoff /dev/sda1
    Formatando a partição para ext3

    Daremos o nome da nossa partição de WRT1GB, execute o comando abaixo:
    Código:
    [email protected]:~# mke2fs -c -L WRT1GB -j /dev/sda2
    mke2fs 1.41.11 (14-Mar-2010)
    Filesystem label=WRT1GB
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    60032 inodes, 239852 blocks
    11992 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=247463936
    8 block groups
    32768 blocks per group, 32768 fragments per group
    7504 inodes per group
    Superblock backups stored on blocks:
            32768, 98304, 163840, 229376
    
    sh: badblocks: not found
    Writing inode tables: done
    Creating journal (4096 blocks): done
    Writing superblocks and filesystem accounting information: done
    
    This filesystem will be automatically checked every 36 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.
    Montando a nova partição

    Crie um diretório para montar a unidade, usaremos /home
    Código:
    [email protected]:~# mkdir /home
    Monte a unidade com o comando:
    Código:
    [email protected]:~# mount -t ext3 /dev/sda2 /home
    Verifique se a unidade foi montada com o comando abaixo:
    Código:
    [email protected]:~# mount
    rootfs on / type rootfs (rw)
    /dev/root on /rom type squashfs (ro,relatime)
    proc on /proc type proc (rw,relatime)
    sysfs on /sys type sysfs (rw,relatime)
    tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime,size=14716k)
    tmpfs on /dev type tmpfs (rw,relatime,size=512k,mode=755)
    devpts on /dev/pts type devpts (rw,relatime,mode=600)
    /dev/mtdblock3 on /overlay type jffs2 (rw,relatime)
    mini_fo:/overlay on / type mini_fo (rw,relatime)
    debugfs on /sys/kernel/debug type debugfs (rw,relatime)
    none on /proc/bus/usb type usbfs (rw,relatime)
    /dev/sda2 on /home type ext3 (rw,relatime,errors=continue,data=writeback)
    
    [email protected]:~# ls /home
    lost+found
    Para desmontar a unidade:
    Código:
    [email protected]:~# umount /home
    Montando as partições de forma automática

    Ao montar as unidades pela primeira vez o arquivo /etc/config/fstab é criado:
    Código:
    [email protected]:~# vi /etc/config/fstab
    config global automount
            option from_fstab 1
            option anon_mount 1
    
    config global autoswap
            option from_fstab 1
            option anon_swap 0
    
    config mount
            option target   /home
            option device   /dev/sda1
            option fstype   ext3
            option options  rw,sync
            option enabled  0
            option enabled_fsck 0
    
    config swap
            option device   /dev/sda2
            option enabled  0
    Para ativar ambas as partições modifique a linha "option enabled 0" para "option enabled 1" e corrija as partições:
    Código:
    config global automount
            option from_fstab 1
            option anon_mount 1
    
    config global autoswap
            option from_fstab 1
            option anon_swap 0
    
    config mount
            option target   /home
            option device   /dev/sda2
            option fstype   ext3
            option options  rw,sync
            option enabled  1
            option enabled_fsck 0
    
    config swap
            option device   /dev/sda1
            option enabled  1
    Para que as partições sejam montadas ao iniciar o roteador faça o comando (ignore o erro):
    Código:
    [email protected]:~# /etc/init.d/fstab stop
    swapoff: cannot open /etc/fstab: No such file or directory
    
    [email protected]:~# /etc/init.d/fstab enable
    [email protected]:~# /etc/init.d/fstab start
    Agora o Swap e a partição /home podem ser utilizadas, é claro que você também pode agora ativar ou desativar essas partições através da interface web, MAS para que funcione direito é obrigatório fazer os comandos primeiro.


    Formatando o pendrive com FAT

    Geralmente estes pendrives vem com FAT16 (ou exFat para partições maiores que 4GB), assim se ao invés de criar um SWAP e uma partição ext3 você quiser criar uma nova partição FAT, faça o comando:
    Código:
    [email protected]:~# dd if=/dev/zero of=/dev/sda bs=512 count=1
    1+0 records in
    1+0 records out
    
    [email protected]:~# mkdosfs -v -I -c -F 16 -n WRT1GB /dev/sda
    mkdosfs 3.0.11 (24 Dec 2010)
    /dev/sda has 32 heads and 61 sectors per track,
    logical sector size is 512,
    using 0xf8 media descriptor, with 1981440 sectors;
    file system has 2 16-bit FATs and 32 sectors per cluster.
    FAT size is 256 sectors, and provides 61902 clusters.
    There are 32 reserved sectors.
    Root directory contains 512 slots and uses 32 sectors.
    Volume ID is ec105e01, volume label WRT1GB     .
    Searching for bad blocks 55472... 112192... 168640... 224352... 281152...
    338240... 394816... 450368... 506944... 562240...
    619328... 674880... 730816... 787648... 844608...
    901184... 958144...
    Para montar a unidade faça o comando:
    Código:
    [email protected]:~# mount -t vfat /dev/sda /home
    
    [email protected]:~# mount
    rootfs on / type rootfs (rw)
    /dev/root on /rom type squashfs (ro,relatime)
    proc on /proc type proc (rw,relatime)
    sysfs on /sys type sysfs (rw,relatime)
    tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime,size=14716k)
    tmpfs on /dev type tmpfs (rw,relatime,size=512k,mode=755)
    devpts on /dev/pts type devpts (rw,relatime,mode=600)
    /dev/mtdblock3 on /overlay type jffs2 (rw,relatime)
    mini_fo:/overlay on / type mini_fo (rw,relatime)
    debugfs on /sys/kernel/debug type debugfs (rw,relatime)
    none on /proc/bus/usb type usbfs (rw,relatime)
    /dev/sda on /home type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
    Agora para que essa partição seja montada é só realizar os comandos do fstab explicadas anteriormente. Caso você tenha usado outras partições na hora da inicialização, na interface web apague a configuração para a partição ext3 e swap e adicione um novo "mount point" escolhendo o /dev/sda como unidade e "/home" para a montagem.

    Faça o comando abaixo para atualizar as partições no seu /etc/fstab:
    Código:
    [email protected]:~# /etc/init.d/fstab start
    Se desejar que seja montado automaticamente, ative o fstab:
    Código:
    [email protected]:~# /etc/init.d/fstab enable
    O mesmo pode ser feito para HDD's externos, claro, sem a necessidade de fazer o comando 'dd'.
    Para mais informações:
    http://wiki.openwrt.org/doc/howto/usb.storage

    O texto acima explica só como formatar, imagina um documento completo cobrindo tudo relacionado com o OpenWRT, o texto vai ficar enorme.
    Última edição por wuemura : 21-04-2012 às 5:06

  11. #10
    hardMOB Staff - Moderação Avatar de wuemura
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Sep 2007
    Mensagens
    5.351
    Verdinhas
    5831

    Comandos básicos do VIM

    O VIM é um editor de texto para terminal totalmente configurável que foge do "padrão" de interfaces pois ele funciona na base de comandos, ele não é muito complicado depois que se aprende a manuseá-lo, assim neste pequeno tutorial passarei o básico das funções que eu mais uso.

    Para abrir um arquivo
    Código:
    vi nome_do_arquivo
    ps* Note que se o arquivo a ser editado tiver espaços, o nome do arquivo deve estar entre aspas
    Código:
    vi "nome do arquivo com espaços"
    A cara do VIM
    Código:
    ¦  _______                     ________        __
     |       |.-----.-----.-----.|  |  |  |.----.|  |_
     |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
     |_______||   __|_____|__|__||________||__|  |____|
              |__| W I R E L E S S   F R E E D O M
     Backfire (10.03.2, r31328) ------------------------
      * 1/3 shot Kahlua    In a shot glass, layer Kahlua
      * 1/3 shot Bailey's  on the bottom, then Bailey's,
      * 1/3 shot Vodka     then Vodka.
     ---------------------------------------------------
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    - banner 1/10 10%
    Entrando no mode de edição

    Pressione a letra I no teclado, mova o cursor até a região para iniciar a edição, note o "I" no canto esquerdo inferior do terminal:
    Código:
      _______                     ________        __
     |       |.-----.-----.-----.|  |  |  |.----.|  |_
     |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
     |_______||   __|_____|__|__||________||__|  |____|
              |__| W I R E L E S S   F R E E D O M
     Backfire (10.03.2, r31328) ------------------------
      * 1/3 shot Kahlua    In a shot glass, layer Kahlua
      * 1/3 shot Bailey's  on the bottom, then Bailey's,
      * 1/3 shot ¦odka     then Vodka.
     ---------------------------------------------------
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    I banner 9/10 90%
    Troquei a palavra 'Vodka' por 'Cerveja', reparem a palavra [Modified] no canto inferior do terminal indicando que o arquivo foi alterado.
    Código:
      _______                     ________        __
     |       |.-----.-----.-----.|  |  |  |.----.|  |_
     |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
     |_______||   __|_____|__|__||________||__|  |____|
              |__| W I R E L E S S   F R E E D O M
     Backfire (10.03.2, r31328) ------------------------
      * 1/3 shot Kahlua    In a shot glass, layer Kahlua
      * 1/3 shot Bailey's  on the bottom, then Bailey's,
      * 1/3 shot Cerveja     then Cerveja.
     ---------------------------------------------------
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    - banner [Modified] 1/10 10%
    Para sair do modo de edição pressione a tecla ESQ.

    Salvando

    Para salvar o arquivo modificado você primeiro pressione ESQ para sair do modo de edição e faz Shift+ZZ ou ativa o Caps-Lock e digita apenas ZZ, ao fazer isso o VIM fecha sozinho. Você vai notar que saiu do modo de edição quando no canto inferior esquerdo o sinal I mudou para - (sinal de subtração/menos).

    Copiando uma linha

    Essa função é muito útil quando você está criando regras de firewall por exemplo aonde os comandos são repetitivos e poucas coisas são modificadas, sem entrar no modo de edição, pressione a tecla Y duas vezes e depois a tecla P, será criado uma cópia abaixo do cursor. Assim como na interface gráfica, uma vez copiado a linha fica na memória e pode ser colado quantas vezes for necessário.
    Código:
      _______                     ________        __
     |       |.-----.-----.-----.|  |  |  |.----.|  |_
     |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
     |_______||   __|_____|__|__||________||__|  |____|
              |__| W I R E L E S S   F R E E D O M
     Backfire (10.03.2, r31328) ------------------------
      * 1/3 shot Kahlua    In a shot glass, layer Kahlua
      * 1/3 shot Bailey's  on the bottom, then Bailey's,
      * 1/3 shot Cerveja     then Cerveja.
     ---------------------------------------------------
     ---------------------------------------------------
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    Put 1 lines (53 chars) from [D]
    Copiando uma palavra

    Com o arquivo aberto e sem entrar no modo de edição, tecle [y]yw[/b], mova o cursor até aonde deseja que a palavra seja colada e pressione a tecla P, palavra copiada irá aparecer no lado direito do cursor.
    Código:
      _______                     ________        __
     |       |.-----.-----.-----.|  |  |  |.----.|  |_
     |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
     |_______||   __|_____|__|__||________||__|  |____|
              |__| W I R E L E S S   F R E E D O M
     Backfire (10.03.2, r31328) ------------------------
      * 1/3 shot Kahlua    In a shot glass, layer Kahlua
      * 1/3 shot Bailey's  on the bottom, then Bailey's,
      * 1/3 shot Cerveja     then Cerveja.
     --------------------------------------------------¦Cerveja
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    Put 0 lines (12 chars) from [D]
    Fazendo cópias específicas
    Todos os comando são feitos fora do modo de edição!

    1. Para copiar uma linha do cursor para a esquerda, posicione o cursor à direita da última palavra e digite y0, o cursor irá se mover da direita para a esquerda e na parte inferior ele vai informar quantos caracteres foram copiados. Para colar
    Código:
      _______                     ________        __
     |       |.-----.-----.-----.|  |  |  |.----.|  |_
     |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
     |_______||   __|_____|__|__||________||__|  |____|
              |__| W I R E L E S S   F R E E D O M
     Backfire (10.03.2, r31328) ------------------------
      * 1/3 shot Kahlua    In a shot glass, layer Kahlua
      * 1/3 shot Bailey's  on the bottom, then Bailey's,
    ¦  * 1/3 shot Cerveja¦     then Cerveja.
     ---------------------------------------------------
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    Yank 0 lines (20 chars) using [D]
    2. Para copiar uma linha do cursor para direita tecle y$, vai ocorrer o mesmo que na situação anterior mostrando na parte inferior quantos caracteres foram copiados.

    Apagando linhas

    1. Fora do modo de edição, posicione o cursor na linha a ser apagada e tecle dd
    2. Para apagar na mesma linha um conteúdo do cursor à esquerda tecle d0
    3. Para apagar na mesma linha um conteúdo do cursor à direita tecle d$

    Localizando palavras

    Fora do modo de edição, pressione a tecla [/b]/[/b] seguida da palavra a ser pesquisada no texto e pressione Enter.
    Código:
      _______                     ________        __
     |       |.-----.-----.-----.|  |  |  |.----.|  |_
     |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
     |_______||   __|_____|__|__||________||__|  |____|
              |__| W I R E L E S S   F R E E D O M
     Backfire (10.03.2, r31328) ------------------------
      * 1/3 shot Kahlua    In a shot glass, layer Kahlua
      * 1/3 shot Bailey's  on the bottom, then Bailey's,
      * 1/3 shot Cerveja     then Cerveja.
     ---------------------------------------------------
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    /Cerveja¦
    O cursor vai se mover até a palavra pesquisada.
    Código:
      _______                     ________        __
     |       |.-----.-----.-----.|  |  |  |.----.|  |_
     |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
     |_______||   __|_____|__|__||________||__|  |____|
              |__| W I R E L E S S   F R E E D O M
     Backfire (10.03.2, r31328) ------------------------
      * 1/3 shot Kahlua    In a shot glass, layer Kahlua
      * 1/3 shot Bailey's  on the bottom, then Bailey's,
      * 1/3 shot ¦erveja     then Cerveja.
     ---------------------------------------------------
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    - banner 9/10 90%
    Para continuar a pesquisa tecle /, depois a tecla com a seta para cima do teclado seguido de Enter, o cursor vai pular para a próxima palavra encontrada.
    Código:
      _______                     ________        __
     |       |.-----.-----.-----.|  |  |  |.----.|  |_
     |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
     |_______||   __|_____|__|__||________||__|  |____|
              |__| W I R E L E S S   F R E E D O M
     Backfire (10.03.2, r31328) ------------------------
      * 1/3 shot Kahlua    In a shot glass, layer Kahlua
      * 1/3 shot Bailey's  on the bottom, then Bailey's,
      * 1/3 shot Cerveja     then ¦erveja.
     ---------------------------------------------------
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    - banner 9/10 90%
    Substituindo palavras
    Vamos trocar 'Cerveja' por 'Vodka'

    1. Para substituir apenas a primeira palavra encontrada aperte a tecla responsável pelos dois pontos ':' e faça o comando seguido de Enter:
    Código:
    :%s/Cerveja/Vodka/
    Código:
      _______                     ________        __
     |       |.-----.-----.-----.|  |  |  |.----.|  |_
     |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
     |_______||   __|_____|__|__||________||__|  |____|
              |__| W I R E L E S S   F R E E D O M
     Backfire (10.03.2, r31328) ------------------------
      * 1/3 shot Kahlua    In a shot glass, layer Kahlua
      * 1/3 shot Bailey's  on the bottom, then Bailey's,
      * 1/3 shot Vodka     then Cerveja.
     ---------------------------------------------------
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    Put 0 lines (5 chars) from [D]
    2. Para substituir todas as palavras do texto, faça o comando:
    Código:
    :%s/Cerveja/Vodka/g
    Código:
      _______                     ________        __
     |       |.-----.-----.-----.|  |  |  |.----.|  |_
     |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
     |_______||   __|_____|__|__||________||__|  |____|
              |__| W I R E L E S S   F R E E D O M
     Backfire (10.03.2, r31328) ------------------------
      * 1/3 shot Kahlua    In a shot glass, layer Kahlua
      * 1/3 shot Bailey's  on the bottom, then Bailey's,
      * 1/3 shot Vodka     then Vodka.
     ---------------------------------------------------
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    Put 0 lines (5 chars) from [D]
    Considerações finais

    O VIM apesar de simples possuí centenas de funções específicas que não tem como abordá-las em um simples post, o que foi descrito aqui é apenas o 'básico' do dia-a-dia que uma pessoa precisa saber para começar no VIM e editar arquivos.

    Pode parecer óbvio para uma pessoa mais experiente no entanto para um iniciante pode ser um pouco complicado, por isso resolvi deixar por último. O VIM permite que você utilize funções de copiar e colar dentro do modo de edição usando 'registros', no entanto isso aumenta a complexidade deste simples tutorial.

    Eu como a maioria usamos da forma que foi descrita aqui, se você precisa misturar funções de copiar e colar em linha diferentes do texto é necessário entrar e sair do modo de edição, por exemplo, para criar uma nova lina vazia no nosso exemplo.

    1. Abra o arquivo (vi /etc/banner)
    2. Mova o cursor até o final da última linha.
    Código:
      _______                     ________        __
     |       |.-----.-----.-----.|  |  |  |.----.|  |_
     |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
     |_______||   __|_____|__|__||________||__|  |____|
              |__| W I R E L E S S   F R E E D O M
     Backfire (10.03.2, r31328) ------------------------
      * 1/3 shot Kahlua    In a shot glass, layer Kahlua
      * 1/3 shot Bailey's  on the bottom, then Bailey's,
      * 1/3 shot Vodka     then Vodka.
     --------------------------------------------------¦
    3. Pressione a tecla I para entrar no modo de edição.
    4. Pressione a tecla da seta direita do teclado para mover o cursor uma casa para a direita seguido da tecla Enter para criar uma nova linha.
    Código:
      _______                     ________        __
     |       |.-----.-----.-----.|  |  |  |.----.|  |_
     |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
     |_______||   __|_____|__|__||________||__|  |____|
              |__| W I R E L E S S   F R E E D O M
     Backfire (10.03.2, r31328) ------------------------
      * 1/3 shot Kahlua    In a shot glass, layer Kahlua
      * 1/3 shot Bailey's  on the bottom, then Bailey's,
      * 1/3 shot Vodka     then Vodka.
     ---------------------------------------------------
    ¦
    5. Pressione ESQ para sair do modo de edição.
    6. Cole as partes que achar necessário.

    Para quem quiser se aprofundar mais nas funções do VIM deixo os sites abaixo para consultas.

    Comandos mais utilizados
    Abordagem sobre funções de substituir
    Última edição por wuemura : 21-04-2012 às 11:34

  12. #11
    Membro
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Apr 2012
    Mensagens
    1
    Verdinhas
    0

    Problema firmware ROTEADOR TP LINK TL-WR740ND

    Olá pessoal, sou novo aqui e já de início estão de parabéns pelo excelente fórum.
    Bom, seguinte;
    tenho uma rede em meu camping há muitos anos, esta rede está funcionando a muito tempo com um router da Globaltronic e nunca me trouxe problemas, dê um tempo para cá começou a esquentar muito e perder sinal, resolvi então comprar um outro para instalar no lugar dele, comprei o roteador da marca TP-Link modelo TL-WR740ND, tentei instalar mas como estou acostumado com a firmware da ap-router não entendi muito o seu funcionamento, resolvi baixar o firmware da openwrt, no site baixei a versão para o meu router que é a V:4.0, segui a risca todas as informações que estão no site, fiz o update da firmware via cabo lan, ele efetuou todas as sequências e quando terminou não consegui entrar no programa, já tentei de todas as formas e não tem como, fiz o reset 30 30 30, o ping para o ip 192.168.1.1 está normal os leds também, mas acessar o programa não tem como, peço a gentileza se alguém tiver alguma solução me repassar, agradeço muito, valeu obrigado.

    Obs. o router da Globaltronic está no modo Bridge linkado com um speedstream 4200 com a velox.
    Última edição por orlandi : 21-04-2012 às 19:58

  13. #12
    Suspenso
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Apr 2002
    Mensagens
    6.367
    Verdinhas
    5908

    é, testei aqui também com uma build pronta de um maluco ai
    (http://aspiregemstone.blogspot.com.b...-wr1043nd.html)

    mas eu mudava meia-dúzia de coisa e o bagulho começava a travar,
    lance é você ligar o router apertando algum botão configurável várias vezes (bem provável o reset)

    que ai ele liga em failsafe mode,
    ai vc pode usar o putty pra entrar em telnet no router, e ver se consegue resolver com algum comando

    dl putty: http://www.chiark.greenend.org.uk/~s.../download.html

    mais info aqui: http://wiki.openwrt.org/doc/howto/generic.failsafe

    pra quem quiser só funcionalidades básicas (ddns, upnp ,blablabla etc), tem a firmware Gargoyle que é baseada na openwrt
    http://www.gargoyle-router.com/index.php

    testei as duas aqui mas ja voltei pra dd-wrt, hauhauhauh

  14. #13
    hardMOB Staff - Moderação Avatar de wuemura
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Sep 2007
    Mensagens
    5.351
    Verdinhas
    5831

    O básico do básico

    Antes de iniciar a configuração básica do Openwrt nós precisamos explicar o "básico do básico" pois muitos ainda tem problemas com configuração de rede e se há problemas ou dificuldades para a sua configuração é por desconhecimento do básico de redes, assim leia com bastante atenção as informações abaixo pois tentarei da maneira mais fácil possível explicar questões mínimas de rede que será necessário saber andes de prosseguirmos.

    O foco do texto a seguir é voltado para pessoas leigas o com pouco conhecimento em rede, assim os mais puristas que gostam de tudo nos mínimos detalhes deixarei em conjunto referência para leitura posterior, inclusive para os mais leigos que desejarem se aprofundar mais no assunto.

    O que é Rede?
    Se define como rede um conjunto de equipamentos que precisam trocar informações entre si conectados através de um meio, físico (cabos) ou não (wireless). Para que estes equipamentos possam conversar entre si é necessário que eles se comuniquem em uma língua em comum chamado protocolo. Um dos mais comuns é o TCP / IP.[1]

    Agora que temos o meio de comunicação que funciona através de pacotes, precisamos definir um endereço de rede e de host. Faço aqui uma analogia para tentar simplificar o processo para que ele não fique chato e que fique mais fácil de se entender para os mais leigos:

    A rede seria como o bairro, o endereço de rede seria como o endereço da sua rua e o host o número da sua casa, ok?

    Para que você receba os pacotes do correio endereçados à você, no pacote precisa estar escrito o seu endereço e o número da sua casa (assim como estado, país e outros detalhes que não interessam para esta explicação).

    Uma vez que o carteiro tem o endereço e o número da sua casa o pacote pode ser entregue.[1]

    Na rede ocorre o mesmo, para que os pacotes cheguem até você, é necessário que você tenha um endereço na rede. Assim como nos correios, nenhuma casa na mesma rua tem o mesmo número, o mesmo é verdadeiro para a configuração da rede. Nenhum computador na rede pode ter o mesmo endereço de host, mas podem estar na mesma rede. É geralmente conhecido como "endereço IP", nenhum computador pode ter o mesmo endereço IP, na verdade ele não pode ter o mesmo endereço de host que o identificam na rede.

    Quem define o que é rede e o que é host?
    Quem define o que é rede e o que é host, é a máscara de rede ou Netmask, para mais informações sobre suas classes e outras informações relacionadas, favor acessar este link.

    Na nossa configuração usaremos a classe C, a máscara de rede desta classe é:
    255.255.255.0 O que está em negrito é a rede e em itálico o host, host é o endereço do seu computador na rede.

    O endereço de host vai de 1 até 254, exemplo:
    192.168.1.1
    192.168.1.2
    ...
    192.168.1.254

    O zero e 255 definem coisas diferentes, o zero define todos os hosts pertencentes àquela rede já o 255 define o BROADCAST da rede, exemplo:

    192.168.1.0 - todos os hosts de 1 ~ 254 dessa rede.
    192.168.1.255 - endereço usado para broadcast.

    O broadcast nada mais é do que alguém na rede falando com todos os hosts dessa rede, geralmente perguntando alguma coisa, exemplo:

    192.168.1.5 pergunta, "quem é 192.168.1.254"
    O roteador responde, "GATEWAY"
    Alguém pergunta, "cade o DHCP"?
    O roteador responde "sou eu 192.168.1.254"

    Assim os integrantes da rede ficam conversando através do broadcast perguntando coisas diversas, abaixo um exemplo real capturado com o wireshark, eu troquei o endereço de MAC por xx:
    Código:
    202	26.390786	Tp-LinkT_xx:xx:xx	AsustekC_xx:xx:xx	ARP 60  Who has 192.168.1.9?  Tell 192.168.1.254
    203	26.390818	AsustekC_xx:xx:xx	Tp-LinkT_xx:xx:xx	ARP 42  192.168.1.9 is at xx:xx:xx:xx:xx:xx
    204	28.638965	AsustekC_xx:xx:xx	Broadcast         ARP 42  Who has 192.168.1.21?  Tell 192.168.1.9
    206	30.190538	AsustekC_xx:xx:xx	Broadcast	        ARP 42  Who has 192.168.1.21?  Tell 192.168.1.9
    Ficou claro a questão de rede e host?
    Tenha absoluta certeza de que ficou entendido, pergunte se houver alguma duvida, pois daqui para frente usarei os termos corretos que são rede, host e classes de IP.

    Temos a questão de Classes de IP que não irei abordar aqui para não ficar muito longo, recomendo a leitura deste link do meu amigo Carlos E. Morimoto, não é obrigatório para o nosso tutorial, mas é para quem desejar aprender mais. Assim usaremos uma rede da classe C daqui para frente, muitos usam essa classe de IP pois é muito improvável que alguém use mais de 254 hosts dentro de casa.

    Instalando o OpenWRT

    O firmware do OpenWRT pode ser baixado do site oficial, verifique se o seu aparelho é compatível e baixe a versão adequada para o seu aparelho, para fins deste exemplo usaremos o TL-WR1043ND.

    Com o passar do tempo os desenvolvedores vão liberando "Release Candidates" (rc1, rc2, rc3, etc) que são versões beta do firmware, se possível use as versões finais, no entanto são nestas RC's que saem atualizações e correções para problemas da versão estável assim a prioridade são as versões finais, em caso de problemas tente uma das RC's mas saiba que muitas essas versões beta podem causar problemas de travamento e inclusive "brick" aonde você só vai conseguir recuperar via terminal.

    Baixe o firmware 'openwrt-ar71xx-tl-wr1043nd-v1-squashfs-factory.bin' que no caso é para o meu roteador Tl-WR1043ND, atenção a palavra 'factory' esse firmware é para ser usado em roteadores com o firmware 'de fábrica' (original). A outra versão 'openwrt-ar71xx-tl-wr1043nd-v1-squashfs-sysupgrade.bin', serve para atualizar roteadores que já usam o OpenWRT.

    Se logue na interface do TP-Link e vá em firmware upgrade e use o firmware versão 'factory' e aguarde a atualização, tenha certeza de que o seu computador está na rede 192.168.1.0 pois quando o OpenWRT terminar a sua instalação ele estará acessível no endereço 192.168.1.1. Ao acessar o OpenWRT pela primeira vez ele vai pedir para você definir uma senha, clique em login 'sem colocar senha' e clique na mensagem vermelha que aparece na tela para configurar a senha.


    A configuração em etapas

    System
    1. A não ser que você more em outra região do Brasil que use outro "time zone" como o Acre por exemplo, escolha America/Sao Paulo.
    2. NTP server são os servidores de hora, serve para você sempre ter a hora correta mesmo no horário de verão, existem centenas de servidores NTP, porém os melhores são os servidores da NTP.com.br da CEPTRO, cole os IP's em cada campo e clique no '+' para ir adicionando os outros servidores.
    Código:
    200.160.7.186
    201.49.148.135
    200.186.125.195
    200.192.232.8
    Clique em 'Save & Apply'

    Administration

    SSH Access
    Em interface escolha 'Lan'.

    SSH Keys
    1. Baixe os programas 'putty.exe' e 'puttygen.exe' neste link.
    2. Abra o puttygen clique em "Generate"
    3. Sacuda o cursor do mouse na área vazia, copie o texto que foi gerado e cole no campo SSH-Keys do OpenWRT.
    4. Em Key comment coloque um comentário qualquer como "Chave para o WR1043ND"
    5. Nos dois cambos vazios abaixo você define a senha desta chave, não use a senha do roteador escolha qualquer outra.
    6. Clique em 'Save public key' e salve a chave pública com um nome qualquer, como "dd-wrt-key_publico_1043.pub"
    7. Clique em 'Save private key' e salve a chave privada com um nome qualquer, como "dd-wrt-key_privado_1043.ppk"
    8. Clique em Save & Apply.

    Configurando o Putty

    1. Em Session digite o IP do roteador.


    2. Em Connection > SSH > Auth e localize a sua chave privada que você gerou com o Puttygen.


    3. Volte para 'Session' e digite um nome no campo 'Saved Sessions' para salvar as configurações e clique em Save, agora basta clicar duas vezes no nome que você deu para se conectar no roteador.

    4. Ao tentar se logar no roteador aceite a primeira mensagem e quando aparecer a tela do terminal, digite a senha que você escolheu no puttygen e não a senha do roteador.

    5. Bem vindo ao OpenWRT.


    Network

    WAN
    1. Tenha certeza de conectar o seu modem na porta WAN do seu roteador!
    2. Se você usa PPPoE defina o nome e usuário da sua conta de internet.
    3. Aqui eu uso GVT com modem roteado de fábrica e IP fixo em 192.168.25.1, para quem está na mesma situação defina as seguintes opções.

    Protocol - Static Address
    IPv4 address - 192.168.25.2
    IPv4 netmask - 255.255.255.0
    IPv4 gateway - 192.168.25.1
    IPv4 broadcast - 192.168.25.255
    Use custom DNS servers - Adicione o DNS primário e secundário do seu provedor.

    LAN
    A não ser que você queira mudar o IP do roteador, não há nada a fazer.

    WiFi
    ESSID - A seu critério
    Mode - Access Point

    Wireless Security
    Encryption - WPA2PSK
    Cipher - CCMP AES
    Key - Sua senha

    MAC-Filter
    Como comentei em outro tópico, esse filtro não oferece NENHUMA segurança para quem tem experiência em invasão de redes wireless, porém, é um tipo de feature que afasta curioso que não sabe o que fazer com ele.

    MAC-Address Filter - Allow listed only
    MAC-List - Adicione o endereço MAC dos seus aparelhos wireless no formato 11:22:33:44:55:66

    DHCP and DNS
    DNS forwardings - Ao usar essa configuração você faz com que o roteador encaminhe as pesquisas de DNS direto para o servidor e o roteador armazena um pequeno cache para pesquisas futuras. Adicione o IP de DNS primário e secundário separado por espaço.

    Um exemplo prático da melhora da perfomance com cache.

    direto no servidor
    Código:
    dig @200.175.5.139 cnn.com
    
    ; <<>> DiG 9.3.2 <<>> @200.175.5.139 cnn.com
    ; (1 server found)
    ;; global options:  printcmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 975
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
    
    ;; QUESTION SECTION:
    ;cnn.com.                       IN      A
    
    ;; Query time: 82 msec
    ;; SERVER: 200.175.5.139#53(200.175.5.139)
    Fazendo forward no roteador
    Código:
    E:\>dig @192.168.1.254 cnn.com
    
    ; <<>> DiG 9.3.2 <<>> @192.168.1.254 cnn.com
    ; (1 server found)
    ;; global options:  printcmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1970
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
    
    ;; QUESTION SECTION:
    ;cnn.com.                       IN      A
    
    ;; Query time: 4 msec
    ;; SERVER: 192.168.1.254#53(192.168.1.254)
    Segunda pesquisa direta no servidor
    Código:
    dig @200.175.5.139 cnn.com
    
    ; <<>> DiG 9.3.2 <<>> @200.175.5.139 cnn.com
    ; (1 server found)
    ;; global options:  printcmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 566
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
    
    ;; QUESTION SECTION:
    ;cnn.com.                       IN      A
    
    ;; Query time: 10 msec
    ;; SERVER: 200.175.5.139#53(200.175.5.139)
    Segunda pesquisa no roteador
    Código:
    E:\>dig @192.168.1.254 cnn.com
    
    ; <<>> DiG 9.3.2 <<>> @192.168.1.254 cnn.com
    ; (1 server found)
    ;; global options:  printcmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2020
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
    
    ;; QUESTION SECTION:
    ;cnn.com.                       IN      A
    
    ;; Query time: 0 msec
    ;; SERVER: 192.168.1.254#53(192.168.1.254)
    Static Leases
    Defina os hosts que precisam receber sempre o mesmo IP, como impressoras por exemplo.

    Hostnames
    Para evitar que o roteador tente resolver os nomes dos hosts, defina o nome dos seus computadores seguido do IP.

    Firewall

    General Settings
    1. Essa parte merece um post específico, para inicio apenas troque tudo o que for REJECT para DROP.
    2. Em Rules, modifique o ICMP (echo-request) para DROP.


    Custom Rules
    Você pode adicionar as suas regras de firewall, adicione as regras abaixo para um início, num próximo tutorial eu entrarei com mais detalhes.

    Código:
    # Habilita interface web do roteador
    iptables -I INPUT -i br-lan -p tcp -s 192.168.1.9 -d 192.168.1.254 --dport 80 -j ACCEPT
    
    # Habilita pesquisa DNS
    #iptables -I INPUT -i br-lan -p tcp -s 192.168.1.0/24 --dport 53 -j ACCEPT
    iptables -I INPUT -i br-lan -s 192.168.1.0/24 -d 192.168.1.254 -p udp --dport 53 -j ACCEPT
    iptables -I OUTPUT -o eth0.2 -p udp --dport 53 -s 192.168.25.0/24 -d 0/0 -j ACCEPT
    
    # Habilita NTP
    iptables -I OUTPUT -o eth0.2 -p udp -s 192.168.25.2 --dport 123 -j ACCEPT
    
    # Habilita SSH
    iptables -I INPUT -i br-lan -s 192.168.1.0/24 -d 192.168.1.254 -p tcp --dport 22 -j ACCEPT
    
    # Bloqueia trafego de NETBIOS
    iptables -I INPUT -i br-lan -p udp -s 192.168.1.0/24 --sport 137:139 --dport 137:139 -j DROP
    iptables -I INPUT -i eth0.2 -p udp -d 192.168.1.0/24 --sport 137:139 --dport 137:139 -j DROP
    Isso encerra o nosso pequeno tutorial.
    Última edição por wuemura : 22-04-2012 às 18:57

  15. #14
    Membro
    Autor do tópico
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Feb 2004
    Mensagens
    1.295
    Verdinhas
    133

    Puxa vida, excelentes contribuições!

    Fazia tempo que eu não acessava aqui. Depois vou ler tudo com calma e acrescentar mais algumas coisas.

  16. #15
    Membro
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Apr 2012
    Mensagens
    6
    Verdinhas
    0

    Uma duvida.

    Assim como no DD-WRT é facil voltar ao firmware original ? Se sim poderiam portar como faze-lo ?

    Obrigado!

  17. #16
    hardMOB Staff - Moderação Avatar de wuemura
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Sep 2007
    Mensagens
    5.351
    Verdinhas
    5831

    Citação Citando Freax Ver mensagem
    Assim como no DD-WRT é facil voltar ao firmware original ? Se sim poderiam portar como faze-lo ?
    Geralmente, basta instalar o firmware do fabricante. No entanto leia as informações do seu aparelho na página do OpenWRT pois pode haver procedimentos diferentes para alguns tipos de hardware.

  18. #17
    Membro Avatar de alexandre.soares
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Apr 2009
    Mensagens
    928
    Verdinhas
    321

    wuemura!

    Parabéns pela iniciativa!

    Pode contar comigo, por tua causa, agora sou um apaixonado pelo OpenWRT e estou a procura de mais um roteador para deixar de servidor de torrent! Fiz umas modificações legais no meu 1043nd e vou postar logo que eu fiz.

    Abraços

  19. #18
    Membro
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Apr 2012
    Mensagens
    6
    Verdinhas
    0

    Realmente OpenWRT é muito bom, troquei o ddwrt por ele e até o presente momento tem se mostrado mais estável e veloz.

    Seria interessante que todos os posts de configuração fosse movidos para o primeiro post afim de facilitar a busca, agradeço ao wuemura e ao rodpp estou utilizando as configurações postadas.

    Gostaria de saber se já usaram o hub usb?, se já qual recomendam.

  20. #19
    Membro
    Autor do tópico
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Feb 2004
    Mensagens
    1.295
    Verdinhas
    133

    Citação Citando Freax Ver mensagem
    Realmente OpenWRT é muito bom, troquei o ddwrt por ele e até o presente momento tem se mostrado mais estável e veloz.

    Seria interessante que todos os posts de configuração fosse movidos para o primeiro post afim de facilitar a busca, agradeço ao wuemura e ao rodpp estou utilizando as configurações postadas.

    Gostaria de saber se já usaram o hub usb?, se já qual recomendam.
    Sim, podemos organizar o primeiro post, colocando links para os posts com os tutoriais por exemplo. Já tem muita informação útil neste tópico. Estou um pouco sem tempo para organizar e vou viajar neste feriado, mas assim que der uma folga vou organizar e escrever mais alguns tutoriais úteis para juntar com os que foram postads até agora.

    Deixem suas sugestões também para a organização do tópico, como ainda está pequeno está fácil organizar. Depois é só ir acrescentando links para os novos posts úteis.

    Uma idéia boa é a cada compilação de posts úteis, linkados no primeiro post, indicar até qual número de post foi verificado.

  21. #20
    Membro
    Autor do tópico
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Feb 2004
    Mensagens
    1.295
    Verdinhas
    133

    Citação Citando Freax Ver mensagem
    Gostaria de saber se já usaram o hub usb?, se já qual recomendam.

    Eu já usei um HUB USB da D-Link de quatro portas com alimentação externa. Conectado a ele um pen drive e um HD portátil. Funcionou bem por bastante tempo, mas depois só o pen drive era reconhecido. Como estava sem tempo não verifiquei o problema e esta semana comprei mais um WR1043ND e zerei a configuração do antigo e configurei um WDS, com os dois routers usando OpenWRT. Na próxima semana vou refazer as configurações de torrent, swap, ftp, etc, e vou ligar novamente o HUB e ver se funcionará. Aproveitarei para documentar os passos e postar neste tópico, mas não prometo nenhum prazo.

    Na minha opinião é importante usar um HUB com alimentação externa porque só a alimentação da USB do router acho pouco para alimentar o HUB e HDs conectados a ele.

  22. #21
    Membro
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Nov 2010
    Mensagens
    281
    Verdinhas
    118

    Excelente documentação e tutorial. Pessoal fala muito do dd-wrt, tem bastante coisa, mas acho o openwrt melhor para aparelhos com chipset atheros.

    Não sei se é proibido, mas acho que toda documentação e contribuição é válida para tirar o máximo dos nossos roteadores. Tenho tutoriais completos e bem detalhados do: transmission, samba, ftp, minidlna, pyload. Todos rodando 100% no wr1043nd. Acho que poder útil para alguém, e apesar de ser baseado no wr1043nd, funciona em qualquer dispositivo com chipset atheros que tenha os requisitos necessários.

    http://mndti.com/tutoriais/1129-tp-l...amba-e-torrent

  23. #22
    hardMOB Staff - Moderação Avatar de wuemura
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Sep 2007
    Mensagens
    5.351
    Verdinhas
    5831

    Citação Citando Freax Ver mensagem
    Seria interessante que todos os posts de configuração fosse movidos para o primeiro post afim de facilitar a busca, agradeço ao wuemura e ao rodpp estou utilizando as configurações postadas.
    Não se preocupe, o moderador (viu Thunder ) depois organiza tudo isso como ele fez no tópico do DD-WRT.

  24. #23
    Membro
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Apr 2012
    Mensagens
    6
    Verdinhas
    0

    ThiagoInfo Dei uma lida no link e creio que seria interessante postar o conteúdo aqui para facilitar a busca.
    E se me permite uma critica construtiva achei que o blog onde se encontra o tutorial bem poluído, "difícil" de ler, espero que não se ofenda.

    Abraço e parabéns pela iniciativa, vou por em pratica suas dicas ainda hoje.

  25. #24
    Membro
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Nov 2010
    Mensagens
    281
    Verdinhas
    118

    Citação Citando Freax Ver mensagem
    ThiagoInfo Dei uma lida no link e creio que seria interessante postar o conteúdo aqui para facilitar a busca.
    E se me permite uma critica construtiva achei que o blog onde se encontra o tutorial bem poluído, "difícil" de ler, espero que não se ofenda.

    Abraço e parabéns pela iniciativa, vou por em pratica suas dicas ainda hoje.
    Claro que não...estou desenvolvendo um novo site, mas limpo. Porém falta tempo.

    Quanto ao tutorial eu até pensei em fazer isso, mas o conteúdo é bem extenso, pensei em compartilhar pra ajudar e complementar aqui. Mas vou ver se copiar o conteúdo aqui sem pega formatação, se pegar coloco aqui.

  26. #25
    hardMOB Staff - Moderação Avatar de wuemura
    Info Conteúdo e Citações Jogos Mensageiros
    Registro
    Sep 2007
    Mensagens
    5.351
    Verdinhas
    5831

    O Firewall

    Depois de muito tentar entender o que diabos os desenvolvedores do OpenWRT tentaram fazer com aquela interface de firewall eu decidi tentar parar de entender aquela bagunça de scripts e partir do zero, nada contra quem desenvolveu aquilo para pensando nos usuários mais leigos no assunto e oferecer uma solução pronta, no entanto eles não pensaram que pessoas com mais experiência como eu que também gostaria de manipular o firewall da maneira que nós acharmos que deveria ser ou que precisamos que seja.

    Uma coisa que não irei fazer neste tutorial é descrever o que é o iptables (ferramenta usada para montar o nosso firewall) e como ele funciona pois existem na internet centenas de milhares de documentos em Inglês e Português que já lidam com todos estes detalhes. A minha ideia aqui será lidar, novamente, com o pessoal mais leigo no assunto já que afinal de contas, um usuário experiente em iptables não precisaria estar lendo este tutorial, correto? ERRADO!

    Esse documento também vai servir para pessoas que acham que entendem de iptables e cometem erros absurdos na construção do seu firewall, ou ainda, copiam a regra dos outros sem ter qualquer noção do que estão fazendo. Neste tutorial irei ensinar:

    1. Como desenvolver as suas próprias regras customizadas para a sua necessidade.
    2. Identificar, detectar e depurar problemas com as regras e tráfego de pacotes.
    3. Se você prestar atenção e aprender o que vou ensinar, em menos de 30 minutos você vai ter a capacidade de se tornar um avançado analista e desenvolvedor de firewall, assim muita atenção pois nunca mais você vai depender de ninguém para criar um firewall.

    Em menos de 30 minutos?

    Em meados do fim dos anos 90 eu criei um documento postado no news group da linux-br intitulado "aprendendo ipchains em menos de 30min" (ou alguma coisa assim) aonde eu peguei amigos que não tinham a menor noção do que era firewall com ipchains, no entanto consegui fazer com que aquele grupo de amigos conseguissem criar regras de firewall num estalar de dedos, continuavam não entendendo absolutamente nada de rede, mas montavam regras com a mão nas costas, seja criar regras "do nada" como reverter o log de volta para linha de comando.

    Por muito tempo me cobraram uma atualização de ipchains (na época) para iptables que eu não fiz por causa de plágio, pirataria de texto, gente que copia o seu texto todo, publica e sequer cita a fonte, pelo contrário, assume a criança como se fosse dela. Na época eu expliquei o caso neste fórum.

    Este tutorial será a atualização daquele antigo documento e que apareceu em muita revista e inclusive faculdades, esse é exclusivo para a hardMOB, não existe qualquer variante e mesmo em escolas/faculdades/livros especializados, essa lógica não é ensinada.

    O Básico

    Por questões óbvias de falta de espaço e da grandeza das funções do iptables eu não irei abordar todas elas aqui, sugiro a leitura da documentação oficial para aprender em detalhes sobre o assunto, assim como ler algo a respeito sobre como funciona as redes e protocolos. O que ensinarei será suficiente para um inicio prático para aprender o princípio da coisa depois vocês correm atrás do conhecimento por trás de tudo isso.

    Essas são as cadeias (chains) que mais usaremos:
    INPUT = Entrada de pacotes.
    OUTPUT = Saída de pacotes.
    FORWARD = Encaminhamento, pacotes que precisam passar através do firewall para alcançar um host interno.

    Essas são as funções que mais usaremos:
    -p = Protocolo, se nenhum for definido assume todos.
    -A = Adiciona nova regra
    -I = Posiciona nova regra numa posição específica
    -s = Source, origem. Se nenhum for definido assume todos.
    -d = Destination, destino. Se nenhum for definido assume todos.
    --sport = Porta de origem. Se nenhum for definido assume todos.
    --dport = Porta de destino. Se nenhum for definido assume todos.
    -j = Alvo (target), especifica a decisão a ser tomada como ACCEPT (ACEITA), LOG (REGISTRA), DROP (DERRUBA), REJECT (REJEITA), etc.
    br-lan = Interface interna do switch (4 portas)
    eth0.2 = Interface WAN
    pppoe = Interface PPPoE

    No meu exemplo estarei usando o TP-Link TL-WR1043ND com o modem, já roteado, da GVT PowerBox.

    As regras

    As regras de firewall começam vazias:
    Código:
    # iptables -L
    Chain INPUT (policy ACCEPT)
    target prot opt source destination
    
    Chain FORWARD (policy ACCEPT)
    target prot opt source destination
    
    Chain OUTPUT (policy ACCEPT)
    target prot opt source destination
    Essa descrição vai aumentando ao adicionar novas regras.
    Uma regra simples é montada da seguinte maneira:
    iptables -A (nova regra) - p tcp (protocolo tcp) -s 192.168.1.1 (pacotes originados de 192.168.1.1) -d 192.168.1.254 (pacotes destinados a 192.168.1.254) -j ACCEPT (decisão, aceita todos os pacotes)

    Essa regra define que através do protocolo TCP, vindos de 192.168.1.1 para 192.168.1.254 são permitidos, como não definimos portas, todas elas serão aceitas.

    A primeira regra

    Essas são as minhas configurações, deixe as suas anotadas para um fácil acesso:

    PC
    IP: 192.168.1.9
    NETMASK: 255.255.255.0
    GATEWAY: 192.168.1.254
    DNS Primario: 1921.168.1.254

    Roteador TL-WR1043ND
    LAN
    IP br-lan: 192.168.1.254
    NETMASK: 255.255.255.0

    WAN (eth0.2): 192.168.25.2
    NETMASK: 255.255.255.0
    GATEWAY: 192.168.25.1
    BROADCAST: 192.168.25.255
    DNS Primário: 200.175.5.139
    DNS Secundário: 200.175.89.139

    Claro que os valores da sua WAN vai mudar caso você use PPPoE.

    Antes de criar a sua primeira regra, entre no terminal via putty (ssh), pare o serviço de firewall e desabilite-o com os comandos abaixo:
    Código:
    [email protected]:~# /etc/init.d/firewall stop
    [email protected]:~# /etc/init.d/firewall disable
    Crie um arquivo executável para que possamos delinear como o firewall vai iniciar, eu não vou ensinar novamente como editar com o VIM, leia o tutorial anterior para tanto.
    Execute os comandos abaixo:
    Código:
    [email protected]:~# touch regras
    [email protected]:~# chmod +x regras
    [email protected]:~# vi regras
    Dentro do script 'regras' cole estas linhas:
    Código:
    #!/bin/sh
    IPT="/usr/sbin/iptables"
    
    # Apaga, limpa e zera todas as regras previamente criadas zerando os contadores "-X"
    # Depois derruba TODAS as conexoes com o firewall
    #
    cat /proc/net/ip_tables_names | while read table; do
      $IPT -t $table -L -n | while read c chain rest; do
                if test "X$c" = "XChain" ; then
                        $IPT -t $table -F $chain
                fi
            done
            $IPT -t $table -X
            $IPT -P OUTPUT  DROP
            $IPT -P INPUT   DROP
            $IPT -P FORWARD DROP
    done
    
    # Permite todo o trafego do localhost (loopback)
    # Obrigatorio
    $IPT -A INPUT -i lo -j ACCEPT
    $IPT -A OUTPUT -o lo -j ACCEPT
    
    # Define o tipo de conexao aceita, apenas as que ja foram estabelecidas
    # ou que esteja relacionada, entrada e saida.
    $IPT -A INPUT     -i br-lan -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPT -A OUTPUT -o br-lan -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    # Libera o acesso SSH para o roteador
    $IPT -A INPUT -i br-lan -p tcp -s 192.168.1.9 -d 192.168.1.254 --dport 22 -j ACCEPT
    
    # OpenWRT GUI
    $IPT -A INPUT -i br-lan -p tcp -s 192.168.1.9 -d 192.168.1.254 --dport 80 -j ACCEPT
    
    # Encerra o script de forma correta
    exit 0
    Salve o script.

    192.168.1.9 = O IP do seu computador
    192.168.1.254 = O IP do seu roteador OpenWRT
    192.168.25.1 = Modem GVT
    192.168.25.2 = IP da interface WAN

    É possível utilizar variáveis para simplificar o IP como foi feito com o $IPT que é traduzido no momento que o script roda para /usr/sbin/iptables, eu não fiz para que seja possível ver os IP's e para ficar mais fácil a compreensão.

    Execute o script com ./regras e cruze os dedos
    Se tudo deu certo você deve conseguir utilizar o terminal sem qualquer problema (o terminal responde), caso contrário reinicie o roteador e verifique se copiou as regras corretamente.

    Execute o comando iptables -vnL --line-numbers e verifique se a tabela é a mesma abaixo:
    Código:
    [email protected]:~# iptables -vnL --line-numbers
    Chain INPUT (policy DROP 0 packets, 0 bytes)
    num   pkts bytes target     prot opt in     out     source               destination
    1        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
    2       11   804 ACCEPT     all  --  br-lan *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    3        0     0 ACCEPT     tcp  --  br-lan *       192.168.1.9          192.168.1.254       tcp dpt:22
    4        0     0 ACCEPT     tcp  --  br-lan *       192.168.1.9          192.168.1.254       tcp dpt:80
    
    Chain FORWARD (policy DROP 7 packets, 427 bytes)
    num   pkts bytes target     prot opt in     out     source               destination
    
    Chain OUTPUT (policy DROP 0 packets, 0 bytes)
    num   pkts bytes target     prot opt in     out     source               destination
    1        0     0 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0
    2        7   772 ACCEPT     all  --  *      br-lan  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    Se tudo deu certo até aqui, estamos sem internet, mas iremos arrumar e estabelecer todo o acesso passo a passo, o SSH está funcionando, aproveite e veja se consegue entrar na interface de OpenWRT pelo browser, entre na interface com o seu login e clique em Status > Firewall, deverá aparecer a mesma tabela.

    Reparem a regra de INPUT 3 e 4, notem que o filtro está permitindo a entrada através da interface br-lan, vindos EXCLUSIVAMENTE do meu computador para o ip do roteador, usando o protocolo TCP e pelas portas especificadas.

    Código:
    iptables -A INPUT -i br-lan -p tcp -s 192.168.1.9 -d 192.168.1.254 --dport 22 -j ACCEPT
    iptables -A INPUT -i br-lan -p tcp -s 192.168.1.9 -d 192.168.1.254 --dport 80 -j ACCEPT
    
    Chain INPUT (policy DROP 0 packets, 0 bytes)
    num   pkts bytes target     prot opt in     out     source               destination
    3        0     0 ACCEPT     tcp  --  br-lan *       192.168.1.9          192.168.1.254       tcp dpt:22
    4        0     0 ACCEPT     tcp  --  br-lan *       192.168.1.9          192.168.1.254       tcp dpt:80
    Apesar de estarmos permitindo a entrada pela interface br-lan na interface de saída está com o símbolo de genérico *. Não podemos definir uma interface de saída numa regra de entrada (e vice versa), para isso usamos a regra de saída.

    Na regra de saída definimos que a interface de saída será a br-lan e todas as conexões que forem relacionadas e estabelecidas.
    Código:
    iptables -A OUTPUT           -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    Chain OUTPUT (policy DROP 0 packets, 0 bytes)
    num   pkts bytes target     prot opt in     out     source               destination
    2        7   772 ACCEPT     all  --  *      br-lan  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    Reparem que nas regras de entrada (INPUT) se repetem, já que estamos permitindo o mesmo protocolo tanto na porta 22 quanto na porta 80, é possível criar apenas uma regra adicionando estas duas ou mais portas com o comando -m multiports:
    Código:
    [email protected]:~# iptables -D INPUT 3
    [email protected]:~# iptables -D INPUT 3
    [email protected]:~# iptables -I INPUT 3 -i br-lan -p tcp -s 192.168.1.9 -d 192.168.1.254 -m multiport --dports 22,80 -j ACCEPT
    
    [email protected]:~# iptables -vnL --line-numbers
    Chain INPUT (policy DROP 0 packets, 0 bytes)
    num   pkts bytes target     prot opt in     out     source               destination
    1        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
    2       89  6316 ACCEPT     all  --  br-lan *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    3        0     0 ACCEPT     tcp  --  br-lan *       192.168.1.9          192.168.1.254       multiport dports 22,80
    
    Chain FORWARD (policy DROP 19 packets, 953 bytes)
    num   pkts bytes target     prot opt in     out     source               destination
    
    Chain OUTPUT (policy DROP 10 packets, 760 bytes)
    num   pkts bytes target     prot opt in     out     source               destination
    1        0     0 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0
    2       56  8272 ACCEPT     all  --  *      br-lan  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    Funciona da mesma maneira, no entanto, o tráfego de pacotes/bytes será somado. Se você quiser mais para frente ter um controle do que entra e sai através destas postas é interessante deixar o tráfego separado.

    SOCORRO! Estou sem internet!!!!

    É daqui para frente que veremos como o firewall se comporta, como vamos solucionar estes problemas e como vamos aprender a criar as nossas regras. Abra o script 'regras' e adicione estas linhas no final dele antes do 'exit 0', salve e execute-o novamente com ./regras:
    Código:
    # Regras de Monitoramento de Bloqueio de Pacotes
    $IPT -A INPUT -m limit --limit 1/s -j LOG --log-level 5 --log-prefix "[ENTRADA] "
    $IPT -A OUTPUT -m limit --limit 1/s -j LOG --log-level 5 --log-prefix "[SAIDA] "
    $IPT -A FORWARD -m limit --limit 1/s -j LOG --log-level 5 --log-prefix "[ENCAMINHA] "
    
    # Encerra o script de forma correta
    exit 0
    O nosso firewall no momento está DERRUBANDO (DROP) TODAS AS CONEXÕES MENOS AS ESPECIFICADAS, quando a conexão chega encontra literalmente uma parede e nosso firewall como está fazendo um 'DROP' não há resposta, é como se não existíssemos. O que faremos de agora em diante é ir permitindo o que queremos.

    As regras de firewall obedecem a ordem em que elas são criadas, no exemplo acima, tudo o que estiver acima das regras de monitoramento de bloqueio de pacotes, o firewall ignora e o resto que vier depois ou não foi especificado em regra antes, ele registra.

    Tente novamente acessar http://www.hardmob.com.br/, alguma coisa? não?

    A nossa internet não funciona inicialmente por 3 motivos:
    1. Não está liberado a pesquisa DNS (UDP 53) e assim não conseguimos resolver www o que quer que seja.
    2. Não está liberado o acesso WEB (TCP 80) externo.
    3. Não há mascaramento e nem encaminhamento do tráfego externo para quem está requisitando.

    No browser, acesse a interface do OpenWRT, vá em Status > System Log e você vai notar que existe um grande quantidade de informações marcadas com ENTRADA, SAIDA e ENCAMINHA.

+ Responder Tópico Ir para o Fórum
Página 1 de 39 1 2 3 11 ... Última

Assuntos do tópico

Compartilhar

Permissões