Mostrando postagens com marcador Configuração de Rede. Mostrar todas as postagens
Mostrando postagens com marcador Configuração de Rede. Mostrar todas as postagens

sexta-feira, 3 de agosto de 2018

Redirecionamento de portas para acessar computador de rede interna (casa ou escritório) a partir de acesso externo, remotamente

Não sei porque demorei tanto para fazer um artigo sobre isso, mas enfim, estou fazendo agora.

Em geral, os provedores de acesso, ou os serviços de banda larga das mais variadas tecnologias (ADSL, Cabo, ATM etc) bloqueiam as portas 80, 22, 21, 25, e muitas outras portas baixas e conhecidas, e quanto a essas, não há nada a ser feito, a menos que tenha um plano de conexão empresarial, ou link direto com o backbone.

Além disso, o firewall do seu roteador, por segurança, bloqueia acesso para todas as demais portas.
Às vezes, entretanto, desejamos acessar um computador da nossa rede interna a partir de um computador externo conectado à Internet.
Para realizar esta tarefa, devemos:

1) Liberar uma porta (alta) no nosso roteador a partir da configuração do firewall
2) Especificar o endereço IP do computador desejado na rede interna
3) Especifiar a porta que computador da rede interna estará escutando no serviço por ele ofertado.

Deste modo, quando um computador externo procurar pelo IP do seu roteador na Internet solicitando o serviço da porta especificada (digamos, 20000), o roteador irá redirecionar a conexão para o computador da sua rede interna que está provendo o serviço na porta real que está sendo escutada (digamos, 21).

No OpenWRT, seguindo este link, vemos que precisamos configurar, o /etc/config/firewall, ou /etc/firewall.user, no caso de deixarmos as nossas configurações de usuário separadas das configurações do sistema.

Devemos incluir, em quaisquer dos dois arquivos, o seguinte trecho:
 
 config redirect                              
        option target 'DNAT'               
        option src 'wan'                      
        option dest 'lan'    
        option proto 'tcp udp'
        option src_dport '20000'  #porta que o roteador vai escutar     
        option dest_ip '192.168.1.171' #endereço do computador destino na rede interna
        option dest_port '21' #porta que o computador destino está escutando
        option name 'min' #pode ser qualquer nome
Depois, devemos reiniciar o firewall:

/etc/init.d/firewall restart

Para mais informações sobre redirecionamento de portas e configuração de firewall no OpenWRT, clique aqui.

domingo, 14 de junho de 2015

Instalando OpenWRT no TL-WDR4300 da TP-Link

Aviso: De todos as postagens que eu fiz até agora contando minhas aventuras com GNU/Linux, esta é a que você mais pode se f*der  muito se tentar reproduzir o que eu fiz de forma desatenta. Não me responsabilizo por qualquer c*gada eventualmente praticada, mas posso tentar dar uma ajuda, se estiver dentro da minha alçada de conhecimento. Gostaria de alertar que ainda não sei/precisei lidar com dispositivos "brickados" (na verdade, ainda estou para recuperar o meu WRT54G v8, da Linksys, e só vou tentar do jeito mais difícil quando tiver um tempinho. Nele, usei DD-WRT, porque a baixa quantidade de ROM não me permitiu instalar OpenWRT).
O que é OpenWRT?

OpenWRT é uma distribuição GNU/Linux para dispositivos embarcados, em particular roteadores wireless.
Ele possui uma vasta coleção de pacotes, que podem ser instalados no roteador de modo muito similar ao apt-get no Debian.
Ele pode aumentar o número de funcionalidades de seu roteador sem fio doméstico para que possua serviços e utilidades semelhantes a de um roteador profissional (a limitação, geralmente, está no tamanho da memória RAM, da ROM do aparelho, e claro, do processador), além de ser uma ótima plataforma para aumentarmos o nosso conhecimento de redes (além de Hacking de dispositivos).

No meu caso, eu comprei um TP-Link TL-WDR4300. Originalmente, estava interessado em uma máquina da Buffalo, com 32MB de ROM e 128MB de RAM, mas ela aumentou muito o preço e acabei comprando a que já citei anteriormente, com apenas 8MB de ROM, mas a mesma quantidade de ROM.
Fiz essa compra em julho do ano passado (2014), e tive de instalar uma versão "trunk" experimental da Barrier Break, construída por um usuário mais avançado. Queria ter avançado e mexido mais no sistema, mas Mecânica Quântica da pós não deixou, e eu demorei uns 2 meses só para configurar o aparelho, por pura falta de tempo.
A atual versão é a 14.07, "Barrier Breaker". As versões levam o nome de bebidas, e ao entrar no roteador por ssh, obtém-se (em inglês)a receita para fazê-la. Portanto, se você é um bebum (não é o meu caso, eu não bebo), tem mais uma razão para utilzar o OpenWRT. (Recomendo que a instalação e configuração sejam realizadas enquanto você está sóbrio).
Dentro de algumas semanas, uma nova versão "Chaos Calmer" sairá do forno.
 


Roteador Wireless TL-WDR4300 da TP-Link
Para instalar OpenWRT neste dispositivo, segui os seguintes passos, posteriormente detalhados:
1 - Verificar qual versão do dispositivo possui a partir da interface web do produto

Isto também pode ser feito conforme instruções deste site aqui.

2 - Utilizar a Interface do produto para fazer o backup do firmware para a restauração, caso seja necessário (embora o firmware possa ser obtido do site do fabricante), bem como das configurações anteriormente passadas, caso já estivesse utilizando o roteador antes de instalar OpenWRT (não foi o meu caso)

3 - Baixar a versão apropriada do firmware OpenWRT para o seu hardware (pode não ser o meu)

No meu caso, tive de baixar os arquivos openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin e openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin .
O primeiro, será utilizado para instalar o OpenWRT retirando o firmware da TP-Link. O segundo será necessário para seguir instalando e configurando coisas no roteador, além de, daqui para frente, sempre atualizar o sistema a partir de imagens sysupgrade.

4 - Instalar a versão por algum meio (em geral, a primeira instalação é feita a partir da interface web do próprio firmware original do dispositivo)

É recomendável fazer isso a partir de um computador que esteja conectado ao roteador via cabo, pois após a atualização do firmware para OpenWRT, o sinal wireless está, inicialmente, desligado.
Dá para fazer isso de várias formas, já fiz por tftp (no meu Linksys, dispensei o jeito fácil e fiz por tftp), mas a mais simples é utilizando a opção de upgrade de firmware da própria interface web do roteador.
Menu de configuração da interface web
No caso do TL-WDR4300, deve-se acessar o roteador pelo endereço 192.168.0.1(este é o endereço padrão do roteador na rede) em seu browser, clicar em "System Tools" --> "Firmware Upgrade" no menu à esquerda, e irá aparecer a tela onde deverá ser colocado o arquivo da firmware.
Tela de atualização de firmware
 Selecione o arquivo que contém o firmware "factory" do OpenWRT.

No meu caso, é o caminho para o arquivo openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin .
Após a instalação do firmware, se bem sucedida, você conseguirá acessar o roteador por telnet. O usuário é "root", e não há senha.
Após a configuração de uma senha, com o comando passwd, o acesso via telnet será desativado e a conexão se dará por ssh.

$ telnet 192.168.1.1 --> Para acessar o roteador, cujo o endereço é 192.168.1.1
root@OpenWrt:~# passwd --> Para alterar a senha do roteador.
Para acessar o roteador, posteriormente, deve-se acessá-lo com ssh:
$ ssh root@openwrt (o DNS está ativado).
Depois de instalado o firmware "factory", deve ser instalado o firmware "sysupgrade", e depois, todas as demais atualizações serão a partir de imagens "sysupgrade".

No próximo artigo, aprenderemos como configurar a rede wireless e a rede WAN (a conexão com a Internet).
Os artigos por vir são:
- Instalação da versão sysupgrade e  Configuração do OpenWRT
- Backup das configurações e atualização do firmware
- Um pouco da arquitetura do OpenWRT (estrutura de diretórios, arquivos de configuração, formas de configurá-lo etc) e do TL-WDR4300
- Instalando QoS (Controle de Qualidade, para controlar a distribuição de banda entre os clientes)
- Instalando dispositivos de armazenamento
- Configurando serviços como SAMBA, torrent, NFS

Possíveis serviços em que tenho interesse em configurar:
- VPN

sexta-feira, 4 de julho de 2014

DNS local com DNSmasq

Estava há anos querendo fazer isso: chamar meus computadores pelo nome na minha rede doméstica. Cheguei a queimar um wireless-router tentando fazer isso (não, o procedimento não causa nenhum dano, mas é que eu aproveitei o DD-WRT para aumentar a potência do sinal emitido pelas minhas antenas, e aí deu nisso). E quando a gente descobre que é um procedimento simples, acaba percebendo que só perdeu tempo.

Bem, vamos à disposição da minha rede.
Agora, tenho um roteador Multilaser que tem somente 2MB de FLASH ROM.
Obviamente, fiquei "com o cu na mão" para trocar o firmware dele, então, para fazer um teste, instalei o DNSmasq em outro computador (apt-get install dnsmasq, no Debian).

O DNSmasq é um servidor DNS (Domain Name Service) que não é tão poderoso quanto o bind9 e outros, mas serve muito bem para uma rede doméstica, ou pequenos escritórios.
Além de servidor DNS para LANs com mascaramento IP (NAT), ele também é um servidor DHCP, e TFTP (Trivial FTP, muito em máquinas diskless).

Quando se instala-o, é necessário fazer pequenos ajustes na segurança, caso a máquina em que vai ser instalada seja o roteador (ou que tenha acesso a redes mais amplas, como a Internet), ou habilitar o serviço DHCP. Tudo isso pode ser configurado no /etc/dnsmasq.conf

Lembrando que se o DNSmasq não for utilizado, podemos fazer um "DNS português" (peço desculpas aos entusiastas da Revolução dos Cravos, que são muito bem-vindos!), copiando o mesmo /etc/hosts para todos os computadores da rede, contendo o nome e endereço IP de todos eles.

Agindo como servidor DHCP também, o DNSmasq pode pegar os nomes dos hostnames e permitir que todos os computadores da rede consigam acessá-los pelos nomes.
Caso haja computadores e dispositivos com IPs estáticos, basta incluí-los no /etc/hosts do computador em que será instalado o dnsmasq (podendo ser o próprio roteador, se você tem melhor sorte do que eu) no seguinte formato:

#/etc/hosts
#IPs da máquina    Nomes das máquinas
192.168.1.17          URSS

Depois, é só reiniciar o dnsmasq. No caso do Debian, basta:
#invoke-rc.d dnsmasq restart

Depois, penso que há dois modos de configurar os clientes para usar o seu servidor DNS (que já vai fazer DNS caching usando os servidores DNS do provedor de acesso)

1) Configurar os clientes para só usar o seu servidor DNS, manualmente, um por um.

No Linux, isto é feito editando o arquivo /etc/resolv.conf, e colocando apenas essa linha:
nameserver XXX.YYY.ZZZ.DDD #, onde XXX.YYY.ZZZ.DDD é o número de IP do seu servidor DNS (o computador onde você instalou o DNSmasq).

2) Configurar o seu roteador e/ou servidor DHCP para enviar aos clientes o endereço IP do seu servidor DNS

Se o seu servidor DNS  e DHCP for o próprio roteador, basta colocar o IP dele e pronto no local apropriado do arquivo /etc/dnsmasq.conf, que está bem comentado (e eu vou colocar várias referências para fazer isso no final do artigo).
O meu roteador não tem o DNSmasq instalado (apenas o DHCP), mas utilizei essa solução mesmo assim, por simplicidade. O meu roteador, antes enviava para cada cliente os DNS primário e secundário oriundos do provedor. Agora, o DNS primário é o computador onde instalei o DNSmasq, e o secundário é o DNS oriundo do provedor (perdendo o DNS secundário).

Instalar um DNSmasq no próprio roteador wireless em vez de um PC externo permite reduzir o consumo de energia, por isso não me importei com a "gambiarra" que acabei de fazer (vou deixar o DNS server desligado, de vez em quando, e os outros computadores precisarão de um servidor DNS para acessar os computadores da Internet pelos seus nomes e domínios).

In a DNS bind? Get Out With dnsmasq

How to dnsmasq - Debian Wiki 

Dnsmasq For Easy LAN Name Services

How to Install and Configure dnsmasq

 Dnsmasq setup

Run a local DNS resolver with OpenWRT