O Rancher é uma plataforma de gerenciamento de containers em nível enterprise que centraliza a implantação, operação e governança de clusters Kubernetes. Ele fornece um plano de controle unificado para administrar ambientes Kubernetes on‑premises, edge e em nuvem, com forte ênfase em segurança, RBAC e gerenciamento do ciclo de vida.
Neste guia, você aprenderá a instalar o Rancher utilizando Docker no Rocky Linux 9 ou AlmaLinux 9, seguindo uma abordagem limpa e orientada a boas práticas, adequada para laboratórios, PoCs e ambientes de pequeno e médio porte.
Pré-requisitos
Antes de iniciar, garanta que os seguintes requisitos sejam atendidos:
Instalação limpa do Rocky Linux 9 ou AlmaLinux 9
Mínimo de 2 vCPUs e 4 GB de RAM (8 GB recomendados para produção)
Usuário com privilégios de sudo
Conectividade estável com a internet
Liberação das portas 80 e 443 no firewall
Este laboratório foi executado em um ambiente VMware vSphere Standalone, utilizando AlmaLinux 9 e o usuário root.
Etapa 1: Atualizar o Sistema Operacional
Inicie atualizando todos os pacotes do sistema para as versões mais recentes:
sudo dnf update -y
Após a conclusão da atualização, reinicie o sistema:
sudo reboot
Etapa 2: Instalar o Docker Engine
O Rancher utiliza o Docker como runtime de containers. Por padrão, o Rocky Linux 9 e o AlmaLinux 9 vêm com Podman, que deve ser removido para evitar conflitos.
Copie a senha exibida e utilize a opção Log in with Local User.
Em seguida, você deverá:
Definir uma nova senha de administrador
Aceitar o Contrato de Licença do Usuário Final (EULA)
Após concluir essas etapas, você será redirecionado para o dashboard do Rancher.
Validação Final
Com o Rancher operacional, você já pode:
Criar ou importar clusters Kubernetes
Aplicar políticas de segurança e RBAC
Gerenciar workloads, namespaces e projetos
Integrar monitoramento e logging
Conclusão
Você instalou com sucesso o Rancher no Rocky Linux 9 ou AlmaLinux 9. Essa implementação fornece uma base sólida para gerenciamento centralizado de Kubernetes, com governança e escalabilidade em nível corporativo.
O Rancher é um componente estratégico para organizações que adotam containers e Kubernetes em escala. Explore recursos avançados como multi‑cluster management, Fleet, automação e hardening de segurança para extrair o máximo valor da sua plataforma.
Para mais conteúdos sobre infraestrutura, cloud e datacenter, acompanhe o Techpoli.
O Squid é um servidor proxy que suporta HTTP, HTTPS, FTP e outros. Ele reduz a utilização da conexão e melhora os tempos de resposta fazendo cache de requisições frequentes de páginas web numa rede de computadores. Ele pode também ser usado como um proxy reverso.
Hoje vamos ver como instalar e configurar o Squid no Centos 7. Em muitas das situações que me deparei referente a chamados de liberação de site em nosso firewall de produção a mais eficiente solução foi instalar um proxy em uma maquina virtual e apontar a aplicação ou site com problemas de acesso dentro da nossa rede para monitorar as conexões.Sei que não é o adequado mas o Squid te da uma visualização fácil dos logs de requisição que estão chegando no servidor, com isso conseguimos fazer as liberações no Firewall de produção de maneira adequada.
Vamos começar pelo SO:
Atualizando seu sistema
É importante sempre manter o sistema atualizado.
yum -y update
Instalando o Repositório Epel
Em seguida instalamos o repositório Epel para termos uma efetividade melhor na busca de pacotes no sistema do CentOS.
yum -y install epel-release
Desativando o Selinux e o FirewallD
Para desativar o SELinux no CentOS 7, digite:
sed -i 's/enforcing/disabled/g' /etc/selinux/config /etc/selinux/config
O próximo passo é desativar o FirewallD.
systemctl disable firewalld.service
Vamos aproveitar e dar um “stop” no serviço do FirewallD que está em execução.
systemctl stop firewalld.service
Instale o SQUID
Para realizar a instalação do squid é muito simples. Buscamos o pacote direto dos repositórios.
yum -y install squid
Configurando o SQUID
Agora vamos efetuar as configurações do SQUID no ambiente Linux CentOS. O primeiro passo a fazer é um backup do arquivo squid.conf.
cp -Rfa /etc/squid/squid.conf{,.bkp}
Agora vamos acessar o diretório de configuração do SQUID.
cd /etc/squid/
Vamos excluir o arquivo “squid.conf” para que possamos criar um arquivo novo e limpo. Só não esqueça de efetuar o backup do arquivo original conforme explicado acima.
rm -rf squid.conf
Na sequência criamos um novo arquivo de configuração.
Você pode optar por criar o arquivo do modo mais tradicional, utilizando o comando “touch”, ou simplesmente criar um arquivo novo diretamente com o “vi/vim”. Prefiro utilizar o “vim”.
vim squid.conf
Obs.: Lembrando que estamos no diretório de configuração do squid “/etc/squid/”.
Abaixo segue o conteúdo do “squid.conf”
## DEFINE A PORTA DE CONEXAO DO SQUID
http_port 3128
## DEFINE O TAMANHO MAXIMO DE UM OBJETO PARA SER ARMAZENADO EM CACHE ##
maximum_object_size 4096 KB
## DEFINE O TAMANHO MINIMO DE UM OBJETO PARA SER ARMAZENADO EM CACHE ##
minimum_object_size 0 KB
## DEFINE O TAMANHO MAXIMO DE UM OBJETO PARA SER ARMAZENADO EM CACHE DE MEMORIA ##
maximum_object_size_in_memory 64 KB
## DEFINE A QUANTIDADE DE MEMORIA RAM A SER ALOCADA PARA CACHE ##
cache_mem 512 MB
## AJUSTA A PERFORMANCE EM CONEXOES PIPELINE ##
pipeline_prefetch on
## CACHE DE FQDN ##
fqdncache_size 1024
## OPCOES DE REFRESH PATTERN ##
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
## DEFINE A PORCENTAGEM DO USO DO CACHE ##
cache_swap_low 90
cache_swap_high 95
## ARQUIVO DE LOGS DO SQUID ##
access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
## DEFINE O LOCAL DO CACHE ##
cache_dir ufs /var/spool/squid 1600 16 256
## CONTROLE DE ROTACAO DOS ARQUIVOS DE LOGS ##
logfile_rotate 10
## ARQUIVO ONDE CONTEM OS ENDERECOS LOCAIS DA REDE ##
hosts_file /etc/hosts
## ACLS - PORTAS PADROES LIBERADAS ##
acl SSL_ports port 80 #HTTP
acl SSL_ports port 443 #HTTPS
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
### DEFININDO MODO DE AUTENTICACAO
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/usuarios
auth_param basic children 5
auth_param basic realm "DIGITE SEU USUARIO E SENHA PARA ACESSO A INTERNET:"
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
### ACL PARA GARANTIR A AUTENTICACAO DO USUARIO NOS SITES ###
acl autenticados proxy_auth REQUIRED
## BLOQUEIA O ACESSO UNSAFE PORTS ##
http_access deny !Safe_ports
## Deny CONNECT to other than secure SSL port ##
http_access deny CONNECT !SSL_ports
## SITES BLOQUEADOS PARA ACESSO ##
acl sites-bloqueados url_regex -i "/etc/squid/regras/sites_bloqueados"
## SITES LIBERADOS PARA ACESSO ##
acl sites-liberados url_regex -i "/etc/squid/regras/sites_liberados"
## DEFININDO A ORDEM DAS REGRAS - ACLS ##
http_access deny sites-bloqueados
http_access allow sites-liberados
http_access allow autenticados
http_access deny all
http_reply_access allow all
icp_access allow all
miss_access allow all
## NOME QUE IRA APARECER NA TELA DE ERRO OU BLOQUEIO DO SQUID ##
visible_hostname proxy.techpoli.info
## DIRETORIO DAS PAGINAS DE ERROS ##
error_directory /usr/share/squid/errors/pt-br
## OUTRAS OPCOES DE CACHE ##
cache_effective_user squid
coredump_dir /var/spool/squid
Após salvar o arquivo (Se você utilizou o vi/vim para salvar e sair do arquivo utilize: ESC + as teclas :wq)
O próximo passo é criar um diretório para armazenar as regras, ou seja, as ACL’s do nosso squid.
mkdir /etc/squid/regras
Se você leu o “squid.conf” notou que temos duas ACL’s prontas na configuração.
ACL para sites bloqueados => /etc/squid/regras/sites_bloqueados ACL para sites liberados => /etc/squid/regras/sites_liberados
Vamos criar esses arquivos dentro do diretório de regras.
Note que utilizei o formato “.site.” o ponto antes da palavra pega qualquer sub-domínio do site, e o mesmo após o domínio pega qualquer sub-página por exemplo.
Vamos ajustar a permissão na pasta “regras” para o squid.
chown -Rf squid:squid /etc/squid/regras/
Configurando a Autenticação Local
No squid teremos a autenticação local, ou seja, teremos um arquivo responsável por armazenar os logins e senhas dos usuários.
Para criar esse arquivo vamos precisar instalar o Apache2 no CentOS, vamos utilizar um complemento do Apache2 chamado “htpasswd”.
yum -y install httpd
Não é necessário nem iniciar o serviço do Apache, vamos criar o arquivo de logins e senhas.
Criando os usuários com o comando “htpasswd”
Utilize o comando abaixo, somente pela primeira vez, para criar o arquivo:
O parâmetro “-c” na linha abaixo indica que o comando crie o arquivo e em seguida o usuário informado.
● squid.service - Squid caching proxy
Loaded: loaded (/usr/lib/systemd/system/squid.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2019-06-19 13:29:19 EDT; 19h ago
Process: 5229 ExecStart=/usr/sbin/squid $SQUID_OPTS -f $SQUID_CONF (code=exited, status=0/SUCCESS)
Process: 5218 ExecStartPre=/usr/libexec/squid/cache_swap.sh (code=exited, status=0/SUCCESS)
Main PID: 5243 (squid)
CGroup: /system.slice/squid.service
├─5243 /usr/sbin/squid -f /etc/squid/squid.conf
├─5245 (squid-1) -f /etc/squid/squid.conf
└─5274 (unlinkd)
Jun 19 13:29:19 bra01squid01.local systemd[1]: Starting Squid caching proxy...
Jun 19 13:29:19 bra01squid01.local squid[5243]: Squid Parent: will start 1 kids
Jun 19 13:29:19 bra01squid01.local systemd[1]: Started Squid caching proxy.
Jun 19 13:29:19 bra01squid01.local squid[5243]: Squid Parent: (squid-1) proce...d
Hint: Some lines were ellipsized, use -l to show in full.
Vamos deixar o squid configurado para iniciar junto ao boot do sistema linux.
systemctl enable squid
Testando o funcionamento do SQUID
Para testar o servidor Squid insira o IP e porta nas configurações de proxy do navegador.
Visite um site na lista de bloqueados, globo.com por exemplo, veja o resultado abaixo:
Digite o login e senha de acesso criado nos passos anteriores:
Acessando o site globo.com que está na lista de bloqueados.
Acompanhe os logs de acessos.
tail -f /var/log/squid/access.log
1561035035.315 0 192.168.0.209 TCP_DENIED/403 4157 GET http://g1.globo.com/favicon.ico - HIER_NONE/- text/html
1561035035.318 0 192.168.0.209 TCP_DENIED/403 4157 GET http://g1.globo.com/favicon.ico - HIER_NONE/- text/html
Veja nos logs que o acesso foi negado pelo SQUID, TCP_DENIED/403 no domínio na lista de proibidos.
A configuração do SQUID é em cima de ACL, sabendo o funcionamento e a ordem de como utilizar as ACL no SQUID é possível bloquear downloads, liberar ou bloquear usuários ou endereços IPs e muito mais.
Dúvidas, comentário e sugestões só avisar. Valeu! e até a próxima!
Feliz 2019 a todos, e que possamos compartilhar muitas experiências neste ano.
O Bonding é módulo do Kernel Linux e que permite usar várias interfaces de rede em uma única interface lógica. Sua implementação é simples, e por sinal bem documentado.
Tipos de Bonding:
Mode
Politica
Como Funciona
Tolerância a falha
Balanceamento de carga
0
Round Robin
Os pacotes são transmitidos / recebidos sequencialmente através de cada interface, um por um.
No
Yes
1
Active Backup
Uma NIC ativa enquanto outra NIC estiver adormecida. Se a NIC ativa cair, outra NIC se tornará ativa. Suportado apenas em ambientes x86.
Yes
No
2
XOR [exclusive OR]
Neste modo, o endereço MAC do NIC escravo é comparado com o MAC do pedido recebido, uma vez estabelecida esta conexão, o mesmo NIC é usado para transmitir / receber para o MAC de destino.
Yes
Yes
3
Broadcast
Todas as transmissões são enviadas em todos os escravos.
Yes
No
4
Dynamic Link Aggregation
NICs agregadas atuam como uma NIC que resulta em um rendimento mais alto, mas também fornece failover no caso de falha de uma NIC. Agregação dinâmica de links requer um switch que suporte IEEE 802.3ad
Yes
Yes
5
Transmit Load Balancing (TLB)
O tráfego de saída é distribuído dependendo da carga atual em cada interface escrava. O tráfego de entrada é recebido pelo escravo atual. Se o escravo receptor falhar, outro escravo assumirá o endereço MAC do escravo com falha.
Yes
Yes
6
Adaptive Load Balancing (ALB)
Ao contrário da Agregação de Link Dinâmico, o Balanceamento de Carga Adaptável não requer nenhuma configuração de switch específica. O balanceamento de carga adaptável é suportado apenas em ambientes x86. Os pacotes de recebimento são balanceados por carga através da negociação ARP.
Yes
Yes
O laboratório vai ser executado no Centos 7, porem a configuração é compatível com o RedHat 7
Requisitos:
Caso o modulo do Bonding, não esteja ativo o comando abaixo faz a ativação:
modprobe bonding
Para listar as informações do módulo de Bonding , use o seguinte comando.
modinfo bonding
1ª Etapa : Criar arquivo de interface Bond
Crie um arquivo de interface Bound (ifcfg-bond0) na pasta “/ etc / sysconfig / network-scripts /”
Especifique o endereço IP, a máscara de rede e os modos de ligação conforme sua necessidade. No meu exemplo eu estou usando o modo = 5, que é usado para fornecer tolerância a falhas e balanceamento de carga.
2ª Etapa : Edite os arquivos das interfaces de rede
Abaixo vou deixar o exemplo de como deixo as duas placas de rede configuradas:
Neste artigo vamos ver abaixo como efetuar a configuração do OpenVPN Client versão 2.4.1 no Centos 7.
Para iniciarmos a instalação é importante baixar os pacotes abaixo para efetuarmos a instalação. O primeiro link de download é referente ao OpenVPN e o segundo é uma dependência solicitada pelo OpenVPN.
Para instalação do OpenVPN 2.4.1 é necessário instalar a a dependência abaixo que foi copiada para o servidor:
rpm -Uvh pkcs11-helper-1.11-3.el7.x86_64.rpm
Após a instalação da dependência já podemos instalar o OpenVPN Client:
yum install openvpn-2.4.1-2.sdl7.x86_64.rpm
Pronto, o OpenVPN está instalado caso não ocorra nenhum erro podemos utilizar a VPN. Para isso você deve passar seus arquivos de acessos Openvpn para o diretório:
cd /etc/openvpn/client/
Após os arquivos estarem no diretório você deve ficar atento para converter o arquivo com a extensão .ovpn para a extensão .conf. Segue um exemplo abaixo:
mv geraldovpn.ovpn geraldovpn.conf
Agora tudo está correto para efetuar a conexão vpn, basta apenas rodar o comando abaixo que vai executar o seu certificado
openvpn --config fibtech.conf
Caso não tenha ocorrido nenhum erro de conexão e tudo esteja correto com seu certificado e servidor de destino você já deve estar conectado.
Segue imagem abaixo do servidor conectado:
Bom pessoal, qualquer duvida ou problema é só avisar.
Olá amigos, satisfação em escrever novamente para vocês.
A dica de hoje é recomendada para ambientes de testes ou caso extremos de acesso direto com root. Pois querendo ou não isso é uma falha de segurança para seu servidor. Recentemente tive uma demanda entre dois servidores linux Ubuntu, aonde um script de automação que estava sendo executado pelo Jenkins precisava de acesso root ao ssh remoto.
Com isso o Ubuntu 16.04 bloqueia o acesso direto ao root, porem abaixo veremos como mudar essa configuração.
Nota: Certifique-se de ter o serviço openssh-server instalado, caso não tenha o comando está abaixo para instalar:
sudo apt-get install openssh-server
Abrir o arquivo de configuração do SSH para realizar as alterações:
vim /etc/ssh/sshd_config
Procurar pela linha abaixo para realizar a alteração:
PermitRootLogin prohibit-password
E alterara a linha PermitRootLogin prohibit-password para a linha abaixo:
PermitRootLogin yes
Também existe a possibilidade de rodar um comando que executa a mesma operação acima, segue abaixo:
sudo sed -i 's/prohibit-password/yes/' /etc/ssh/sshd_config
Apos isso apenas precisamos reiniciar o serviço do SSH com o comando abaixo:
sudo service ssh restart
Simples né? Qualquer problema ou duvida nos avisem.