Arquivo da categoria: Linux

WordPress como plataforma WEB no Azure

wordpress-logo

Olá pessoal

Novas matérias em 2017. E vamos mostrar como criar o WordPress na plataforma Azure.

O WordPress é um dos Frameworks mais populares da web por ser fácil de manusear e desenvolver Apps Webs com entrega rápida e rica.

Quer saber mais sobre WordPress: https://pt.wikipedia.org/wiki/WordPress

Além da fornecedora oficial WordPress tem também da fornecedora Bitnami, ou se você também quiser montar sua desenvolvedora pessoal de sites em WordPress tem versões para multi sites bem interessantes como WordPress Multi-Tier.

Abaixo um passo a passo básico de WordPress single.

O foco do passo a passo está voltado totalmente ao WORDPRESS no AZURE. Existe mais um elemento que é o banco de dados do WORDPRESS mas não está no foco.

Falarei em um próximo post sobre MYSQL no AZURE.

Va em Serviços de aplicativos e escolha WEB. Vá na busca e escolha WORDPRESS. Iremos pelo fornecedor WordPress.

O Segundo passo já é criar o ambiente. Clique em CRIAR

Este passo é realizar as configurações de DNS para acesso e banco de dados do WORDPRESS. Eu escolhi o ClearDB. O Banco é Default Mysql. Deixei ativo o Aplications Insights para ter uma melhor visualização dos logs.
Aceite os termos do ClearDB. Clique em CRIAR.

Depois de instalado o WordPress vamos para as configurações do WordPress padrão. Neste passo estou atualizando para língua em Português Brasil.

Estes procedimentos são todos do WordPress com Título do site, usuário e senha para demonstração. Depois de tudo corretamente configurado, vamos clicar em Instalar o WordPress.

Pronto, em poucos minutos você tem um WordPress pronto para usar dentro do Azure como plataforma. Eu vou importar meu tema que tenho no site do WordPress.com para demonstração com todos meus posts e você pode migrar seu site do seu provedor atual para WordPress.

Estou exportando e utilizando todo meu conteúdo dentro do Azure. Você pode tulizar da mesma maneira e também utilizar o DNS do Azure.

Um e-mail foi enviado para que você receba o link de exportação do tema para não perder nada.

Link recebi é só baixar e vamos importar todo conteúdo para o WordPress no Azure.

O arquivo do site WordPress.com vem em formato .zip, eu descompactei o arquivo XML, são arquivos padrão WordPress.

O Arquivo vem neste formato tudosobretecnologia.wordpress.2017-01-02.002.xml

Vamos fazer o Upload do arquivo em xml. Escolher o Arquie e fazer o Upload.

Veja no rodapé a porcentagem e aguarde terminar.

Veja o comparativo na esquerda no Azure e na direita no WordPress.com, que tudo foi importado, mas é preciso fazer alguns ajustes do tema como cores e botões e etc.

Há diferenças entre WordPress.com e o WordPress implantado no Azure. O Wordress.com você assina níveis de administração e o instalado no Azure você tem toda a liberdade de uso sobre a administração pois não é compartilhado.

No Azure também tem os ajustes do WordPress que usa PHP e Mysql na plataforma. Eu usei o Mysql como plataforma em preview.

Neste menu abaixo de visão geral tem todos os parâmetros para configurações adicionais ou ajustes para PHP e MYSQL

Credenciais de FTP e git

Importante saber a versão do WordPress e a versão do PHP que está rodando para não haver falhas de configuração e segurança da aplicação.

Usamos a plataforma MYSQL como preview. Está na plataforma Windows como vocês estão vendo as configurações.

Sempre olhar no Aplication Insights e nas cotas para saber se está usando o limite.

Bom pessoal, dúvidas por favor sempre entre em contato.

Infografico tudo sobre Contêiners

O Site Lab27 lançou um infográfico muito interessante e completo com tudo sobre Contêineres Dockers e abordagens que estão relacionadas.

Em resumo Docker é um projeto OpenSource que fornece uma plataforma para desenvolvedores e administradores de sistemas permitindo que se crie contêineres leves e portátil de diversas aplicações.

Sua funcionalidade permite adicionar e simplificar o uso, dos linux contêineres (LXC), que são, basicamente, uma forma de isolamento de processo e sistemas, quase como virtualização, porém mais leve e integrada ao host. O Docker permite criar aplicações e “contêineres” que isolam o S.O base e todo a pilha de dependências de seu app (libs, servidores e etc) de forma leve em espaço e performance.

Veja mais informações em https://www.docker.com/.

conteiners

É um infográfico bem completo e vai ajudar a você a memorizar e entender como funciona.

Segue link abaixo para você baixar:

http://lab27.blob.core.windows.net/wordpress/2016/10/Windows-Server-Container-Infographic-BRZ.pdf?linkId=30163695&wt.mc_id=AID520771_EML_4722229

Até mais pessoal.

 

SDN e NFV a rede também é cloud

sites-de-relacionamento-2
Você tem ouvido bastante sobre Nuvem, Cloud, virtualização, Devops, biomodal e outros assuntos de transformação digital.

Você sabe o que é SDN e NFV?

Vamos la!!!!

Ou Seja, para o lado do cliente como já temos a definição o lado cliente já usa ou prezumo que use SDN já a algum tempo.

Vou resumir nesta imagem abaixo:sdnxnfv

Este é um infográfico Macro de como poderia funcionar NFV e SDN.
Hoje as grandes Clouds como Azure, AWS e Google já trabalham com redes definidas por software como:

092815_1745_Odlareanuv2.jpg

CLOUD:
Virtual Network do Azure virtualnetwork
VPC Amazon vpc
Redes no Google redes

Em ambientes Onpremissess:

Switch Virtual Hyper-V switch_virtual

Vswitch Vmware vswitch

Vswitch de mesmo nome do Vmware vswitch_x

E o Quantum ou Melange no Openstackquantum

A redes virtuais estão se popularizando agora com os hardwares mais atualizados como placas de redes 10GB em servidores simples e mais baratos e golden jumpers, diminuindo o CAPEX e consequentemente o OPEX.

As empresas como CISCO, Juniper também estão se alinhando ao mercado desenvolvendo seus dispositivos virtuais, mas o que está em alta é plataformas Opensource.

Consequentemente os profissionais de redes aconselho a se atualizarem pois o mercado está empurrando as atualizações.

ms_loves_linux

Vide a Microsoft com logos de Microsoft é melhor com Red Hat ou Microsoft ama Linux. Redes Virtuais do Azure com Debian. Windows 10 com Shell em Ubuntu. Tudo isso com seu revolucionario CEO Satia.

As “Coisas” estão se fundindo para passar em um fio ou cano só. O que tem dentro ou você aprende ou vai ficar para traz.

download

NFV

As operadoras acordaram e agora e ainda precisam se reorganizar com a iniciativa do OPENFV veja o site (https://www.opnfv.org/).

Aqui no Brasil o motor de desenvolvimento de redes virtuais é o openstack.

Ainda está embrionário, mas acordaram, o volume de dados não comportam mais os investimentos e as TELCOS acordaram tarde. Mas agora estão se mobilizando.

O que nós profissionais ganhamos com isso?

keep-calm-porque-hoje-ganhamos.jpg

Para quem gosta de LINUX todos motores são desenvolvidos em sistemas operacionais Linux. Isso quem quer correr e aprender mais linux faça isso agora.

Em compensação tudo estará mais convergente, mais automatizado, mas orquestrado.
Então quem acha que as Teles irão contratar milhões de profissionais fique tranquilo que não.

Iniciativas como OPENFV são desenvolvimentos que vão melhorar os custos de CAPEX em investimentos e hardwares como roteadores, switches e outros devices.

Estão melhorando desenvolvimentos de protocolos e logo logo pelo menos fora do pais vocês irão ouvir novas telcos revolucionarias.
Aqui no Brasil ainda é muito difícil falar pois as operadoras ainda nadam de braçadas dominando o mercado.

Espero que este post seja aconselhador.

Abraços

 

 

 

 

 

Automatização de ambiente com Ansible

ansible

Você que tem ambientes grandes e complexos, ambiente com muitas maquinas hoje é até um pecado não automatizar ambiente.

Com o advento de Nuvem e virtualização cada vez mais teremos mais servidores e serviços separados com elasticidade.

O Ansible veio para automatizar ambiente e facilitar as tarefas chatas de atualização ou instalação de patchs e muito mais.

Eu não vou mostrar como instalar o Ansible pois é uma tarefa relativamente facil

yum install ansible ou apt-get e blá blá blá o google mostra o caminho a você que se interessar.

header2

Introdução

Ansible é um sistema de gerenciamento de configuração fácil que pode ser usada para automatizar e organizar suas tarefas de configuração do sistema para uma grande rede de computadores. Enquanto alguns outros sistemas de gerenciamento de configuração exigem muitos pacotes diferentes para ser instalado nos sistemas de servidor e cliente, com Ansible, você só precisa instalar um componente do servidor e ter acesso SSH para as máquinas clientes.

Neste guia, vamos discutir playbooks ansible, que são forma de criar scripts automatizados para configurar computadores clientes do Ansible.

Vamos supor que você tem um servidor Ansible configurado e alguns clientes.

No nosso guia, o servidor é um Ubuntu 12.04 máquina, e os clientes que vão ser configuração também são Ubuntu 12.04 máquinas, para facilidade de explicação.

Quais são Playbooks ansible?

Playbooks ansible são uma forma de enviar comandos para computadores remotos via script através do SSH. Em vez de usar comandos Ansible individualmente para configurar remotamente os computadores a partir da linha de comando, você pode configurar ambientes complexos inteiros por meio de um script para um ou mais sistemas.

Playbooks ansible estão escritos no formato de serialização de dados YAML. Se você não sabe o que é um formato de dados, pense nisso como uma maneira de traduzir uma estrutura de dados (listas, matrizes, dicionários, etc) em um formato que pode ser facilmente armazenado no disco. O arquivo pode então ser utilizada para criar a estrutura em um momento posterior. JSON é um outro formato  de dados popular, mas YAML é muito mais fácil de ler.

Cada cartilha contém uma ou mais peças, que mapeiam hosts para uma determinada função. Ansible faz isso através de tarefas, que são basicamente as chamadas em módulos.

Explorando um Playbook Básico

Veja o comando.

--- - hosts: droplets tasks: - name: Installs nginx web server apt: pkg=nginx 
state=installed update_cache=true notify: - start nginx handlers: 
- name: start nginx service: name=nginx state=started 

Vamos em seções para que possamos entender como esses arquivos são construídos e que cada peça significa.

O arquivo começa com:

 --- 

Este é um requisito para YAML para interpretar o arquivo como um documento adequado. YAML permite que vários “documentos” em um arquivo, cada um separado por --- , mas Ansible só quer um por arquivo, de modo que este só deve estar presente na parte superior do arquivo.

YAML é muito sensível ao espaço em branco, e usa isso para agrupar diferentes peças de informação em conjunto. Você deve usar apenas espaços e não tabs e você deve usar espaçamento consistente para o arquivo a ser lido corretamente. Itens no mesmo nível de recuo são considerados elementos irmãos.

Os itens que comecem com um - são considerados itens da lista. Os itens que têm o formato de key: value operar como hashes ou dicionários. Isso é muito bonito tudo o que há para YAML básica.

Documentos YAML, basicamente, definir uma estrutura de árvore hierárquica com os que contêm elementos mais à esquerda.

Na segunda linha, temos o seguinte:

 --- - hosts: droplets 

Este é um item de lista no YAML como aprendemos acima, mas uma vez que é no mais à esquerda do nível, é também uma “peça” Ansible. Peças são basicamente grupos de tarefas que são executadas em um determinado conjunto de hosts, que lhes permitam cumprir a função que deseja atribuir a eles. Cada jogo deve especificar um host ou grupo de exércitos, como fazemos aqui.

Em seguida, temos um conjunto de tarefas:

 --- - hosts: droplets tasks: - name: Installs nginx web server 
apt: pkg=nginx state=installed update_cache=true notify: - start nginx 

No nível superior, temos “tarefas:” no mesmo nível “hosts:”. Este contém uma lista (porque começa com um “-“), que contém pares chave-valor.

O primeiro, “nome”, é mais do que uma descrição do que um nome. Você pode chamar isso de qualquer coisa que você gostaria.

A próxima chave é “apto”. Esta é uma referência a um módulo Ansible, assim como quando usamos o comando ansible e digitar algo como:

 ansible -m apt -a 'whatever' all 

Este módulo permite especificar um pacote e o estado que ele deve estar em, que é “instalado” no nosso caso. O update-cache=true parte diz a nossa máquina remota para atualizar seu cache de pacotes (apt-get update) antes de instalar o software.

O item “notificar” contém uma lista com um item, o que é chamado de “começar nginx”. Este não é um comando interno Ansible, é uma referência a um manipulador, que pode executar determinadas funções quando é chamado a partir de uma tarefa. Vamos definir o “start nginx” manipulador abaixo.

 --- - hosts: droplets tasks: - name: Installs nginx web server 
apt: pkg=nginx state=installed update_cache=true notify: - 
start nginx handlers: - name: start nginx service: name=nginx state=started 

A seção “manipuladores” existe ao mesmo nível que os “hosts” e “tarefas”. Manipuladores são como tarefas, mas eles só correr quando lhes foi dito por uma tarefa que ocorreram alterações no sistema do cliente.

Por exemplo, temos um manipulador aqui que inicia o serviço Nginx após o pacote é instalado. O manipulador não é chamado a menos que o “Instal servidor web nginx” resultados da tarefa em mudanças no sistema, o que significa que o pacote teve de ser instalado e já não estava lá.

Nós podemos salvar este em um arquivo chamado algo como “nginx.yml”.

Só por algum contexto, se você fosse escrever esse mesmo arquivo em JSON, que poderia ser algo como isto:

 [ { "hosts": "droplets", "tasks": [ { "name": "Installs nginx web server", 
"apt": "pkg=nginx state=installed update_cache=true", "notify": [ "start nginx" ] } ], 
"handlers": [ { "name": "start nginx", "service": "name=nginx state=started" } ] } ] 

Como você pode ver, YAML é muito mais compacto e maioria das pessoas diria mais legal.

Executando um Ansible Playbook

Depois de ter um guia estratégico construído, você pode chamá-lo facilmente usando este formato:

 playbook.yml ansible-playbook

Por exemplo, se queríamos para instalar e iniciar o Nginx em todos os nossos servidores, poderíamos emitir este comando:

 ansible-playbook nginx.yml 

No entanto, se nós gostaríamos de filtrar a lista , aplicar-se apenas a um desses hospedeiros, podemos adicionar um sinalizador para especificar um subconjunto dos arquivos:

 ansible-playbook -l host_subset playbook.yml

Então, se nós só quesermos instalar e executar o Nginx em um servidor, por exemplo “host3”, que poderia digitar o seguinte:

 ansible-playbook -l host3 nginx.yml 

Adicionando recursos ao Playbook

Agora a nossa cartilha tem esta aparência:

---
- hosts: droplets
  tasks:
    - name: Installs nginx web server
      apt: pkg=nginx state=installed update_cache=true
      notify:
        - start nginx

  handlers:
    - name: start nginx
      service: name=nginx state=started

É simples e funciona, em vários hosts ou em um só.

Podemos começar a expandir a funcionalidade através da adição de tarefas.

Adicionar um padrão Index Arquivo

Podemos dizer-lhe para transferir um arquivo do nosso servidor Ansible no host, adicionando algumas linhas como este abaixo:

---
- hosts: droplets
  tasks:
    - name: Installs nginx web server
      apt: pkg=nginx state=installed update_cache=true
      notify:
        - start nginx

    - name: Upload default index.html for host
      copy: src=static_files/index.html dest=/usr/share/nginx/www/ mode=0644

  handlers:
    - name: start nginx
      service: name=nginx state=started

Podemos, então, fazer um diretório chamado static_files em nosso diretório atual e coloque um arquivo index.html dentro.

 mkdir static_files nano static_files/index.html 

Dentro desse arquivo, vamos apenas criar uma estrutura básica html:

 <html> <head> <title>This is a sample page</title> </head> <body> 
<h1>Here is a heading!</h1> <p>Here is a regular paragraph. Wow!</p> 
</body> </html> 

Salve e feche o arquivo.

Agora, quando executar novamenter o playbook, Ansible irá verificar cada tarefa. Vai ver que Nginx já está instalado no host, por isso vai deixá-lo ser. Ele vai ver a nova seção tarefa e substituir o arquivo index.html padrão com o do nosso servidor.

Resultados

Quando instalar e configurar os serviços manualmente, é quase sempre necessário saber se suas ações foram bem-sucedidas ou não. Podemos cozinhar essa funcionalidade em nossos playbooks usando “registrar”.

Para cada tarefa, que pode, opcionalmente, registrar seu resultado (sucesso ou falha) em uma variável que podemos verificar mais tarde.

Ao utilizar esta funcionalidade, também temos de dizer Ansible para ignorar erros para essa tarefa, já que normalmente ele aborta a execução cartilha para aquela máquina se qualquer problema acontece.

Assim, se quiser verificar se uma tarefa falhou ou não para decidir sobre os passos subsequentes, podemos usar a funcionalidade de registo.

Por exemplo, poderíamos dizer o nosso guia estratégico para carregar um index.php  se ele existir. Se essa tarefa falhar, poderíamos em vez de tentar carregar um index.html. Vamos verificar a condição de falha na outra tarefa, porque nós só queremos fazer o upload do arquivo HTML se o arquivo PHP falhar:

---
- hosts: droplets
  tasks:
    - name: Installs nginx web server
      apt: pkg=nginx state=installed update_cache=true
      notify:
        - start nginx

    - name: Upload default index.php for host
      copy: src=static_files/index.php dest=/usr/share/nginx/www/ mode=0644
      register: php
      ignore_errors: True

    - name: Remove index.html for host
      command: rm /usr/share/nginx/www/index.html
      when: php|success

    - name: Upload default index.html for host
      copy: src=static_files/index.html dest=/usr/share/nginx/www/ mode=0644
      when: php|failed

  handlers:
    - name: start nginx
      service: name=nginx state=started

 

Esta nova versão tenta carregar um arquivo de índice PHP para o local indicado. Ela regista com sucesso da operação em uma variável chamada “PHP”.

Se esta operação foi bem sucedida, a tarefa ira remover o arquivo index.html é executado em seguida.

Se a operação falhar, o arquivo index.html é carregado em vez disso.

Conclusão

Agora, você deve ter um bom controle sobre como automatizar tarefas complexas usando Ansible.

Este é um exemplo básico de como você pode começar a construir a sua biblioteca de configuração.

Combinando definições de host e do grupo como nós aprendemos sobre este tutorial, e com variáveis disponíveis para preencher as informações, podemos começar a montar sistemas complexos que interagem uns com os outros. Em um artigo futuro, vamos discutir como implementar variáveis em nossos playbooks e criar funções para ajudar a gerenciar tarefas complexas.

Como ainda falamos de nuvem o Ansible em ambiente IaaS publico ou não é ideal.

Teste no Azure e Amazon e não precisa falar que ambiente Onpremisses, todos funcionaram.

Tem um demo sensacional no site oficial:

https://www.ansible.com/

Veja um howto facil.

Se você quer seguir para um caminho de DEVOPS o Ansible é a porta de entrada.

Espero ter ajudado.

Abraços

 

Openstack Day – São Paulo – 08 de Outubro

openstackday.PNG

Dia 08 de Outubro o evento mais esperado para os entusiastas de Openstack.

Agora finalmente em SP.

Você administrador, Sysadmin, Influenciador e entusiasta vá ao evento, seja cloud na veia.

ingresso

Se você não sabe o que é o Openstack veja em https://fabiosilva.com.br/2015/04/12/introducao-ao-openstack/

Vai ser o teste de fogo do evento em SP.

Estarei la e convido a vocês estarem lá.

Obrigado.

Powershell agora é OpenSource

Microsoft: PowerShell agora é open-source | Fonte do windows_powershell-696x522BABOO

A Microsoft anunciou hoje que o PowerShell agora é open-source e que ele também terá versões para Mac OS e Linux.

O repositório já está disponível no GitHub. Confira aqui.

A versão para Linux é compatível inicialmente com o Ubuntu, CentOS e Red Hat e a versão para Mac OS é compatível com o OS X 10.11.

PowerShell

O PowerShell é um shell de linha de comando e uma linguagem de script criado para ajudar os profissionais de TI no controle e automação da administração de sistemas operacionais Windows/Windows Server e de aplicativos executados nestes sistemas operacionais, como o Office.

Para os desenvolvedores, ele usa um conjunto extensível de classes do .NET Framework que permite a criação de cmdlets personalizados, aplicativos de host e utilitários.

Microsoft: PowerShell agora é open-source
PowerShell no Windows 10 v1607

De acordo com a Microsoft o núcleo e os cmdlets serão os mesmos no PowerShell para Windows, Linux e Mac. Alguns cmdlets que usam recursos do Windows não estarão disponíveis nas outras plataformas e scripts escritos para Windows terão que ser modificados para que funcionem no Linux e Mac.

A empresa confirmou que ainda está trabalhando para finalizar os recursos com foco em acesso remoto na versão para Linux. Quando este trabalho for concluído, os administradores poderão usar o PowerShell no Windows para gerenciar remotamente múltiplos sistemas com Linux.

Eles também poderão gerenciá-los no AWS (Amazon Web Services), graças à uma parceria entre a Microsoft e a Amazon, seu maior concorrente no mercado de computação em nuvem. Os novos cmdlets do AWS possibilitarão o gerenciamento de serviços na nuvem.

A VMware também firmou uma parceria com a Microsoft para lançar novos cmdlets que funcionarão nas outras plataformas e não apenas no Windows.

Vídeo falando sobre o PowerShell open-source e a versão para Linux:

Entenda a Arquitetura do Whatsapp e outras.

Olá pessoal

Na crista da onda dos bloqueios do Whatsapp eu hoje estarei postando para os leigos como funciona a arquitetura do Whatsapp.

whatsapp-logo-variant_318-54566

A ferramenta foi muito bem construída, ainda mais a forma visual e funcional.

Mas ela é baseada em XMPP, muito conhecido na comunidade Linux. Como o Jabber muito usado para comunicação interna em pequenas empresas.

figure2

A Arquitetura técnica do protocolo XMPP como na figura acima é o client manda a mensagem ou a a mídia para a internet ou um servidor local, ele recebe a informação, transmite para um gateway que que intermedia os pacotes de mensagens e midia (Foto e video) entrega para outro SMS Server (Mensagem) ou XMPP Server dependendo do tamanho da arquitetura e depois envia para o client que é um celular ou um PC.

Simples assim? Sim, é simples assim, Os servidores só faz o papel de transportar os dados, identificar os usuários e enviar para os usuários corretos, com seus índices nas bases dentro dos servidores. É claro que estou resumindo ao máximo como funciona.

Veja um infográfico simples abaixo:whatsapp_arquitetura

Resumo um usuário pelo seu celular envia uma mensagem para o outro usuário ele passa pela internet é transportado para um servidor ele identifica os usuário e transporta para o outro usuário. Todos os dados ficam com os usuários (Mensagens, Imagens, videos e PDF).

O servidor tem papel de identificação e transporte dos dados.

Varias aplicações ou APP usam este tipo de protocolo e cada um com a sua particularidade. mas todos usam os mesmos protocolos.

Capturar1

O que muda de um para o outro é hoje a popularidade, com foco no Whatsapp que é o mais popular.

Sendo um pouco mais técnico veja abaixo a arquitetura em especifico do Whatsapp.

whatsapp_fluxo_de_dados

As imagens, os videos e os pdfs ficam armazenados no seu celular, um banco de dados leve faz os indices das mensagens imagens, pdfs e midias, identificam para quem vai enviar via XMPP e HTTP, o transporte é feito aos servidores que pertencem ao Facebook, passam por uma série de tecnologias que façam os dados serem transportados mais rapidos como CDN, clusters e bandas de internet rapidas e magica está feita, a imgem ou mensagem chega para os destinos traçados.

Falta um pouco de conhecimento e seriedade com os órgãos locais para conhecer a ferramenta e como funciona.

Eu acredito que os bloqueios são só uma forma de retaliar a ferramenta, seja ela qual for e neste momento a atingida é o Whatsapp.

Resumindo é o celular que armazena tudo e não os servidores das instituições. Então fazendo uma comparação é preciso mais conhecimento de tecnologia nos órgãos governamentais para que haja uma ação correta para busca de dados.

Eu espero estar ajudando todo publico de como funciona as ferramentas de protocolo XMPP.

Até mais.

 

Pocket Show Vídeo, Linux no Azure parte I, Distro Debian 8.

Olá pessoal

Estarei com uma serie de videos demonstrativos e praticos sobre distribuições linux no Microsoft Azure.

021116_2348_DebiannoAzu1.png

A distribuição em destaque que inicaremos é o umas das Distros mais famosas no meio, Debian versão 8.

Os videos serão bem simples e demonstrativos para você que é leigo já sair usando.

 

Espero que gostem e veja abaixo:

Linux: Instalação de um proxy transparente com Squid

Para configurar Squid e iptables eu vou mostrar abaixo um passo a passo bem simples de fazer.

Este proxy é transparente a fim de facilitar a navegação do usuário sem que ele precise se autenticar no navegador.

Minha configuração:
– System: HP dual Xeon CPU system with 8 GB RAM (good for squid).Sistema: sistema de CPU dual Xeon HP com 8 GB de RAM (bom para squid).
– ii) Eth0: IP:192.168.1.1Eth0: IP: 192.168.1.1
– iii) Eth1: IP: 192.168.2.1 (192.168.2.0/24 network (around 150 windows XP systems))Eth1: IP: 192.168.2.1 (192.168.2.0/24 rede (cerca de 150 sistemas Windows XP))
– iv) OS: Red Hat Enterprise Linux 4.0 (Following instruction should work with Debian and all other Linux distros)Sistema: Red Hat Enterprise Linux 4.0 ou acima (sequência de instruções deve trabalhar com Debian e todas as outras distribuições Linux)

Configuração do servidor

  • Step #1 : Squid configuration so that it will act as a transparent proxy Etapa # 1: configuração do Squid para que ele vai agir como um proxy transparente
  • Step #2 : Iptables configuration Etapa # 2: Configuração Iptables
    • a) Configure system as router a) Sistema Configure como router
    • b) Forward all http requests to 3128 (DNAT) b) Encaminhar todas as solicitações HTTP para 3128 (DNAT)
  • Step #3: Run scripts and start squid service Etapa # 3: Execute scripts e iniciar o serviço squid

Para instalação em sistemas baseados em RED HAT por exemplo Centos use o YUM

Yum install squid

Para instalação em sistema baseados em Debian use o apt-get ou aptitude

Apt-get ou aptitude install squid

Bom depois de instalado o Squid vamos para os arquivos de configuração do squid.

Tanto nos sistemas baseados em Redhat e no Debian os arquivos ficam em /etc

Va em

# Vi /etc/squid/squid.conf

É esperto ou nube como chamam por ai, então faça o backup antes

cp squid.conf para squid.conf.datadobackup

Beleza? Agora que sabe fazer backup dos arquivos de conf. Vamos no squid.conf

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
acl lan src 192.168.1.1 192.168.2.0/24
http_access allow localhost
http_access allow lan
  • httpd_accel_host virtual: Squid como acelerador httpd
  • httpd_accel_port 80: 80 é a porta que você deseja atuar como um proxy
  • httpd_accel_with_proxy em: ato Squid tanto como um acelerador httpd local e como um proxy.
  • httpd_accel_uses_host_header em: Header está ligado, que é o nome do host da URL.
  • acl lan src 192.168.1.1 192.168.2.0/24: lista de controle de acesso, só permitem que computadores da rede local para usar squid
  • http_access allow localhost: acesso Squid para LAN e localhost ACL única
  • http_access allow lan: – mesmo que acima –

Aqui está a lista completa de squid.conf para sua referência (grep irá remover todos os comentários e sed irá remover todas as linhas vazias, graças a David Klein para a dica rápida):

# Grep -v “^ #” /etc/squid/squid.conf | sed -e ‘/ ^ $ / d’

OR, experimentar sed (graças a Kotnik para pequeno truque sed)

O resto da configuração:

hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
hosts_file /etc/hosts
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl purge method PURGE
acl CONNECT method CONNECT
cache_mem 1024 MB
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
acl lan src 192.168.1.1 192.168.2.0/24
http_access allow localhost
http_access allow lan
http_access deny all
http_reply_access allow all
icp_access allow all
visible_hostname myclient.hostname.com
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
coredump_dir /var/spool/squid

Configuração de iptables

Em seguida, eu tinha adicionado seguindo regras para encaminhar todas as solicitações HTTP (que vêm para a porta 80) para a porta do servidor Squid 3128:

iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j DNAT –to 192.168.1.1:3128

iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 3128

Um script maneiro montado em sh para rodar no iptables bem simples

#!/bin/sh
# squid server IP
SQUID_SERVER=”192.168.1.1″
# Interface connected to Internet
INTERNET=”eth0″
# Interface connected to LAN
LAN_IN=”eth1″
# Squid port
SQUID_PORT=”3128″
# DO NOT MODIFY BELOW
# Clean old firewall
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
# Load IPTABLES modules for NAT and IP conntrack support
modprobe ip_conntrack
modprobe ip_conntrack_ftp
# For win xp ftp client
#modprobe ip_nat_ftp
echo 1 > /proc/sys/net/ipv4/ip_forward
# Setting default filter policy
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
# Unlimited access to loop back
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Allow UDP, DNS and Passive FTP
iptables -A INPUT -i $INTERNET -m state –state ESTABLISHED,RELATED -j ACCEPT
# set this system as a router for Rest of LAN
iptables –table nat –append POSTROUTING –out-interface $INTERNET -j MASQUERADE
iptables –append FORWARD –in-interface $LAN_IN -j ACCEPT
# unlimited access to LAN
iptables -A INPUT -i $LAN_IN -j ACCEPT
iptables -A OUTPUT -o $LAN_IN -j ACCEPT
# DNAT port 80 request comming from LAN systems to squid 3128 ($SQUID_PORT) aka transparent proxy
iptables -t nat -A PREROUTING -i $LAN_IN -p tcp –dport 80 -j DNAT –to $SQUID_SERVER:$SQUID_PORT
# if it is same system
iptables -t nat -A PREROUTING -i $INTERNET -p tcp –dport 80 -j REDIRECT –to-port $SQUID_PORT
# DROP everything and Log it
iptables -A INPUT -j LOG

Salve shell script. Executar o script para que o sistema irá funcionar como um roteador e encaminhar as portas:

# chmod +x /etc/fw.proxy
# /etc/fw.proxy
# service iptables save
# chkconfig iptables on

Start ou restart squid:

# /etc/init.d/squid restart
# chkconfig squid on

Desktop / configuração do computador cliente

Apontar todos os clientes de desktop para o seu endereço IP eth1 (192.168.2.1) como Router / Gateway (uso DHCP para distribuir esta informação). Você não tem de configurar-se navegadores individuais para trabalhar com proxies.

Como posso testar o meu proxy Squid está funcionando corretamente?

Veja /var/log/squid/access.log arquivo de log de acesso:

/var/log/squid/access.log # tail -f

O comando acima irá acompanhar todos os pedidos de entrada e log para var log / squid / arquivo / / access_log. Agora, se alguém acessar um site através do navegador, vai registrar informações.

Agora ficou facil, leia atentamente e estude o arquivo, o log é um cara para você analisar seus própruos erros e vai apontar as correções.

Eu espero que tenha ajudado.

Cloud Treinamentos – Linux no Azure

Olá Pessoal

Divulgando antes do lançamento dos cursos em Cloud Treinamentos estamos disponibilizando videos com pequenas demonstrações das tecnologias.

Não esqueça de acessar o Blog do Cloud Treinamentos em http://www.cloudtreinamentos.com.br/blog

Espero que gostem.

Project THOR

Technical and Human infrastructure for Open Research

randieri.com

Il blog di Cristian Randieri

TEC OFFICE PRODUTIVO

Tec Office Produtivo é um grupo de treinamentos, dicas e tutorias de informática sobre aplicativos utilizados em escritórios.

Gold Recipes

Gols Recipes

Escadas Especiais

Projetos, fabricação e instalação de escadas em geral

Jaqueline Ramos

Devops & Cloud

Blog do Douglas Romão

MVP Office Apps and Services | Modern Workplace and Business Applications Expert