terça-feira, 21 de março de 2023

Tutorial: instalando Sistemas Operacionais diversos no Proxmox - ou "remember" da série Nostalgia aqui do blog!

Pessoal,


Lá em 2018, há quase cinco anos, eu fiz uma série de posts aqui no blog ("Nostalgia", começando aqui) instalando diversas versões antigas dos SO da Microsoft (MS-DOS e Windows).

Na ocasião foi tudo instalado no VMWare que rodava no MacMini que até já desencarnou. Dessa vez, resolvi reinstalar tudo no Proxmox.

Por que o Proxmox? Porque conforme contei aqui, posso acessar o Proxmox de fora de casa e ativar e usar qualquer uma dessas VM.

Aí vem os perrengues (claro, nunca é fácil).

Fui tentar instalar normamente: criei a VM e na hora de colocar o SO não aparecia a opção de disquete. Bom, tentei colocar os arquivos .img como se fosse .iso e a VM reclamava que as imagens não eram "bootáveis"...

Aí baixei um programa pra Windows (IsoWorkshop) para converter os arquivos .img em .iso e deixá-los bootáveis. O primeiro disco funcionou, mas o DOS não conseguia perceber que eu estava trocando a iso do primeiro disco pela do segundo e ficava travando nessa tela:


Não ia pra frente de jeito nenhum. Acho que a VM não conseguia perceber essa troca de arquivo .iso e entender que era pra ler o conteúdo do arquivo. Na verdade falta uma opcão nas VM do Proxmox para poder usar disquetes (floppy disks). Procurando as threads do fórum do Proxmox, isso já é pedido desde 2008. Um usuário até criou uma gambiarra (veja aqui) lá em 2013 e considerou como "problem solved", mas a conversa acabou descambando pra um bate-boca entre um membro (e depois os outros também) do Proxmox que atuam como moderadores e membros seniors do fórum com alguns usários.

O resumo desse bate boca é que os usuários alegaram que isso seria útil (lá atrás sim; hoje, em 2023, só pra brincadeiras como esta) e que o Proxmox poderia colocar. O senior disse que se eles quisessem, eles poderiam implementar o código ou pagar para a turma do Proxmox implmentar. Aí a coisa descambou pra grosseria dos dois lados, a turma do Proxmox dizendo que era Open Source mas eles não trabalhavam de graça e os usuários reclamando da grosseria gratuita.

Enfim, nada resolvido e contiuamos sem o botão de floppy disk e sem a opção de usar arquivos .img com imagem de disquetes.

Tentei acrescentar vários leitores de CD para ver se resolvia, tentei criar um CD com todo o conteúdo das imagens... Nada.

Pensei até em criar uma VM com Virtual Box e usar o phpvirtualbox para acessar as VM (como eu fazia lá em 2021 (veja aqui), mas o projeto foi descontinuado e agora está bem mais complicado (até porque mudou o Debian para o 11, o VirtualBox para o 7 e o phpvirtualbox é meio hobby agora)...

Enfim, como resolvi? Resolvi do jeito ogro: criei uma VM no VirtualBox e exportei o HD virtual para o Proxmox. Vou comentar essa instalação em outro post.

Bom, esse post era pra comentar dessa dificuldade toda e falar que sim, tem solução!

Tem uma outra coisa que deve ser relatada aqui também. O Proxmox também não passa áudio diretamente. Nem bluetooth. É preciso instalar um hardware virtual e utilizar o SPICE (Simple Protocol for Independent Computing Environments - veja mais aqui), uma solução open source para acesso remoto em máquinas virtuais. Resumindo em duas palavras: não funciona! Pelo menos não para Mac como client.

O Proxmox é super interessante e super eficaz. Mas tem umas coisas que irritam um pouco...

Assim, para resolver o som e bluetooth, tive que adotar uma coisa mais radical que falarei em outro momento.

Até o próximo post!

Dica: como criar um imagem de disco no MacOS

Pessoal,


Estou aqui quebrando a cabeça para tentar instalar o MS-DOS no Proxmox. Vou falar disso em outro post.

Aqui vai ser um post de uma dica simples: como criar uma imagem de disco no MacOS para usar em que você quiser, inclusive em uma VM de MS-DOS :)

1 - Abra o terminal e digite:

# dd if=/dev/zero bs=1024 count=1440 > disquete.img


Pronto, isso vai criar uma imagem chamada: "disquete.img". Essa imagem, no caso, tem o tamanho de 1,44MB ("count=1440"), o tamanho máximo de um disquete 3.25".

No meu caso, criou na pasta /Users/castilho do Mac, a minha pasta de trabalho.


Navegue até lá e clique duas vezes sobre a imagem "disquete.img". Vai abrir uma janela avisando que a imagem não está formatada.


Clique em formatar. Vai abrir uma nova janela mostrando a imagem do disco no Utilitário de Disco do Mac:


Como saber, dentre todos os volumes da coluna da esquerda, qual é a imagem que queremos formatar? Simples! Lá no comando, criamos uma imagem de 1,44MB. Esse imagem tem aproximadamente esse tamanho:


Veja na seta: a imagem tem 1,5MB. É essa a nossa imagem. Agora clique em "Apagar" (1) para a formatação e escolha "MS-DOS (FAT)".




Pronto, nossa imagem já está formatada e já foi montada:


Agora você já pode arrastar as coisas do Finder pra lá e, quando acabar, basta "ejetar" a imagem e mandar pra VM que deseja usar.

É isso por enquanto.

segunda-feira, 20 de março de 2023

Dica: Forçar um desligamento nas VMs do Proxmox

Pessoal,


Às vezes as VMs do Proxmox precisam ser desligadas para manutenção de algum código ou reiniciadas para atualização de algum componente ou programa ou simplesmente porque sua criação gerou algum erro e ela entra em um loop infinito.

O problema é que, quase sempre algumas vezes o comando para parar é ignorado e a gente fica tentando desligar, parar, forçar desligamento e gera isso aqui embaixo:


Quem nunca passou por isso? Quem nunca apelou e tirou o computador da tomada de raiva porque a VM não parava? Quem nunca arrancou os cabelos de raiva? Quem nunca chutou o computador? Eu nunca fiz nada disso!

Assim, aqui vai uma pequena dica: o comando abaixo mostra as VMs que você tem e quais estão ativas (tá, é meio supérfluo porque basta olhar o seu PVE para saber as VMs que você tem e quais estão ativas, mas vá lá):

# cat /etc/pve/.vmlist
{
"version": 59,
"ids": {
"100": { "node": "proxmox", "type": "qemu", "version": 2 },
"102": { "node": "proxmox", "type": "qemu", "version": 3 },
"104": { "node": "proxmox", "type": "qemu", "version": 59 },
"101": { "node": "proxmox", "type": "qemu", "version": 1 },
"103": { "node": "proxmox", "type": "qemu", "version": 23 }}

}

Ótimo, pode ver que está ativa a 59 ("version: 59) e essa corresponde à VM 104 (no meu caso é exatamente essa a única ativa no momento).

Para forçar e realmente parar a VM, dê o seguinte comando:

# qm stop 104
Pronto! Tchau pra você, VM que não quer desligar!!

É só essa dica por enquanto!

domingo, 5 de março de 2023

Cloudflare Tunnel: melhor que VPN! O serviço que eu procurava para acesso remoto!

Pessoal,


Descobri um serviço excelente para acessar remotamente os computadores de casa com segurança: Cloudflare Tunnel!

Imagine que está fora de casa, seja no trabalho ou em uma viagem, e deseja acessar um computador ou seu NAS em casa. Existem algumas possibilidades. A mais tradicional, por segurança, é através de uma VPN (não essas VPNs pagas, mas um serviço com o OpenVPN ou WireGuard.). Outra possibilidade é escancarar seu computador expondo ele na internet através de uma autorização no seu firewall.

Aqui entra a esse túnel da Cloudflare: você instala um cliente dentro da sua rede (seja em Windows, Linux, Mac ou um container Docker) para criar uma conexão segura com a Cloudflare. Após essa etapa, criaremos um ou vários nomes para acessar os serviços internos (através de FQDNs - Fully Qualified Domain Names ou Nomes de Domínio Totalmente Qualificados, DNS Names ou registros CNAME).

Assim, por exemplo, pretendo usar para acessar meu Synology NAS sem precisar expô-lo através do Quickconnect ou abrindo o firewall para tanto. Posso simplicar e criar um 'synology.meudominio.com.br' para o NAS e passar para a Cloudflare qual o endereço IP privado e a porta. O Synology usa uma interface HTTP através da porta 5000, mas quando acessamos através desse túnel, essa interface se torna uma conexão HTTPS pela porta 443.

Só vejo vantagens: é um modo conveniente de acessar seu conteúdo privado, tem o redirecionamento de uma porta HTTP 5000 para a porta HTTPS e, uma vez que estamos conectados a um FQDN gerenciado pela Cloudflare, também ocultramos o nosso endereço IP WAN!!! Sério, é muita vantagem!!!

Talvez o grande  "inconveniente" seja a necessidade de ter um nome de domínio registrado. Pelo que procurei, esses domínios gratuitos como No-Ip e DuckDNS não servem para isso. Assim, eu optei por registrar um domínio para mim.

Sugiro que vocês pesquisem bastante pois os preços variam muito, principalmente a depender do TLD (Top Level Domain ou sufixo de domínio, o ".com" ou ".com.br"). Os TLDs da modinha, como .info, .app, .tech e outros podem custar algumas centenas de dólares a mais que os .com ou .com.br. Mas essa é uma decisão individual. Eu registrei o meu atravé da própria Cloudflare pois queria um TLD ".com" e o Cloudflare era mais barato que encontrei.

Indo em frente, é necessário um registro gratuito no Cloudflare. Após o registro e o login, você verá essa tela aqui:


A marcação "1" mostra o seu domínio ativo já cadastrado no Cloudflare. Caso não tenha um, é necessário adicionar o domínio clicando na marcação "2". Essa parte foge do escopo deste texto, então clique aqui para aprender a transferir seu domínio para a Cloudflare segundo as exigências dela. Asseguro que é bem simples. Basicamente você terá que trocar os nameservers de onde está hospedado o seu domínio pelos nameservers da Cloudflare.

Passada esta etapa, vamos criar o túnel! Clique no seu site (lá na marcação "1"). Deve aparecer uma tela com opções de serviços da Cloudflare. Desça e escolha a opção "Free". Deve ser pedido o seu cartão de crédito, mas nada será cobrado (se quiser ficar tranquilo, coloque um cartão virtual com apenas 5 dólares e que dure apenas um ou dois meses...).



Depois, tendo seu domínio devidamente registrado na Cloudflare, eles irão oferecer alguns serviços gratuitos para aumentar a segurança e velocidade de acesso (reescreve o endereço usando HTTPS, redireciona as requisições de HTTP para HTTPS e utiliza a compressão Brotli para acelerar o tempo de carregamento das páginas). Sugiro ativar tudo.


Agora os servidores da Cloudflare vão processar essas mudanças do registro do domínio e isso pode levar algum tempo, às vezes algumas horas. Você será notificado quando tudo estiver pronto (pelo email de cadastro na Cloudflare) e no painel da Cloudflare estará esta mensagem:


Clique nesse site e vamos criar o túnel:


Clique em Traffic -> Cloudflare Tunnel -> Launch Zero Trust Dashboard. Na tela que surgirá, a do Cloudflare Zero Trust, clique em Access -> Tunnels:


Escolha o nome do seu túnel e clique em "Save tunnel":


E agora escolha como irá instalar o conector na sua rede interna.


Como eu tenho um Synology NAS e ele fica ligado constantemente e hospeda uma página onde eu faço meu dashboard dos diversos serviços que rodam nele e em outros computadores, optei por instalar um container Docker nele para fazer isso.

Agora vá para o Docker do Synology e faça o seguinte:


Em Registro (1), digite Cloudflare para pesquisar (2) por esta imagem. Escolha a imagem cloudflare/cloudflared (3) e clique em baixar (4). Quando aparecer a janela para escolhar a marca, escolha "latest" (5) e clique em Selecionar (6) para iniciar o download da imagem. Feito isso, vamos preparar a imagem para executar:


Em Imagem (1), escolha a imagem que foi baixada (2) e vamos abrir para configurar. A primeira opção é para escolher a rede do container:


Agora vamos escolher o nome do container, ativar a reinicialização automática e escolher as configurações avançadas:



Após clicar em "Configurações avançadas", vamos precisar usar o comando para criar o container docker que o Cloudflare sugeriu mas será necessário editar algumas coisas. Copie para um editor de texto o comando do Docker e faça as mudanças. Tudo que está no retângulo vermelho será retirado e o que está em negrito continuará:


Após a edição, ficará assim:


Esse texto será colado nas Configurações avançadas, na aba "comando de execução":


Pronto! Clique em Salvar e depois em Avançar. Podemos executar agora com segurança. Quando voltarmos à página da Cloudflare, vamos ver isso aqui:


Pronto! A conexão foi bem sucedida! Clique em "Next"para criar os FQDN (os DNS names para acessarmos os serviços na nossa rede privada).


E é essa facilidade toda aí: como subdominínio, escolhi "nas". O domínio é o que você tem registrado (o seu <qualquercoisa.com.br>). Depois você coloca as configurações de como está acessando o serviço dentro da sua rede. O Synology é desse jeito: http://192.168.1.2:5000. Vejam que o túnel foi criado:


E é isso!

Só tem uma questão importantíssima! Quem souber esses FQDNs entrará na rede rapidamente! Assim, precisamos configurar um bloqueio. O Cloudflare Tunnel tem basicamente todos os serviços de SSO (Single Sign On) como veremos a frente. Inicialmente volte para a tela de iníico do Cloudflare Zero Trust e clique em "Settings" -> Authentication":


Perceba que apenas um modo de autenticação está ativado. Clique em "Add New" para escolher outros métodos:


E veja todos os métodos possíveis! Só fica inseguro quem quiser!


Esse método de One-time PIN já ajuda bastante. Ao tentar conectar no endereço, aparecerá essa tela:


Quem desejar entrar deverá ter um email cadastrado para acessar o túnel (sim, se você colocar outro email que não o cadastrado você não receberá o código de segurança). Digitando o email correto, o usuário receberá um email assim:


E esse código deverá ser digitado na página de acesso:


Pronto! Agora você consegue entrar.

Esse email é definido no menu da Cloudflare Zero Trust acessando: Access -> Applications e aí vcoê clica em "Add an aplication" -> Self-hosted e escolhe um nome e coloca o domínio. Interessante aqui é colocar um asterisco (sim, um "*" - coringa) no subdomínio para que essa regra de segurança valha para TODOS os serviços hospedados nesse domínio! Na página seguinte você escolhe as regras de segurança. Eu colocquei assim:


Dese modo, as mensagens são enviadas para o meu email pessoal, há bloqueio para acessos originários de alguns países conhecidos por ataques de hackers e, por padrão, preenchendo esses requisitos, o acesso é autorizado.

Há muita, muita coisa para fazer aqui ainda. Estou só aprendendo a usar essa ferramenta!

É isso, pessoal!





quarta-feira, 1 de março de 2023

Dica: Novo método para registrar o Windows 10 e Windows 11! Funciona e é bem fácil!

Pessoal,

Hoje fui instalar o Windows 10 aqui no Proxmox e tive a surpresa que o método descrito aqui não funcionou...

Usei esse método várias vezes e nunca tive problemas. Mas dessa vez não rolou. Deu mensagem de erro sempre no terceiro e último comando. Tentei trocar o serial, reiniciar a VM e nada...

Aí fui procurar e achei um método bem interessante e simples.

Primeiro, abra o PowerShell como admin. Depois execute esse comando:

      irm https://massgrave.dev/get | iex 

Pronto. Deve abrir uma tela assim:


Apareceu aí? Ótimo!

Agora clique na opção "1" e deixa a mágica acontecer...

Pronto! Seu Windows está registrado. Serve para o 10 e para o 11!

É isso por agora, pessoal!