quinta-feira, 13 de março de 2014

Comandos de Rede - Windows


Veja os principais comandos relacionados à rede para o Windows

IPCONFIG

O comando mais usual, serve para exibir as configurações de rede e algumas outras coisas

ipconfig :  Exibe as configurações de rede

ipconfig /all : Exibe todas as configurações incluindo servidores DNS, endereço MAC, etc...

ipconfig /release : Libera as configurações IP recebidas por DHCP.

ipconfig /renew : Executa uma nova solicitação DHCP. Caso nenhum servidor DHCP responda um IP APIPA aleatório (169.254.0.0/16) será configurado.

ipconfig /displaydns : Exibe o cache DNS do computador.

ipconfig /flushdns : Limpa o chache DNS.

ARP

O protocolo ARP relaciona os endereços MAC com os endereços IP dos computadores da rede. Sempre que um conexão com um host é iniciada deve haver uma entrada na tabela ARP com o seu endereço MAC.
Casa não haja, o protocolo ARP é acionado para descobrir o endereço deste host. Ele envia uma mensagem em broadcast "perguntando" para todos os computadores da rede qual o endereço MAC do host que possui aquele determinado endereço IP.

arp : Exibe as opções do comando para a manipulação da tabela ARP.


arp -a : Exibe a tabela arp

PING

O ping, tecnicamente conhecido como "ICMP echo", serve para testes de conectividade. Alguns pacotes de "echo" são enviados ao host, e o remetente aguarda uma resposta. O tempo de resposta de cada uma é calculado e mostrado na tela.

ping teste.com.br : Dispara um ping no host teste.com.br

ping -n 4 teste.com.br : O parâmetro "-n 4" indica a quantidade de pacotes que serão enviados.

ping -t teste.com.br : Dispara os pings indefinidamente, até que o usuário pressione CTRL+C .

ping -6 teste.com.br :  Força o uso do protocolo IPv6.

Outros


tracert teste.com.br : Rastreia a rota que os pacotes fazem até um determinado host.

Cada pacote IP possui uma variável chamada TTL ( Time to live, ou tempo de vida ). Cada roteador que o pacote atravessa o TTL é decrementado, se um roteador recebe um pacote com TTL igual à 1 o pacote é descartado e uma resposta de "tempo de vida expirou" é enviada ao remetente. O que o tarcert faz é enviar vários pacotes de ping com o TTL 1, 2, 3, e assim por diante. Assim, ele registra a mensagem de erro de cada roteador para montar o caminho.


nslookup teste.com.br : Faz uma consulta DNS sobre o host especificado usando o servidor definido na configuração de rede.

nslookup teste.com.br 8.8.8.8 : Faz uma consulta DNS sobre o host especificado ao servidor DNS 8.8.8.8

netstat : Exibe todas as conexões ativas no computador. Consulte "netstat /?" para ver mais opções.

route print : Exibe a tabela de roteamento.

nbtstat -c :  Exibe o cache dos nomes NeTBios das máquinas da rede.

segunda-feira, 10 de março de 2014

Configuração do proxy transparente


Uma das dificuldades de usar um servidor proxy na rede é ter que configurar todas as máquinas para usarem o serviço. Usando o truque do proxy transparante você obriga todos a passarem pelo proxy de qualquer jeito, sem a necessidade de qualquer configuração nas máquinas cliente.

No arquivo do squid basta uma única alteração. Na linha onde é especificada a porta você adiciona o parâmetro "transparent", como abaixo:

http_port 3128 transparent

Feito isto, temos que implementar uma regra de firewall para que todo o tráfego destinado a porta 80 seja redirecionado para o squid na sua porta (3128). Os cliente vão acessar as páginas normalmente, mas na verdade o tráfego destinado a porta 80, que passaria direto, será interceptado e direcionado ao Squid.

Abra o arquivo "/etc/rc.local" e coloque mais uma regra, juntamente com as regras que servem para compartilhar a conexão:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

A interface "eth0" representa a interface de rede interna e a porta "3128" deve ser a porta que você configurou no Squid.

A desvantagem de usar este método é que apenas o tráfego da porta 80 é filtrado pelo proxy. O acesso a sites em HTTPS (porta 443), por exemplo, terá de ser tratado no firewall.


Descriminando extensões de arquivos no Squid


Você pode definir os arquivos bloqueados (ou não) no squid pela sua extensão. Por exemplo para impedir o download de arquivos executáveis, vídeos ou mp3.

Veja:

acl extensoes url_regex -i \.avi \.mp4 \.mp3 \.exe
http_access deny extensoes

O parâmetro "-i" indica que todas as variações de minúsculas e maiúsculas também são consideradas.
Como nos outros casos você pode indicar um arquivo com a lista das extensões:

acl extensoes url_regex -i "/etc/squid/extensoes.txt"
http_access deny extensoes

Naturalmente, edite o arquivo e coloque as extensões uma por linha:

nano "/etc/squid/extensoes.txt"

\.cmd
\.bat
\.wma
\.wmv
\.vbs
\.msi
\.avi 
\.mp4 
\.mp3 
\.exe

Recarregue o Squid e faça os testes.

Arquivo do Squid - Lógica do mínimo acesso


Veja o segundo exemplo de arquivo do squid onde defino uma política de acesso onde tudo é bloqueado, exceto os sites definidos na lista branca. As redes sociais serão liberadas para acesso apenas em horário de almoço, exceto um computador específico que terá acesso à elas em qualquer horário.


# Configurações básicas
http_port 3128
visible_hostname Servidor-Debian
cache_mem 64 MB
error_directory /usr/share/squid/errors/Portuguese 


# Configuração do Cache 
maximum_object_size_in_memory 128 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 2048 16 256
cache_access_log /var/log/squid/access.log
 

 # Declaração das ACL's
acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255

acl RedeLocal src 10.0.66.0/24
acl Safe_ports port 80 443 563 21 20 280 488 777 901

acl PCdoChefe src 10.0.66.90
acl almoco time 11:00-14:00
acl ListaBranca dstdom_regex "/etc/squid/listabranca.txt"
acl RedesSociais dstdom_regex "/etc/squid/redessociais.txt"

# Configuração dos acessos
http_access deny !Safe_ports
http_access allow PCdoChefe RedesSociais
http_access allow RedeLocal RedesSociais almoco
http_access allow RedeLocal ListaBranca
 
http_access deny all


Assim que terminar você deve reiniciar o serviço do SQUID e ver se ele não apresenta nenhum erro. Caso haja algum, corrija no arquivo e reinicie novamente:

service squid restart

Repare que qualquer site que possa ser acessado deve ser especificado no arquivo "/etc/squid/listabranca.txt". É uma configuração mais segura, porém muito mais polêmica e burocrática.
Não se esqueça de editar os arquivos com os endereços dos sites liberados e o das redes sociais.

nano /etc/squid/listabranca.txt

Veja uma exemplo:

www.uol.com.br
www.live.com
www.hotmail.com
www.google.com.br
gmail.com
globo.com
veja.abril.com.br

E o arquivo com os endereços das redes sociais liberadas:

nano /etc/squid/redessociais.txt

O conteúdo pode ser como este:

www.fb.com
facebook.com
pr-br.facebook.com
plus.google.com
orkut.com
orkut.com.br

Faça os testes ! :-)

terça-feira, 4 de março de 2014

Equipamentos da rede e os protocolos


Veja a função dos principais equipamentos que compõem um rede de computadores, e os principais protocolos.

Host (Nó): Hosts são computadores, servidores, tablets, telefones ou outros dispositivos de uso final. Ele são a ponta final da rede. Geram as informações e enviam elas para outros nós.


Repetidor: Um repetidor é um equipamento que serve para regenerar um sinal em um meio de transmissão. Ao longo do percurso o sinal sofre degradação(atenuação). O repetidor recebe o sinal enfraquecido e regenera para a retransmissão. São usados para aumentar o alcance de uma rede, por exemplo os longos cabos submarinos, onde em alguns pontos do trecho são colocados repetidores ópticos para regenerar o sinal e fazer com que ele chegue na outra ponta intacto. Outro exemplo são redes wireless, onde a área de cobertura do sinal é limitada, então é comum colocarem repetidores para levar o sinal à distâncias maiores.

HUB: O hub é um aparelho concentrador, na verdade um repetidor. Todos os cabos de rede são conectados à ele, fazendo a comunicação entre os hosts possível. O hub atua como um repetidor (apenas na camada 1), já que para cada sinal recebido em uma porta, ele é apenas repetido em todas as outras. Redes conetadas por um hub funcional na topologia lógica barramento e naturalmente em half-duplex, formando um único domínio de colisão. Cada dispositivo conectado deve transmitir e receber alternadamente e evitar colisões.



Access Point: Um AP funciona exatamente como um hub, mas sem fios. O meio de transmissão usado é o ar, onde os equipamentos usam um canal de frequência eletromagnética para se comunicar.


Bridge (Ponte): Uma bridge serve para unir segmentos diferentes da mesma rede. Por exemplo, um segmento da rede conectado por cabo coaxial unido a um segmento de cabo de par trançado. A maioria dos Access points atua como uma bridge, unindo o segmento wireless à um switch, onde os computadores são conectados por cabos. Rede unidas por bridges formam um mesmo domínio de broadcast, e todos os nós podem se comunicar diretamente.

Switch: O switch faz o mesmo trabalho de um hub, porém de uma maneira mais engenhosa. O switch analisa os dados da camada 2, armazena os endereços MAC dos dispositivos conectados em cada porta e monta a tabala MAC. Os frames recebidos pelo switch são encaminhados apenas à porta fíica onde o destinatário da mensagem está conectado, de acordo com o endereço MAC. Desta forma a rede pode trabalhar em full duplex, e não há colisões.

Switch Netgear de 24 portas 100Mbps + 4 portas 1Gbps


Roteador: O roteador conecta redes diferentes. Por definição um roteador deve participar de no mínimo 2 redes (domínios de broadcast diferentes), e assim encaminha pacotes de uma rede a outra. Ele analisa os endereços da camada 3(endereços IP) e determina se o pacote deve "saltar" da uma rede para outra. Como cada rede não está no mesmo domínio de broadcast, os hosts destas redes não podem enviar mensagens diretamente entre si, eles são "orientados" a usar o roteador para encaminhar os pacotes de uma rede a outra. Se o roteador recebe um pacote destinado a uma rede desconhecida por ele, o pacote pode ser encaminhado a outro roteador, e assim por diante até que atinja o host de destino.

Em geral temos roteadores em casa para se conectar à Internet. Nossos roteadores domésticos "participam" da nossa rede local e da rede do provedor de acesso. Eles utilizam da técnica chamada NAT, para que com apenas um endereço IP público, fornecido pelo provedor, vários dispositivos da nossa rede possam se conectar à grande rede. Os hosts fora da nossa rede "enxergam" apenas o endereço IP público do nosso roteador.

A Internet é conectada por muitos roteadores, cada um participa de um conjunto de redes. Eles trocam informações sobre as melhores rotas para cada destino, cabe a eles determinar o melhor caminho dependendo da rede de destino de um pacote. Eles devem evitar caminhos congestionados e direcionar o tráfego por outras rotas caso uma delas esteja "fora do ar". O roteadores unem todas as redes do mundo formando o que chamamos de Internet.

Gateway: O roteador também é chamado de gateway. Fazendo um analogia a um portão de saída, já que os pacotes de uma rede destinados a outras redes são encaminhados para fora através dele.

Modem(Modulador/Demodulador): Geralmente contratamos serviços de um provedor que chegam por meios de natureza diferentes, por isso precisamos de um equipamento para converter os sinais de meio para outro. Os modems servem para converter os sinais de um meio físico para outro e vice-versa. Por exemplo, um modem ADSL recebe e envia os sinais de uma rede Ethernet para a rede telefônica, ou um modem óptico que converte os sinais da rede Ethernet em sinais ópticos. Outro exemplo é a conexão por cabo(coaxial) usado em redes de TV à cabo.

Firewall: Em essência. um firewall é o software que monitora as conexões de rede. A função do firewall é analisar cada pacote e filtrá-los de acordo com as regras definidas, como uma espécie de alfândega. Os firewalls protegem a rede impedindo conexões suspeitas ou indesejadas. Um firewall pode ser vendido como um hardware ou apenas o software. Pode ser implementado em um computador específico (firewall local) ou pode ser configurado no Gateway da rede para filtrar tudo que entra ou sai dela.



Proxy: O proxy atua como um intermediário. Por exemplo um proxy web: Ao invés de os clientes se conectarem aos servidores web para acessar as páginas, ele solicitam para o servidor proxy, que faz o trabalha para eles.A conexão é fechada com o servidor proxy e não diretamente com os sites que queremos acessar. A vantagem de usar um proxy para acessar a Web é que ele pode fazer cache das páginas e objetos, acelerando a entrega do conteúdo, e principalmente por ele gerar relatórios de acesso. Um proxy é uma ferramenta muito útil para os administradores de rede, além de monitorar os acessos do pessoal, ele pode fazer regras para definir o que pode ou não ser acessado, por quem, quando, onde e em que horário.

Servidor: Qualquer máquina que disponibiliza um serviço para a rede pode ser chamada de servidor. Por exemplo um computador que compartilha uma impressora ou uma pasta. Numa rede complexa existem muitos serviços (DHCP, DNS, Proxy, FTP, HTTP, etc) e cada um deles é exercido por um servidor.
Alguns computadores são projetador para serem servidores dedicados e são vendidos com um hardware mais robusto, visando alta disponibilidade e alto desempenho. Da mesma maneira, sistemas operacionais otimizados para serem servidores (Windows Server ou Red Hat Enterprise Linux por exemplo) são mais estáveis e seguros, sob a premissa de que vão trabalhar 24h por dia 7dias por semana.



Protocolos

Todas as comunicações são possíveis se todos usarem de um mesmo conjunto de regras para orientá-las. Chamamos isto de protocolos. Existem protocolos para regulamentar tudo em uma rede, cada parte da comunicação, cada tecnologia, cada serviço.
Placas de rede e switchs de fabricantes diferentes se comunicam por que usam o mesmo protocolo(Ethernet). A Internet funciona sobre um protocolo de endereçamento e gestão do tráfego, o IP (Internet protocol). Equipamentos e softwares de fabricantes diferentes se comunicam por usarem os mesmo protocolos. As páginas que acessamos na Web obedecem o mesmo protocolo, HTTP. Por isso podemos acessar vários servidores Web usando navegadores de qualquer fabricante.

Exemplos:

Ethernet: É um protocolo de camada 2, que define as placas de rede Ethernet, os seus endereços MAC e a forma como elas se comunicam com os switchs, etc. Como as placas de rede e os switchs atendem ao mesmo protocolo eles conseguem se comunicar naturalmente. Os equipamentos ethernet podem aparecer em velocidades diferentes, usando cabos de par trançado (UTP) ou fibra óptica:

 - 10BASE2: 10Mbps usando cabos caoxiais
 - 10BASE-T: 10Mbps usando cabos de par trançado
 - 100BASE-TX: 100Mbps usando cabos de par trançado
 - 1000BASE-T: 1Gbps usando cabos de par trançado

802.11: É um protocolo similar ao Ethernet porém wireless. Todos os dispositivos dotados de Wi-fi obedecem a este protocolo, notebooks, tablets, placas de rede wireless, access points, etc. Existem algumas variações do protocolo de acordo com a frequência e velocidade de transmissão dos dados:

     - 802.11a (ultrapassado): Trabalha a 5.8Ghz. Trabalha em velocidades de até 54Mbps.
     - 802.11b (ultrapassado): Trabalha a 2.4Ghz. Trabalha em velocidades de até 11Mbps.
     - 802.11g (em decadência): Trabalha a 2.4Ghz. Trabalha em velocidades de até 54Mbps.

     - 802.11n (Padrão atual) : Trabalha em 5.8 ou 2.4 Ghz. Trabalha com velocidades bem maiores, variando de 72 à 300Mbps em média.
     - 802.11ac (Padrão em acensão): Trabalha em 5.8 ou 2.4 Ghz e traz funcionalidades novas em relação à versão N, visando otimizar a propagação dos sinais e a velocidade.

IP (Internet protocol): É o protocolo de camada 3 que define o endereçamento dos hosts e a definição lógica de redes diferentes para serem conectadas.Os dispositivos se comunicam a partir dos seus endereços IP. Os endereços IP são análogos aos endereços de telefone celular. Atualmente estamos vivendo a transição do protocolo IP versão 4 para o IPv6.

DNS (Domain name system): Define a nomenclatura de nomes dos hosts na rede relacionando-os ao seu endereço IP. Os servidores DNS armazenam uma lista com os nomes e os endereços IP correspondentes, análogos à uma agenda ou lista telefônica. As máquinas fazem consultas aos servidores DNS para encontrar um endereço IP a partir de um nome e vice-versa. Trabalha na porta 53 UDP por padrão.

DHCP: É um protocolo de configuração automática de endereços IP. Um servidor DHCP atua na rede aguardando solicitações de outros hosts por atribuição de endereços IP. O DHCP verifica os endereços MAC dos seus clientes e envia um endereço IP para que seja usado. Ele facilita a configuração dos endereços IP na rede, evitando que seja feito manualmente.

HTTP: É o protocolo que transporta as páginas web que acessamos diariamente. Ele define os padrões para a comunicação do seu navegador com os servidores web, e como o código das páginas web (HTML) deve ser formatado. Trabalha na porta 80 TCP por padrão.
O servidor web hospeda as páginas e aguarda a solicitação dos clientes(navegador web). Assim que solicitada a página é enviada, com o seu código HTML, para o cliente. A Web é de longe o serviço mais popular na Internet.

Conceitos básicos de Redes


Neste artigo vou apresentar os conceitos básicos de comunicações e redes de computadores.

Se você fala em uma Rede, implica em comunicação. Uma comunicação é composta por 3 ingredientes:

O Emissor, o canal e o receptor:


Tipos de comunicação

Existem 3 tipos básicos de comunicação:

 - Simplex: Um nó apenas transmite o sinal e outro apenas o captura.
         Ex: Rede de televisão, rádio FM

 - Half-Duplex: Ambos transmitem e recebem, mas não ao mesmo tempo.
         Ex: Rádio Walk talk(PTT), redes em topologia barramento (Hub, wireless)
    


 - (Full) Duplex: Ambos enviam e recebem mensagens ao mesmo tempo. Ex: Telefonia em geral.



Encaminhamento

As mensagens geradas em uma comunicação podem ser encaminhadas de 3 maneiras diferentes:
 - Unicast: Uma mensagem endereçada a um nó específico, uma comunicação de 1 para 1.
 

 - Multicast: A mensagem é endereçada a um grupo de nós.
  

 - Broadcast: A mensagem é difundida no meio de transmissão e destinada a todos os nós, ou qualquer um que possa receber. Por exemplo o sinal de televisão aberta ou rádio FM.
 

Classificação

LAN: Local area Network. É uma rede local. Faz referência a uma área limitada, como uma escola, um escritório ou uma casa por exemplo. Geralmente são redes com poucos switchs ou mesmo redes sem fio que atendem um local limitado.

MAN: Metropolian area Network. É uma rede de alcance maior. Geralmente nos referimos a redes onde há várias LAN's conectadas entre si, abrangendo diferentes locais numa cidade ou região.
Por exemplo a rede de uma Universidade que conecta um campus a outro, onde em cada um há algumas LAN's. No final temos um malha de redes interconectadas formando uma MAN.

WAN: Wide área Network. Refere-se à redes conectadas por enlaces de longa distancia que
podem variar bastante, mas sempre tentando formar redes em locais geograficamente distribuídos. Enlaces a rádio entre cidades diferentes, cabos de fibra ligando cidades ou mesmo continentes, e ainda serviços de circuitos dedicados oferecidos por operadoras que conectam dois ou mais pontos entre cidades ou estados diferentes.

A Internet é o melhor exemplo de WAN. É uma rede que conecta várias redes de Data Centers, Universidades, empresas e filiais, operadoras de telecom e residências em todas as cidades e países.

Topologias

A topologia se refere a maneira física ou lógica em que os dispositivos são conectados e como as
informações trafegam. A topologia pode influenciar no desempenho, segurança, custo, manutenção, modularidade e confiabilidade de uma rede. Elas podem ser classificadas em alguns tipos, e cada um deles pode se referir a maneira física ou lógica da topologia:

◦ Ponto-a-ponto : Este á a topologia mais simples possível. Um nó ligado ao outro diretamente. Comum em redes Wireless Ad hoc, PCs ligados por cabo Cross-over e alguns enlaces WAN.

◦ Anel: Cada segmento de cabo é conectado ao próximo host até que chegue ao primeiro
novamente. O sinal é passado de host a host onde é regenerado e transmitido para o próximo por
um caminho fechado.

Exemplos: Redes Token Ring, redes FDDI.

◦ BarramentoMeio compartilhado, onde todos os dados enviados chegam a todos os hosts, cabendo ao destinatário capturar e identificar a mensagem. Diferentemente da topologia em anel, cada mensagem chega a todos os nós sempre, e não de um a um. Isto simplifica as coisas mas gera problemas de colisões, excesso de tráfego e segurança, já que todos os hosts “escutam as mensagens de todos”. Um dispositivo descontrolado poderia congestionar o meio de transmissão, ou um host pode capturar as mensagens de outros, já que a comunicação é feita em broadcast. Técnicas para tratar o tempo de uso do meio e evitar colisões devem ser aplicadas.

 Exemplos:  Redes ethernet com hub ou cabo coaxial, redes wireless.

◦ Estrela: Cada host é ligado por um segmento diferente até um aparelho concentrador que une os pontos. Este aparelho deve fazer a comutação e direcionar as mensagens apenas aos seus destinatários, economizando tráfego e visando segurança. Os meios de transmissão são exclusivos para cada host, e o concentrador fará comutação das mensagens entre os segmentos de cada um.
Se um segmento é rompido, todo os outros funcionam normalmente. Mas se o concentrador parar, toda a rede é interrompida.

Exemplos: Redes ethernet com switch



Domínio de colisão: É formado por vários nós conectados em um determinado meio de transmissão compartilhado, por exemplo o ar (Wi-fi) ou um cabo coaxial. Em um domínio de colisão vários hosts disputam o tempo de uso para transmitir suas mensagens. Cada um deve programar o seu tempo de "falar" ou "escutar", e verificar se o meio está ocupado antes de transmitir sua mensagem, evitando colisões.

Você pode ter uma mesma rede com vários domínios de colisão diferentes, por exemplo uma rede onde existe um Access point wireless em cada andar do prédio, cada AP, com o seu grupo de dispositivos conectados, representa um domínio de colisão. Da mesma maneira um rede ethernet conectada à um hub representa um único domínio de colisão.

Domínio de broadcast:  Um domínio de broadcast é um área lógica da rede onde é possível trocar mensagens com qualquer host presente diretamente, sem a necessidade de um roteador.
Numa rede pode haver vários segmentos com características e meios de transmissão diferentes, com vários domínios de colisão, diferentes áreas conetadas à switchs diferentes, access points com dispositivos móvies, etc. O conjunto representa um domínio de broadcast, pois os nós podem trocar mensagens entre si. Estes segmentos podem ser conectados entre si formando um domínio de broadcast maior. Todos os dispositivos podem se comunicar independentemente do meio de comunicação que se encontram. Por exemplo, os computadores da rede cabeada se comunicam com dispositivos wireless de forma transparante.

Dentro de um domínio de broadcast, mensagens encaminhadas a endereços de broadcast serão encaminhadas a todos os hosts de todos os segmentos e domínios de colisão.