Mostrar mensagens com a etiqueta MEO. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta MEO. Mostrar todas as mensagens

Meo GO fora de casa




Meo GO ou Meo GO Multi ?

Meo GO permite até mais 3 ecrãs em casa, sim, EM CASA, além da box, o Meo GO permite visionar até 60 canais num PC, Tablet ou SmartPhone. É gratuito mas APENAS se for utilizado em casa.

Meo GO Multi, permite o mesmo que o MEO GO, mas com a diferença que não é necessário estar em casa para utilizar o serviço, basta ter um acesso à Internet seja ele onde for, mas claro, é pago, e não é barato, são 5€ por mês.

Eu prefiro minha receita, qual é ? Meo GO, onde me apetecer e sem dar cavaco aos senhores da MEO dispensando a versão Multi que é paga.

Funciona tanto usando um PC, um smartphone ou tablet (testei a solução apenas com android).

Quando acedemos ao Meo GO, a plataforma verifica de onde vem o pedido de streaming de video.
Porquê esta verificação? Para cruzar dados, isto é, para a plataforma Meo GO verificar se o cliente está realmente a aceder da sua rede em casa cruzando os dados de login com a origem IP do pedido.

Como dar a volta a esta questão? Usando uma VPN para casa. Porquê? Porque desta forma os pedidos à plataforma Meo GO tem origem na rede de casa, em vez de ter origem na rede onde estamos ligados (um café, na escola, etc etc).


  • Para colocar a VPN a funcionar, é conveniente mudar o endereçamento da rede em casa para isso podem consultar este tutorial
  • Após modificar o endereçamento podemos instalar e configurar o servidor OpenVPN no raspberry seguindo este tutorial, que ensina igualmente a configurar o cliente OpenVPN para windows.
  • Convém também configurar um Proxy em casa, consultando este tutorial que ensina a instalar o Squid. Quando ligamos a VPN através do PC, o túnel é criado, mas não é instalada uma rota por defeito através do túnel, é instalada apenas uma rota para a rede em casa (eu prefiro assim). Por este motivo, temos que redireccionar o tráfego HTTP pelo túnel até ao Proxy HTTP que está em casa. O Meo GO em PC é acedido usando o browser acedendo a este endereço, então o que fazemos é reencaminhar este tráfego pelo Proxy HTTP, desta forma enganamos a plataforma Meo GO pois o Proxy é o agente que está no meio, e ele é que pede os canais, e como está em casa, a plataforma Meo GO acede ao pedido sem problemas pois está a ser enganada ;-)

Para quem quer usar Meo GO através de Tablet ou Smartphone, terá que:
  • Instalar e configurar o cliente OpenVPN para android, podem consultar este tutorial. 

  • Instalar a APP para android é esta, e usá-la com a VPN ligada. Como neste caso TODO o tráfego é encaminhado pelo túnel, então não há necessidade de configurar o Proxy HTTP de casa para servir de agente entre o Meo GO e o dispositivo cliente na VPN.

Experimentem e em caso de dúvidas, apitem aqui em baixo nos comentários.

Servidor DHCP, Instalar e Configurar

Dando continuidade ao tutorial anterior, vamos agora ver como configurar o Raspberry com o serviço de DHCP.

De forma a contextualizar o tutorial, vamos em primeiro ver alguns aspectos teóricos do protocolo DHCP.

Este protocolo permite uma configuração automática de IP's nos mais diversos equipamentos de rede. Pode  e deve ser usado ao nível particular ou empresarial. A sua utilidade vai crescendo à medida que a rede cresce, pois cada vez mais os mais comuns equipamentos estão ligados à rede.

Todos nós utilizamos o protocolo DHCP no nosso dia a dia sem nos apercebemos disso. Por exemplo, sempre que nos ligamos a uma rede wireless é nos atribuído um endereço IP automaticamente, quem o faz é o serviço DHCP. Portanto a sua utilização é transparente para os utilizadores.

O servidor DHCP irá responder a pedidos de configuração vindos da rede.
Ele reponde a esse pedidos com (entre outros):
  • IP atribuído
  • Máscara de rede
  • Gateway predefinido (ip do router)
  • Servidores DNS Primário e Secundário
A esta informação dá-se o nome de Lease que é obtida a partir do servidor DHCP.
Para realizar esta atribuição o servidor utiliza uma Pool de endereços IP disponíveis para este efeito.
Os IP's atribuídos a partir da Pool são dinâmicos, isto significa que um mesmo computador poderá receber IP's diferentes em dias diferentes, daí o termo dinâmico.
Mas é possível configurar o servidor DHCP para atribuir sempre o mesmo IP a um determinado equipamento de rede (neste caso o conceito de Lease não se aplica).

O que é uma Lease ? Não é nada mais do que uma reserva. E porquê uma reserva ? Para garantir que um determinado IP não é atribuído simultaneamente a vários equipamentos de rede. Portanto a reserva é feita por um determinado período de tempo, podendo ser consecutivamente renovada de forma automática e  transparente para o utilizador. 

Quando um equipamento se desliga da rede a Lease continua atribuída até o período de validade terminar, libertando desta forma o IP para outro equipamento (note-se que o serviço de DHCP não tem mecanismo de verificação de actividade por parte dos clientes, logo não "adivinha" quando um cliente se desliga).

Como se processa o mecanismo de atribuição de IP's ?
Existem 4 fases :
  • - Cliente DHCP envia para a rede (em modo broadcast) uma mensagem do tipo DHCP Discover. Esta mensagem é enviada para o porto de destino 67 com ip de destino 255.255.255.255 (broadcast). Como o cliente ainda não tem ip definido, o IP de origem vai preenchido com 0.0.0.0  e o pedido é recebido por um ou mais servidores DHCP da rede.

  • - O ou os servidores DHCP respondem com uma mensagem do tipo DHCP Offer enviada para o porto 68 do cliente. Esta mensagem contém (entre outras informações) o endereço IP oferecido (daí o termo Offer), a máscara de rede, o endereço IP do servidor. O servidor DHCP após o envio desta mensagem faz uma reserva da Lease oferecida. Esta reserva dura até que o cliente aceite, rejeite ou  exista uma falta de resposta ao DHCP Offer.

  • - O cliente após receber o DHCP Offer vindo do servidor ou servidores, escolhe um e responde com uma mensagem do tipo DHCP Request. Esta resposta também é enviada em modo broadcast e contém o IP atribuído ao cliente e o IP do servidor DHCP escolhido, como é enviada em modo Broadcast os restantes servidores DHCP também a recebem, podendo então libertar a reserva provisória.

  • - O servidor DHCP escolhido pelo cliente responde com uma mensagem do tipo DHCP Acknowledge (informando que tomou conhecimento), o cliente pode então começar a usar a configuração IP atribuída pelo servidor.    

Não é muito usual existir mais do que um servidor DHCP numa rede, mas tecnicamente é possível, porquê ? Para garantir redundância neste serviço.

A Lease é atribuída por determinado tempo, cabendo ao cliente efectuar uma renovação da mesma, sendo que normalmente esta é feita a meio do período do tempo. O processo de renovação da Lease dá origem aos quatro passos explicados anteriormente.

Agora que os aspectos teóricos mais relevante estão explicados, vamos então dar início ao processo de instalação e configuração do servidor DHCP no Raspberry.

Em primeiro devemos executar um

apt-get update

e de seguida um

apt-get install isc-dhcp-server

Em linux todos os serviços tem um daemon neste caso com o nome de dhcpd

O serviço é configurado no ficheiro de configuração dhcpd.conf
Vamos então editar o mesmo usando o pico, nano ou vi para os mais aventureiros.

Aconselho efectuarem uma cópia deste ficheiro, poderá dar jeito caso façam asneira e queiram voltar atrás.

cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak

Vamos então editar o ficheiro de configuração:

pico /etc/dhcp/dhcpd.conf

# Para que o servidor DHCP informe o servidor DNS de uma 
# nova máquina (Lease) na rede. 
# Desta forma o servidor DNS 
# adiciona uma nova entrada ao domínio com o 
# nome da maquina que recebeu a Lease. 
# Fica a none pois não queremos para já este
# tipo de configuração 

ddns-update-style none;

# O domínio onde os clientes DHCP vão funcionar
# Os dois servidores DNS da minha rede, 
# aqui poderiam colocar
# por exemplo o 8.8.8.8 e 8.8.4.4 
# que são os servidores DNS da google

option domain-name "gondor.pt";
option domain-name-servers 192.168.100.253, 192.168.100.246;

# Os temporizadores utilizados 
# por defeito pelo serviço DHCP

default-lease-time 600;
max-lease-time 7200;

# Para tornar este servidor DHCP como
# o "principal" da rede, caso existam mais

authoritative;

# Configuração de destino dos logs

log-facility local7;


# A declaração da sub-rede, neste caso 
# vamos definir uma pool de endereços
# dinâmicos entre o ip 192.168.100.50

# e o ip 192.168.100.70  



subnet 192.168.100.0 netmask 255.255.255.0 {
  range 192.168.100.50 192.168.100.70;
  # o IP do router
  option routers 192.168.100.254;
  # Embora optional, o ip de broadcast
  option broadcast-address 192.168.100.255;
}

# Nesta secção podemos configurar IP reservados
# para determinados equipamentos, fica
# o exemplo para a minha impressora receber 
# sempre o mesmo IP, pode ser aplicado
# a qualquer equipamento desde que se saiba
# previamente qual o MAC Address, que é 
# necessário para fazer o mapeamento MAP -> IP

host brother-7055W {
  hardware ethernet 00:80:92:XX:XX:XX;
  fixed-address 192.168.100.10;
}



Depois de gravar o ficheiro, e antes de reiniciar o serviço de DHCP para que assuma as configurações do ficheiro dhcpd.conf, devemos ir ao router e retirar a configuração de DHCP para que este não responda a pedidos DHCP.

Acedendo ao router MEO devem ir a Início > Rede doméstica > Interfaces > LocalNetwork
mudar para configuração e aí retirar o visto no servidor DHCPv4 aplicar e esperar que o router reinicie.

Agora estamos em condições de reiniciar o serviço de DHCP no Raspberry usando o comando

service isc-dhcp-server restart

Ou caso seja o primeiro start

service isc-dhcp-server start

Para verificar o correcto funcionamento do serviço, poderão executar o comando netstat  e ver que  o Raspberry tem um serviço à escuta no porto UDP 67 

netstat -an  | grep 67


Podem também verificar se o daemon está a correr, verificando o processo em memória


ps aux | grep dhcpd

Podem ainda "deitar um olho" ao syslog e ver se o raspberry está a receber e responder a pedidos DHCP
usando o comando 

tail -f /var/log/syslog

A análise deste log é imperativa para verem o servidor a trocar mensagens com os clientes, desta forma poderão entender melhor o funcionamento das quatro fases do protocolo DHCP

Podem ainda analisar o ficheiro onde o servidor guarda a informação sobre as Leases atribuídas

usando o comando

cat /var/lib/dhcp/dhcpd.leases

De notar que este tutorial foi realizado num Raspberry com SO Raspbian mas pode ser aplicado em outras distribuições de Linux.

Reconfigurar o endereçamento IP em nossa casa

Este tutorial serve de rampa de lançamento para futuros tutoriais onde irei ensinar a configurar um servidor DHCP  e uma VPN usando OpenVPN no Raspberry.

Antes de passar ao tutorial propriamente dito, existem alguns pressupostos a ter em conta. 
A minha LAN em casa tem o endereço de rede 192.168.100.0/24

Esta rede, tendo 24 bits de tamanho, tem as seguintes características:

  • Endereço de rede - 192.168.100.0
  • Primeiro IP utilizável - 192.168.100.1
  • Último IP utilizável - 192.168.100.254
  • Endereço de Broadcast - 192.168.100.255
  • Máscara de rede em dot notation - 255.255.255.0

Porquê usar a rede 192.168.100.0/24 e não a rede 192.168.1.0/24 fornecida pelo router da MEO por DHCP ? 

Porque eu utilizo uma VPN layer 3 para me ligar à rede de casa, sabendo que  a maioria das redes privadas (digo a maioria e não todas) utilizam por defeito a rede 192.168.1.0/24, e, como quero rotear tráfego pela VPN entre a rede remota (local onde estou com o portátil ou Android), seria impossível faze-lo de uma rede de origem com o mesmo endereçamento IP da rede de destino.

Daí ter escolhido colocar no terceiro octeto o endereço 100 em vez do 1 (vulgarmente usado)

Se no futuro quiserem configurar uma VPN Layer 3 para casa, torna-se essencial mudar o endereçamento da vossa LAN e é para isso que serve este tutorial.

Vou explicar como o fazer para clientes MEO, mas com outros operadores será igualmente fácil guiando-se por este exemplo.

Em primeiro vamos aceder ao router via HTTP, no meu caso indo a http://192.168.100.254, (para quem não modificou as config's por defeito do router, deverá aceder a http://192.168.1.254)

Não sabes qual é o ip do router?  Como fazer para identifica-lo ?

Como sou old school  gosto de ir pela linha de comando usando o CMD, aí devem executar o comando IPCONFIG

Procurem o adaptador ethernet Ligação de área local (a placa de rede cableada) ou Placa de rede local em fios Ligação de rede sem fios  (placa de rede wireless) e conforme estejam a usar uma ou outra, procurem a linha Gateway predefinido aí está o IP do vosso router.

Para quem não gosta de fundos pretos com linhas brancas, sempre pode ir às propriedades da placa de rede no centro de rede e partilha, na ligação de rede pretendida, tem lá o separador Detalhes que dá exactamente a mesma informação.

Agora que o IP do router está identificado, vamos aceder via HTTP.

Usem o user sumeo com password bfd,10ng para aceder às configurações. O modelo do meu router é um Thomson TG784n, um router que enerva pela sua lentidão na navegação pelos menus.

Por incrível que pareça, aconselho a usar o Internet Explorer, a navegação pelos menus de configuração torna-se mais rápida com este candidato a browser. Costumo dizer que é bom para fazer download do Chrome ou Firefox.

Após login feito, acedam à opção Rede Doméstica -> Interfaces do lado esquerdo clicar em LocalNetwork e finalmente em configurar na parte superior direita da página




Reparem na secção Endereços IP

Verifiquem que no meu caso existem 3 endereços IP do tipo estático, pois bem o 10.0.0.138/24 e o 192.168.1.254/24 estão configurados por defeito no router.

O que eu fiz foi acrescentar um terceiro IP ao router (no meu caso) o 192.168.100.254/24 desta forma o router passa a funcionar em três domínios de broadcast em simultâneo.

Para acrescentar este terceiro IP preencham as duas caixas na secção adicionar. Na primeira coloquem o IP  e na segunda a máscara de rede em dot notation 192.168.100.254 e 255.255.255.0 respectivamente.

Não apaguem os dois primeiros IP's , dá asneira :-)

De forma a testarem a configuração, podem por exemplo configurar um IP estático da rede 100 no vosso portátil, por exemplo o 192.168.100.1 com máscara 255.255.255.0 gateway 192.168.100.254 e DNS primário 192.168.100.254



Neste momento o PC ou Portátil está configurado com o IP estático 192.168.100.1 já na nova rede.
Podem lançar um ping a 192.168.100.254 e ver se responde ou ir directamente pelo browser a http://192.168.100.254

Se conseguirem, significa que até este ponto está tudo OK.

O que falta fazer ? Mudar as configurações de DHCP do router, para ele deixar de atribuir IP's na rede 192.168.1.0/24 e passar a atribuir IP's na rede 192.168.100.0/24

No router MEO após login feito, acedam à opção Rede Doméstica -> Interfaces do lado esquerdo clicar em LocalNetwork e finalmente em configurar na parte superior direita da página




Escolham um endereço IP de início e final. O router vai atribuir IP's automaticamente usando esta pool.

A máscara de rede 255.255.255.0 o gateway é o próprio router 192.168.100.254 e DNS primário podem colocar também o próprio router ou configurem um servidor para esse efeito.

Caso tenham equipamentos na rede configurados com IP estático na rede antiga, convém não esquecer mudar essas configurações para o novo endereçamento.

Para testar a configuração de DHCP voltem a colocar o endereçamento IP a placa de rede do PC ou portátil de forma a ser obtido dinamicamente, indo novamente aos detalhes da placa de rede, facilmente verificamos se foi recebido um ip dinámico na rede 100 tendo sido atribuído pelo router. O ip do servidor DHCP deverá ser o do router.

Num próximo tutorial vou ensinar a configurar o serviço de DHCP no Raspberry de forma a libertar o router desta tarefa, pois tem poucas opções de configuração.

Clientes MEO - Renovar IP Público apenas ao serviço de Internet sem falhas na TV



Caso queiram mudar de IP público na ligação à internet MEO, a maneira mais óbvia de o fazer é desligar/ligar o router MEO, ao fazer isto o router vai receber um novo IP público.
Isto deve-se ao facto de a MEO usar o serviço Radius para fazer a gestão de atribuição de IP's aos seus clientes, por norma o serviço Radius, não torna a atribuir o IP que o cliente tinha anteriormente, ao contrário do serviço DHCP (utilizado na NOS por exemplo)

Quando desligamos o router MEO, o serviço de televisão também falha, o que de certa forma é inconveniente, pois quem estiver a ver TV fica sem serviço.

Porquê mudar o IP público da ligação à internet ? poderá ser útil no caso de estarmos a aceder a um tipo de serviço (partilha de ficheiros por exemplo) que restringe o acesso quando o numero de downloads por dia é atingido, baseando-se no ip de origem. 

Ora como fazer para receber novo IP público na interface INTERNET sem que o serviço de TV falhe ?
No meu caso uso um script programado em VBScript.

O que este script faz é realizar um telnet ao ip LAN do vosso router, (no meu caso 192.168.100.254) , o script vai à configuração da interface INTERNET que nos liga ao serviço de Internet, desliga e liga esta interface.

Desta forma a interface "agarra" um novo IP público e o serviço de televisão não falha pois a interface que recebe o streaming de video continua em "pé" contrariamente ao que acontece caso se deslige o router no power.

Se não mudaste a topologia da rede em tua casa, o IP default Gateway da tua LAN é o 192.168.1.254, por defeito os routers MEO tem a LAN configurada na rede 192.168.1.0/24


Grava o script com nome RebootMEO.vbs por exemplo, e muda o GW para reflectir o IP de gateway da tua rede :

**************
* Inicio do script *
**************
Set oShell = CreateObject("WScript.Shell")
oShell.run "cmd.exe"
WScript.Sleep 500
oShell.SendKeys "telnet 192.168.100.254"
oShell.SendKeys ("{Enter}")
WScript.Sleep 500
oShell.SendKeys "sumeo"
oShell.SendKeys ("{Enter}")
WScript.Sleep 500
oShell.SendKeys "bfd,10ng"
oShell.SendKeys ("{Enter}")
WScript.Sleep 800
oShell.SendKeys "ppp"
oShell.SendKeys ("{Enter}")
WScript.Sleep 500
oShell.SendKeys "ifdetach"
oShell.SendKeys ("{Enter}")
WScript.Sleep 500
oShell.SendKeys "Internet"
oShell.SendKeys ("{Enter}")
WScript.Sleep 500
oShell.SendKeys "ifattach"
oShell.SendKeys ("{Enter}")
WScript.Sleep 500
oShell.SendKeys "Internet"
oShell.SendKeys ("{Enter}")
WScript.Sleep 500
oShell.SendKeys "% "
oShell.SendKeys ("{Enter}")
WScript.Sleep 5000
oShell.SendKeys ("{Enter}")
WScript.Sleep 5000
oShell.SendKeys "exit"
oShell.SendKeys ("{Enter}")
WScript.Sleep 5000
oShell.SendKeys "exit"
oShell.SendKeys ("{Enter}")
WScript.Sleep 5000


**************
* Fim do script *
**************

Caso não tenham o cliente de telnet activado no windows 7 sigam este tutorial