mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-11-02 19:02:31 +00:00
docs: review networking documentation in all seven translations
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Cópia de segurança e reinício das interfaces | Documentação ProxMenux",
|
||||
"description": "Snapshot manual, navegar e restaurar backups /etc/network/interfaces armazenados em /var/backups/proxmenux/. Inclui uma reinicialização do serviço de rede com confirmação e uma visão rápida da configuração ao vivo.",
|
||||
"ogTitle": "Cópia de segurança e reinício das interfaces | Documentação ProxMenux",
|
||||
"ogDescription": "Instantâneo e restauração da configuração de rede Proxmox; reinicie o serviço de rede com confirmação."
|
||||
},
|
||||
"header": {
|
||||
"title": "Cópia de segurança e reinício das interfaces",
|
||||
"description": "Quatro utilitários que giram em torno de /etc/network/interfaces: tirar um instantâneo manual, visualizar a configuração ao vivo, restaurar um backup anterior com visualização opcional, e reiniciar o serviço de rede com consentimento explícito. Mesmo diretório de backup usado pelos fluxos de reparo guiados.",
|
||||
"section": "Rede"
|
||||
},
|
||||
"intro": {
|
||||
"title": "O que isto faz",
|
||||
"body": "Gere o mesmo diretório de cópias de segurança usado pelas reparações guiadas (<code>/var/backups/proxmenux/</code>). Permite criar uma cópia extra antes de qualquer alteração manual, consultar todas as cópias existentes e repor qualquer uma delas — sempre com uma nova cópia do estado anterior ao restauro, criada automaticamente como segunda proteção."
|
||||
},
|
||||
"shared": {
|
||||
"heading": "O diretório de backup compartilhado",
|
||||
"intro": "Cada backup feito em qualquer lugar no menu Rede chega no mesmo lugar:",
|
||||
"outro": "Os nomes dos ficheiros contêm data e hora, são ordenados por data e nunca são substituídos. O diretório é criado na primeira utilização."
|
||||
},
|
||||
"show": {
|
||||
"heading": "Mostrar arquivo de configuração de rede",
|
||||
"body": "Imprime <code>/etc/network/interfaces</code> na íntegra para o terminal. Só para leitura. Útil como uma verificação de sanidade antes de fazer um backup ou depois de uma restauração — não há nenhuma ferramenta separada \"diff com backup anterior\", então olhar para o arquivo ao vivo é a maneira mais fácil de confirmar o que você tem."
|
||||
},
|
||||
"create": {
|
||||
"heading": "Criar backup de rede",
|
||||
"body": "Copia o <code>/etc/network/interfaces</code> atual para o diretório de backup com um timestamp fresco. É isso — sem análise, sem prompts, apenas um instantâneo.",
|
||||
"whenTitle": "Quando criar uma cópia de segurança manual",
|
||||
"whenBody": "Antes de editar <code>/etc/network/interfaces</code> à mão, instalar um pacote que possa alterar a pilha de rede (por exemplo NetworkManager ou Open vSwitch) ou fazer qualquer alteração de hardware. As reparações guiadas já criam uma cópia automaticamente — esta opção serve para as operações <em>manuais</em>."
|
||||
},
|
||||
"restore": {
|
||||
"heading": "Restaurar backup de rede",
|
||||
"intro": "Lista todas as cópias em <code>/var/backups/proxmenux/</code> da mais recente à mais antiga e guia um restauro com proteções:",
|
||||
"steps": [
|
||||
{
|
||||
"title": "1. Escolher uma cópia de segurança",
|
||||
"body": "Um menu lista cada backup pelo seu timestamp. Se não existirem backups, o fluxo sai com uma mensagem clara.",
|
||||
"tone": "blue"
|
||||
},
|
||||
{
|
||||
"title": "2. Visualização opcional",
|
||||
"body": "Propõe abrir a cópia selecionada numa vista com deslocamento antes de confirmar o restauro. A opção predefinida é Sim — não ignore este passo num host remoto.",
|
||||
"tone": "blue"
|
||||
},
|
||||
{
|
||||
"title": "3. Cópia de segurança antes do restauro",
|
||||
"body": "Antes de sobrepor <code>/etc/network/interfaces</code>, toma <strong>outro</strong> backup do estado atual. Restaurar um backup é em si uma ação destrutiva, então o novo instantâneo pré-restore permite que você volte se o backup escolhido acabar sendo o errado.",
|
||||
"tone": "amber"
|
||||
},
|
||||
{
|
||||
"title": "4. Aplicar a restauração",
|
||||
"body": "Substitui <code>/etc/network/interfaces</code> pela cópia selecionada. A alteração do ficheiro está no disco; o estado atual do kernel ainda reflete a configuração anterior.",
|
||||
"tone": "amber"
|
||||
},
|
||||
{
|
||||
"title": "5. Reinício opcional",
|
||||
"body": "Pergunta se deve executar o <code>systemctl restart networking</code> agora. Recusar para adiar a alteração para a próxima reinicialização.",
|
||||
"tone": "emerald"
|
||||
}
|
||||
],
|
||||
"autoBackupTitle": "O restauro cria automaticamente a sua própria cópia de segurança",
|
||||
"autoBackupBody": "Selecionar <em>Restaurar backup de rede</em> cria sempre uma nova cópia da configuração <em>atual</em> antes de a substituir. Se restaurar a cópia errada, o ficheiro mais recente em <code>/var/backups/proxmenux/</code> contém o estado anterior."
|
||||
},
|
||||
"restart": {
|
||||
"heading": "Reinicie o serviço de rede",
|
||||
"body": "Executa <code>systemctl restart networking</code> após uma confirmação sim/não. Relata o resultado com <code>msg_ok</code> / <code>msg_error</code>. A maioria dos fluxos neste menu oferece o seu próprio prompt de reinicialização no final; esta opção é para reiniciar após uma edição manual ou depois de recusar o reinício do fluxo antes.",
|
||||
"warnTitle": "Breve desconexão garantida; desconexão permanente possível",
|
||||
"warnBody": "Reiniciando <code>networking</code> derruba e reaplica cada interface declarada em <code>/etc/network/interfaces</code>. As sessões SSH hospedadas nessas interfaces caem. Se a nova configuração for inválida, a rede nunca voltará. Execute isto apenas quando:",
|
||||
"warnItems": [
|
||||
"Você tem o console / IPMI / iKVM pronto, <em> ou</em>",
|
||||
"Está fisicamente ao lado da máquina, <em>ou</em>",
|
||||
"Você acabou de voltar com sucesso para uma configuração conhecida-boa e quer aplicá-la."
|
||||
]
|
||||
},
|
||||
"manualRollback": {
|
||||
"heading": "Retroceder manualmente de uma consola",
|
||||
"intro": "Se você não conseguir alcançar o menu (sem SSH, a janela está a falhar, ...) mas pode chegar a uma consola, o rollback são dois comandos:",
|
||||
"outro": "É a <em>mesma</em> operação executada pelo menu, apenas escrita à mão. Se <code>networking</code> continuar sem iniciar, consulte <code>journalctl -u networking -b</code> para identificar o erro de sintaxe ou do controlador."
|
||||
},
|
||||
"troubleshoot": {
|
||||
"heading": "Resolução de Problemas",
|
||||
"noneTitle": "\"Nenhum backup encontrado\" na Restauração",
|
||||
"noneBody": "O diretório <code>/var/backups/proxmenux/</code> não existe ou não contém ficheiros <code>interfaces_backup_*</code>. Execute <em>Criar backup de rede</em> pelo menos uma vez ou faça uma reparação guiada, que cria uma cópia automaticamente. Confirme com <code>ls /var/backups/proxmenux/</code>.",
|
||||
"unreachTitle": "Reiniciar a rede tem sucesso, mas a máquina ainda não está acessível",
|
||||
"unreachBody": "A nova configuração está errada ou não atribui o seu IP de gestão. Reponha a configuração a partir da consola (ver acima). Depois use a <bridgeLink>análise de bridges</bridgeLink> e a <configLink>análise de configuração</configLink> para perceber o problema antes de voltar a aplicar.",
|
||||
"emptyTitle": "A antevisão da restauração mostra um arquivo vazio",
|
||||
"emptyBody": "O ficheiro de backup está vazio (0 bytes). Isto acontece se uma cópia falhar silenciosamente numa execução anterior. Escolha uma cópia mais antiga ou execute novamente <em>Criar backup de rede</em> agora, se a configuração atual funcionar."
|
||||
},
|
||||
"related": {
|
||||
"heading": "Relacionado",
|
||||
"items": [
|
||||
{
|
||||
"label": "Análise de ponte e reparo guiado",
|
||||
"href": "/docs/network/bridge-analysis",
|
||||
"tail": " — a razão mais comum pela qual um backup acaba aqui."
|
||||
},
|
||||
{
|
||||
"label": "Análise de configuração e limpeza guiada",
|
||||
"href": "/docs/network/config-analysis",
|
||||
"tailRich": " — escreve igualmente para o <code>/var/backups/proxmenux/</code> automaticamente."
|
||||
},
|
||||
{
|
||||
"label": "Diagnósticos",
|
||||
"href": "/docs/network/diagnostics",
|
||||
"tail": " — para verificar o estado atual após um restauro."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,132 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Análise de bridges e reparação guiada | Documentação ProxMenux",
|
||||
"description": "Deteta bridges vmbrX com portas físicas em falta ou inválidas, tipicamente após a reenumeração PCI. Apresenta-os com sugestões de comandos de shell e propõe uma reparação guiada em 5 passos com cópia de segurança obrigatória.",
|
||||
"ogTitle": "Análise de bridges e reparação guiada | Documentação ProxMenux",
|
||||
"ogDescription": "Verifique e repare portas de bridges Proxmox após alterações de hardware, com um procedimento guiado que permite reverter em segurança."
|
||||
},
|
||||
"header": {
|
||||
"title": "Análise de ponte e reparo guiado",
|
||||
"description": "Verifica cada bridge vmbrX declarado em /etc/network/interfaces e se as suas portas físicas existem. Caso faltem, propõe uma reparação passo a passo. A análise é só de leitura; a reparação exige confirmação, apresenta uma pré-visualização e cria uma cópia de segurança.",
|
||||
"section": "Rede"
|
||||
},
|
||||
"intro": {
|
||||
"title": "O que isto faz",
|
||||
"body": "Lê cada ponte em <code>/etc/network/interfaces</code>, olha para sua linha <code>bridge-ports</code> e verifica se cada porta declarada (por exemplo. <code>enp3s0</code>) realmente existe na máquina. Se falta uma porta, propõe um substituto e – com consentimento explícito – aplica a alteração com um <strong>backup, visualização, aplicação, verificação</strong>."
|
||||
},
|
||||
"when": {
|
||||
"heading": "Quando precisares disto",
|
||||
"intro": "Linux atribui nomes de interface previsíveis de topologia PCI e ordem de fenda. Vários eventos os embaralham e deixam o <code>/etc/network/interfaces</code> referindo-se a nomes que já não existem:",
|
||||
"items": [
|
||||
"Adicionar ou remover uma placa PCIe (placa de rede, GPU, HBA ou adaptador NVMe).",
|
||||
"Mudar uma placa existente para outro slot PCIe.",
|
||||
"BIOS / UEFI atualiza que re-enumeram dispositivos PCI.",
|
||||
"Migrando o disco de inicialização para hardware diferente."
|
||||
],
|
||||
"outro": "Após a próxima inicialização, a ponte tenta anexar a uma porta que já não existe, falha em aparecer, e o host perde sua rede. <link>Nomes de interface persistentes</link> impede que isso aconteça novamente — mas se você já estiver bloqueado, esta página é o caminho de recuperação."
|
||||
},
|
||||
"bigPicture": {
|
||||
"heading": "O quadro geral",
|
||||
"diagram1": {
|
||||
"arrowLabel": "passo 1",
|
||||
"nodes": {
|
||||
"sourceLabel": "/etc/network/interfaces",
|
||||
"sourceDetail": "auto vmbr0\niface vmbr0 inet static\n bridge-ports enp3s0",
|
||||
"bridgeLabel": "Analisar (somente leitura)",
|
||||
"bridgeDetail": "ip link show enp3s0\n→ não existe",
|
||||
"targetLabel": "Relatório + sugestão",
|
||||
"targetDetail": "❌ enp3s0: NÃO ENCONTRADA\nSubstituir por: eno1\n(ainda sem alterações)"
|
||||
}
|
||||
},
|
||||
"diagram2": {
|
||||
"arrowLabel": "aplicar com backup",
|
||||
"nodes": {
|
||||
"sourceLabel": "Reparação guiada",
|
||||
"sourceDetail": "1. Cópia de Segurança\n2. Mostrar actual\n3. Antevisão das alterações\n4. Aplicar\n5. Verificar",
|
||||
"targetLabel": "/etc/network/interfaces (novo)",
|
||||
"targetDetail": "auto vmbr0\niface vmbr0 inet static\n bridge-ports eno1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"step1": {
|
||||
"heading": "Passo 1: análise (somente leitura)",
|
||||
"intro": "Ao selecionar <strong>Analisar configuração de bridges</strong>, a ferramenta para imediatamente se o host não usar a pilha clássica Debian/Proxmox. Caso contrário, verifica cada bridge e apresenta:",
|
||||
"items": [
|
||||
"Nome do bridge, estado atual (UP / DOWN) e IP atribuído.",
|
||||
"Cada porta declarada e se existe atualmente (<code>ip link show <port></code>).",
|
||||
"Para cada porta inválida: uma substituição proposta (a primeira interface física disponível) mais o comando exato <code>sed</code> para aplicá-lo manualmente.",
|
||||
"Bridges sem qualquer linha <code>bridge-ports</code> e entradas <code>auto</code> órfãs sem bloco <code>iface</code> correspondente."
|
||||
],
|
||||
"readonlyTitle": "Garantia apenas para leitura",
|
||||
"readonlyBody": "Até este ponto o script não executou um único comando modificando. Você pode deixar a análise aberta, copiar os comandos <code>sed</code> sugeridos e aplicá-los manualmente se preferir — ou aceitar o próximo prompt para inserir o reparo guiado."
|
||||
},
|
||||
"step2": {
|
||||
"heading": "Passo 2: reparação guiada (5 passos)",
|
||||
"intro": "Só se inicia se aceitar a proposta no fim da análise. Cada passo mostra o que vai acontecer e pede confirmação antes de continuar.",
|
||||
"steps": [
|
||||
{
|
||||
"title": "1. Cópia de segurança",
|
||||
"body": "Copia <code>/etc/network/interfaces</code> para <code>/var/backups/proxmenux/interfaces_backup_<TIMESTAMP></code>. O caminho exato de backup é mostrado antes da cópia e novamente depois, com o comando rollback.",
|
||||
"tone": "blue"
|
||||
},
|
||||
{
|
||||
"title": "2. Rever a configuração actual",
|
||||
"body": "Abre o <code>/etc/network/interfaces</code> ao vivo numa janela de rolagem para que possa ver exactamente o que está prestes a ser alterado.",
|
||||
"tone": "blue"
|
||||
},
|
||||
{
|
||||
"title": "3. Antever as alterações propostas",
|
||||
"body": "Lista exatamente os bridges afetados e as substituições de portas previstas. Se já não for necessária reparação porque a porta reapareceu entre as verificações, o processo termina com <em>«Não são necessárias alterações.»</em>",
|
||||
"tone": "blue"
|
||||
},
|
||||
{
|
||||
"title": "4. Aplicar alterações",
|
||||
"body": "Para cada ponte afetada, executa <code>sed -i \"/iface $bridge/,/bridge-ports/ s/bridge-ports.*/bridge-ports $new_ports/\"</code> contra <code>/etc/network/interfaces</code>. Se uma ponte não tiver nenhuma substituição válida disponível, a substituição é ignorada e relatada na etapa 5.",
|
||||
"tone": "amber"
|
||||
},
|
||||
{
|
||||
"title": "5. Verificação",
|
||||
"body": "Lê novamente o ficheiro e confirma a existência da nova porta de cada bridge. Mostra o comando para reverter (<code>cp <backup> /etc/network/interfaces</code>). Por fim propõe <strong>Reiniciar a rede</strong> — aceite apenas se tiver acesso de reserva à consola.",
|
||||
"tone": "emerald"
|
||||
}
|
||||
],
|
||||
"restartTitle": "Reiniciar a rede ≠ anular sem risco",
|
||||
"restartBody": "A reparação é gravada no disco mesmo que não reinicie o serviço. <code>systemctl restart networking</code> aplica a alteração <em>agora</em> e pode interromper a sessão SSH se a nova porta estiver errada. Se recusar, a alteração entra na mesma em vigor no próximo arranque — confirme primeiro a configuração ou reverta com o comando apresentado."
|
||||
},
|
||||
"edits": {
|
||||
"heading": "O que é editado (exatamente)",
|
||||
"body": "Apenas a linha <code>bridge-ports</code> de cada bridge afetado. As outras diretivas (<code>address</code>, <code>netmask</code>, <code>gateway</code>, <code>bridge-stp</code>, …) ficam intactas. Neste procedimento o script não cria nem remove blocos <code>iface</code> — isso cabe à <link>Análise de configuração & limpeza</link>."
|
||||
},
|
||||
"troubleshoot": {
|
||||
"heading": "Resolução de Problemas",
|
||||
"unsupportedTitle": "A análise para com «Pilha de rede não suportada»",
|
||||
"unsupportedBody": "O host usa netplan, systemd-networkd ou NetworkManager. A ferramenta só suporta <code>/etc/network/interfaces</code>. Mude primeiro o host para a pilha clássica ou altere a configuração com as ferramentas nativas do gestor (por exemplo <code>netplan apply</code>).",
|
||||
"noSuggestTitle": "Nenhuma sugestão é impressa para uma porta inválida",
|
||||
"noSuggestBody": "O host tem zero interfaces físicas livres (tudo já está em outra ponte ou não existe). A análise remonta a sugerir <code>bridge-ports none</code> para que a ponte possa pelo menos subir sem um porto. Adicionar um NIC ou migrar portas entre pontes manualmente antes de repetir.",
|
||||
"stillDownTitle": "O reparo completa, mas a ponte ainda está em baixo",
|
||||
"stillDownBody": "<code>sed</code> atualizou o arquivo, mas <code>systemctl restart networking</code> foi recusado. Execute-o manualmente assim que a nova configuração for verificada, ou reinicie. Se o reinício foi aceito e a ponte ainda estiver baixa, execute <code>ip link show</code> para confirmar a nova porta existe, em seguida, verifique <code>journalctl -u networking</code> para o erro real (cabo desconectado, link não negociado, porto já um membro de outra ponte).",
|
||||
"lostSshTitle": "Perdi o acesso SSH logo após reiniciar a rede",
|
||||
"lostSshIntro": "Use console / IPMI / iKVM para chegar ao host. Restaurar o backup:",
|
||||
"lostSshOutro": "Em seguida, re-execute a análise do console para descobrir por que a sugestão não funcionou (normalmente: a porta de substituição não está realmente conectada)."
|
||||
},
|
||||
"related": {
|
||||
"heading": "Relacionado",
|
||||
"items": [
|
||||
{
|
||||
"label": "Nomes de interface persistentes",
|
||||
"href": "/docs/network/persistent-names",
|
||||
"tail": " — atribuir nomes aos endereços MAC para que este cenário deixe de acontecer."
|
||||
},
|
||||
{
|
||||
"label": "Análise de configuração e limpeza guiada",
|
||||
"href": "/docs/network/config-analysis",
|
||||
"tailRich": " — para os blocos <code>iface</code> órfãos (a outra metade do mesmo problema)."
|
||||
},
|
||||
{
|
||||
"label": "Cópia de segurança e reinício das interfaces",
|
||||
"href": "/docs/network/backup-restore",
|
||||
"tail": " — instantâneos manuais e o navegador de restauração."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Análise de configuração e limpeza guiada | Documentação ProxMenux",
|
||||
"description": "Deteta blocos iface em /etc/network/interfaces que referem placas de rede físicas já ausentes do host. Apresenta-os e propõe uma remoção guiada em 5 passos com cópia de segurança obrigatória e pré-visualização de cada bloco.",
|
||||
"ogTitle": "Análise de configuração e limpeza guiada | Documentação ProxMenux",
|
||||
"ogDescription": "Encontrar e remover blocos de interface órfão deixados para trás por mudanças de hardware, com visualização completa e rollback."
|
||||
},
|
||||
"header": {
|
||||
"title": "Análise de configuração e limpeza guiada",
|
||||
"description": "Examina cada bloco iface em /etc/network/interfaces e verifica se a placa de rede física correspondente ainda existe. Apresenta os blocos órfãos deixados por alterações de hardware e propõe uma remoção guiada com cópia de segurança, pré-visualização e confirmação de cada bloco.",
|
||||
"section": "Rede"
|
||||
},
|
||||
"intro": {
|
||||
"title": "O que isto faz",
|
||||
"body": "Identifica declarações <code>iface</code> cuja NIC de apoio não está mais presente no host (típico após a substituição ou remoção de uma placa de rede). Em seguida, oferece uma limpeza guiada que remove <em>apenas</em> os blocos órfãos, com um backup, uma visualização por seção e uma confirmação final explícita."
|
||||
},
|
||||
"differs": {
|
||||
"heading": "Como difere da análise da ponte",
|
||||
"headerAspect": "Aspecto",
|
||||
"headerBridge": "Análise da ponte",
|
||||
"headerConfig": "Análise de configuração",
|
||||
"rows": [
|
||||
{
|
||||
"aspect": "Olha para",
|
||||
"bridge": "Pontes (<code>vmbrX</code>) e sua linha <code>bridge-ports</code>",
|
||||
"config": "Cada bloco <code>iface</code>, excluindo loopback, bridges e bonds"
|
||||
},
|
||||
{
|
||||
"aspect": "Detecta",
|
||||
"bridge": "Bridges que referem uma porta inexistente",
|
||||
"config": "Blocos de interface independentes para NICs que não existem"
|
||||
},
|
||||
{
|
||||
"aspect": "Acção de reparação",
|
||||
"bridge": "Substitui o nome do porto em <code>bridge-ports</code>",
|
||||
"config": "Remove todo o bloco <code>iface</code>"
|
||||
},
|
||||
{
|
||||
"aspect": "Exclui",
|
||||
"bridge": "Nada — cada ponte é analisada",
|
||||
"config": "Bridges (<code>vmbrX</code>) e bonds (<code>bondX</code>) são sempre mantidos, pois são virtuais e a sua ausência durante o arranque pode ser normal"
|
||||
}
|
||||
],
|
||||
"outro": "Na prática, usam-se frequentemente ambas por esta ordem: primeiro a <strong>análise de configuração</strong> para remover blocos órfãos, depois a <link>análise de bridges</link> para reatribuir os bridges que dependiam da interface removida."
|
||||
},
|
||||
"step1": {
|
||||
"heading": "Passo 1: análise (somente leitura)",
|
||||
"intro": "Aborta imediatamente se a máquina não estiver na pilha clássica. Caso contrário, lista todas as interfaces não- loopback configuradas e reporta o seu estado:",
|
||||
"virtTitle": "As interfaces virtuais estão protegidas",
|
||||
"virtBody": "Bridges (<code>vmbrX</code>) e bonds (<code>bondX</code>) são estruturas virtuais. Podem legitimamente não existir no momento da inspeção, como um bridge ainda sem portas. A análise nunca propõe removê-los — apenas placas de rede físicas."
|
||||
},
|
||||
"step2": {
|
||||
"heading": "Passo 2: limpeza guiada (5 passos)",
|
||||
"intro": "Só se inicia se aceitar a proposta no fim da análise. Cada passo exige confirmação; cancelar em qualquer ponto termina sem escrever.",
|
||||
"steps": [
|
||||
{
|
||||
"title": "1. Cópia de segurança",
|
||||
"body": "Copia <code>/etc/network/interfaces</code> para <code>/var/backups/proxmenux/interfaces_backup_<TIMESTAMP></code>. Caminho mostrado antes e depois.",
|
||||
"tone": "blue"
|
||||
},
|
||||
{
|
||||
"title": "2. Confirmar a lista de remoção",
|
||||
"body": "Lista exatamente os blocos de interfaces físicas a remover. Se as placas de rede reaparecerem entre a análise e a limpeza, por exemplo após voltar a inserir uma placa, o processo termina com <em>«Não é necessária limpeza.»</em>",
|
||||
"tone": "blue"
|
||||
},
|
||||
{
|
||||
"title": "3. Visualizar o( s) bloco( s) exato( s)",
|
||||
"body": "Abre uma vista com deslocamento de cada bloco <code>iface</code> que seria eliminado, exatamente como está no ficheiro. É a altura de identificar, por exemplo, um hook <code>up</code> que queira preservar.",
|
||||
"tone": "blue"
|
||||
},
|
||||
{
|
||||
"title": "4. Aplicar remoção",
|
||||
"body": "Para cada interface órfã, executa <code>sed -i \"/^iface $iface/,/^$/d\" /etc/network/interfaces</code>. Isso apaga da linha <code>iface</code> correspondente até a próxima linha em branco.",
|
||||
"tone": "amber"
|
||||
},
|
||||
{
|
||||
"title": "5. Verificação",
|
||||
"body": "Lê novamente o ficheiro, lista o que foi removido e verifica as interfaces restantes. Mostra o comando para reverter. <strong>Não</strong> reinicia a rede automaticamente — remover um bloco não usado pode ser aplicado em segurança no próximo reinício, evitando alterar o estado ativo.",
|
||||
"tone": "emerald"
|
||||
}
|
||||
],
|
||||
"noRestartTitle": "Não reinicia automaticamente a rede",
|
||||
"noRestartBody": "Ao contrário do reparo de ponte, o fluxo de limpeza não oferece para reiniciar o serviço. Remover um bloco de interface não utilizado não tem efeito imediato na configuração em execução, então uma reinicialização é desnecessária e seria um risco desnecessário de conectividade. A mudança produz efeito no próximo manual <code>systemctl restart networking</code> ou na próxima reinicialização."
|
||||
},
|
||||
"caveats": {
|
||||
"heading": "Advertências importantes",
|
||||
"boundaryTitle": "O limite do bloco é a primeira linha em branco",
|
||||
"boundaryBody": "O padrão <code>sed</code> elimina desde <code>iface <name></code> até à próxima linha vazia. Se <code>/etc/network/interfaces</code> não tiver linhas vazias entre blocos, algo raro mas possível após edição manual, o bloco seguinte também pode ser eliminado. Por isso, <strong>o passo 3 é obrigatório</strong>: reveja a pré-visualização antes de confirmar.",
|
||||
"tandemTitle": "Um bloco iface órfão usado por um bridge é detetado aqui, não na análise de bridges",
|
||||
"tandemBody": "Se <code>vmbr0</code> declarar <code>bridge-ports enp3s0</code> e <code>enp3s0</code> também tiver o seu bloco <code>iface enp3s0 inet manual</code>, remover <code>enp3s0</code> aqui deixa uma referência inválida em <code>vmbr0</code>. Após a limpeza, execute a <link>análise de bridges</link> para reatribuir ou remover a porta do bridge. Os dois procedimentos foram concebidos para uso conjunto."
|
||||
},
|
||||
"troubleshoot": {
|
||||
"heading": "Resolução de Problemas",
|
||||
"notFoundTitle": "A análise mostra o meu novo NIC como \"NÃO ENCONTRADO\"",
|
||||
"notFoundBody": "O kernel vê o dispositivo com um nome diferente do que está no ficheiro. Execute <code>ip link show</code> para obter o nome real. É precisamente um caso em que os <link>nomes persistentes das interfaces</link> evitariam o problema no futuro.",
|
||||
"tooMuchTitle": "A limpeza removeu demasiado, incluindo um bloco que queria manter",
|
||||
"tooMuchBody": "Restaurar a partir do backup impresso na etapa 5:",
|
||||
"tooMuchOutro": "Edite o arquivo manualmente para adicionar uma linha em branco clara entre os blocos antes de repetir a limpeza ou remover o bloco problemático manualmente.",
|
||||
"bridgeBreakTitle": "Uma ponte pára de funcionar após a limpeza",
|
||||
"bridgeBreakBody": "O bridge dependia de uma porta cujo bloco <code>iface</code> foi removido. Execute a <link>análise de bridges</link> e a sugestão associará o bridge a uma interface física existente."
|
||||
},
|
||||
"related": {
|
||||
"heading": "Relacionado",
|
||||
"items": [
|
||||
{
|
||||
"label": "Análise de ponte e reparo guiado",
|
||||
"href": "/docs/network/bridge-analysis",
|
||||
"tail": " — o acompanhamento natural após uma limpeza."
|
||||
},
|
||||
{
|
||||
"label": "Nomes de interface persistentes",
|
||||
"href": "/docs/network/persistent-names",
|
||||
"tail": " — impede a acumulação de blocos órfãos após cada mudança de hardware."
|
||||
},
|
||||
{
|
||||
"label": "Cópia de segurança e reinício das interfaces",
|
||||
"href": "/docs/network/backup-restore",
|
||||
"tail": " — instantâneos manuais e o navegador de restauração."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Diagnósticos | Documentação ProxMenux",
|
||||
"description": "Três diagnósticos pontuais só de leitura: Mostrar tabela de encaminhamento, Testar conectividade e Diagnósticos avançados. Apenas inspeção — nunca escreve em /etc/network/interfaces nem executa comandos de alteração, com uma exceção explícita que exige a sua aceitação: purgar o NetworkManager, caso seja detetado.",
|
||||
"ogTitle": "Diagnósticos | Documentação ProxMenux",
|
||||
"ogDescription": "Diagnósticos de rede somente leitura para o host Proxmox: roteamento, acessibilidade, estatísticas avançadas."
|
||||
},
|
||||
"header": {
|
||||
"title": "Diagnósticos",
|
||||
"description": "Três verificações pontuais só de leitura do estado atual da rede: tabela de encaminhamento, teste de conectividade e estatísticas avançadas. Nenhuma escreve em /etc/network/interfaces — são seguras a qualquer momento, incluindo por SSH. Para monitorização interativa em tempo real, consulte Ferramentas de monitorização em tempo real.",
|
||||
"section": "Rede"
|
||||
},
|
||||
"intro": {
|
||||
"title": "O que isto faz",
|
||||
"body": "Apresenta informações de encaminhamento, acessibilidade e estatísticas agregadas <strong>sem modificar nada</strong>. Use para confirmar que a rede funciona ou identificar IPs duplicados. Para observar o tráfego continuamente, consulte <monitoringLink>Ferramentas de monitorização em tempo real</monitoringLink>; para ver o ficheiro de configuração em bruto, consulte <backupLink>Cópia de segurança e reinício das interfaces</backupLink>."
|
||||
},
|
||||
"routing": {
|
||||
"heading": "Mostrar tabela de roteamento",
|
||||
"body": "Lista todas as rotas que o kernel usa atualmente (<code>ip route show</code>) e destaca o gateway padrão. Útil para confirmar que o tráfego para a internet sai através da interface esperada e que nenhuma rota restante está tendo precedência."
|
||||
},
|
||||
"connectivity": {
|
||||
"heading": "Testar conectividade",
|
||||
"intro": "Envia duas sondas ICMP para três alvos em sequência e reporta cada um. Em seguida, executa um <code>nslookup google.com</code> para verificar a resolução DNS independentemente do ICMP.",
|
||||
"headerTest": "Teste",
|
||||
"headerTarget": "Alvo",
|
||||
"headerConfirms": "O que confirma",
|
||||
"rows": [
|
||||
{
|
||||
"test": "DNS do Google",
|
||||
"target": "8.8.8.8",
|
||||
"confirms": "Alcance externo através de um conhecido IP anycast"
|
||||
},
|
||||
{
|
||||
"test": "Cloudflare DNS",
|
||||
"target": "1.1.1.1",
|
||||
"confirms": "Segunda opinião independente se o Google bloquear ICMP"
|
||||
},
|
||||
{
|
||||
"test": "Gateway",
|
||||
"target": "(rota padrão)",
|
||||
"confirms": "Conectividade L2 / L3 com o roteador local"
|
||||
},
|
||||
{
|
||||
"test": "Resolução DNS",
|
||||
"target": "google.com",
|
||||
"confirms": "O servidor DNS está acessível e responde"
|
||||
}
|
||||
],
|
||||
"readingTitle": "Lendo o resultado",
|
||||
"readingBody": "Se o teste do gateway passar mas os destinos DNS públicos falharem, tem conectividade local mas não tem Internet — verifique a ligação a montante do gateway. Se a resolução DNS falhar mas os pings para <code>8.8.8.8</code> tiverem sucesso, o problema está no resolvedor, não na rede: verifique <code>/etc/resolv.conf</code>."
|
||||
},
|
||||
"advanced": {
|
||||
"heading": "Diagnóstico Avançado",
|
||||
"intro": "Agrega estatísticas em toda a rede e executa uma bateria de verificações de questões comuns. Relata as contagens de conexão ativa, portas de escuta, interfaces totais e sinaliza dois anti- padrões explicitamente:",
|
||||
"items": [
|
||||
"<strong>NetworkManager em execução num host Proxmox.</strong> O NetworkManager e o <code>ifupdown</code> do Proxmox entram em conflito: ambos tentam gerir as interfaces, tornando os bridges instáveis ou impedindo a sua ativação. Se for detetado, a ferramenta pede confirmação interativa para o parar, desativar e purgar (é o <em>único</em> diagnóstico que pode modificar o sistema, e só após consentimento explícito).",
|
||||
"<strong>Endereços IP duplicados em diferentes interfaces.</strong> Duas interfaces com o mesmo IPv4 causam conectividade intermitente extremamente difícil de depurar de dentro do VM. Detectado através de <code>ip -4 addr show | sort | uniq -d</code>."
|
||||
],
|
||||
"nmTitle": "O prompt NetworkManager é a única ação modificadora aqui",
|
||||
"nmBody": "Todas as outras verificações dos diagnósticos avançados são só de leitura. A remoção do NetworkManager exige confirmação sim/não e executa <code>systemctl stop / disable</code> + <code>apt-get purge -y network-manager</code>. Se recusar, nada muda."
|
||||
},
|
||||
"troubleshoot": {
|
||||
"heading": "Resolução de Problemas",
|
||||
"gwTitle": "Testar conectividade indica uma falha do gateway, mas o host tem acesso à Internet",
|
||||
"gwBody": "Alguns routers não respondem a ICMP na interface interna mesmo quando encaminham corretamente o tráfego. Teste com <code>traceroute 8.8.8.8</code> numa consola: se o segundo salto for o seu ISP e o teste de DNS público tiver passado, o gateway está a funcionar apesar do ping falhado.",
|
||||
"dupTitle": "Diagnóstico avançado continua sinalizando IPs duplicados depois que eu removi um",
|
||||
"dupBody": "A verificação olha para o estado do kernel ao vivo, não para o arquivo de configuração. Executar <code>ip -4 addr show</code> para confirmar; se a duplicata ainda estiver presente, uma interface ainda está segurando-a. Use <code>ip addr del <IP>/<mask> dev <iface></code> para removê-lo do estado ao vivo, em seguida, edite <code>/etc/network/interfaces</code> se ele também é persistente."
|
||||
},
|
||||
"related": {
|
||||
"heading": "Relacionado",
|
||||
"items": [
|
||||
{
|
||||
"label": "Ferramentas de monitorização ao vivo",
|
||||
"href": "/docs/network/monitoring",
|
||||
"tail": " — lançadores interativos iftop / iptraf-ng / iperf3."
|
||||
},
|
||||
{
|
||||
"label": "Análise de ponte e reparo guiado",
|
||||
"href": "/docs/network/bridge-analysis",
|
||||
"tail": " — quando um vmbrX não tem a sua porta física."
|
||||
},
|
||||
{
|
||||
"label": "Análise de configuração e limpeza guiada",
|
||||
"href": "/docs/network/config-analysis",
|
||||
"tail": " — quando uma NIC antiga é ainda declarada, mas já não está presente."
|
||||
},
|
||||
{
|
||||
"label": "Cópia de segurança e reinício das interfaces",
|
||||
"href": "/docs/network/backup-restore",
|
||||
"tail": " — para criar uma cópia da configuração antes de qualquer alteração."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Gestão de rede Proxmox — Bridges, bonds, diagnóstico, reparação | ProxMenux",
|
||||
"description": "Diagnósticos só de leitura, análises seguidas de sugestões e reparações guiadas para a pilha de rede Debian / Proxmox (/etc/network/interfaces). Inspecione bridges e bonds, execute ferramentas de monitorização em tempo real, torne persistentes os nomes das interfaces, crie cópias de segurança e reinicie a rede em segurança — com cópias obrigatórias e pré-visualizações passo a passo.",
|
||||
"ogTitle": "Gestão de rede Proxmox — Bridges, bonds, diagnóstico, reparação",
|
||||
"ogDescription": "Diagnósticos, análise e reparos guiados para a pilha de rede Proxmox com backups obrigatórios e pré-visualizações passo a passo.",
|
||||
"twitterTitle": "Gestão de rede Proxmox | ProxMenux",
|
||||
"twitterDescription": "Bridges, bonds, diagnósticos e reparações guiadas para a pilha de rede Proxmox com cópias de segurança obrigatórias."
|
||||
},
|
||||
"header": {
|
||||
"title": "Gerenciamento de rede",
|
||||
"description": "Diagnósticos só de leitura, relatórios de análise com sugestões e reparações guiadas para a pilha de rede clássica Debian/Proxmox. Cada operação destrutiva cria primeiro uma cópia de segurança e mostra as alterações exatas antes de as aplicar.",
|
||||
"section": "Rede"
|
||||
},
|
||||
"intro": {
|
||||
"title": "Para que serve este menu",
|
||||
"body": "Inspecione, diagnostique e, quando necessário, repare a configuração de rede do host Proxmox sem perder o acesso remoto. As ferramentas seguem um princípio: <strong>ler primeiro, propor e só depois aplicar com consentimento explícito e uma cópia de segurança</strong>. Não existe um botão «Corrigir tudo automaticamente»."
|
||||
},
|
||||
"openingMenu": {
|
||||
"heading": "Abrir o menu",
|
||||
"intro": "No menu principal do ProxMenux, selecione <strong>Rede</strong>. Verá o seguinte:",
|
||||
"imageAlt": "Menu de gerenciamento de rede com diagnósticos, monitoramento, análise, reparo, nomes persistentes e opções de backup"
|
||||
},
|
||||
"safety": {
|
||||
"heading": "O modelo de segurança",
|
||||
"body": "Editar a configuração de rede de um host Proxmox remoto é uma das formas mais fáceis de perder o acesso. O ProxMenux tem isso em conta em cada ação. As ferramentas dividem-se em três níveis de comportamento — escolha o cartão que corresponde ao seu objetivo:"
|
||||
},
|
||||
"tiers": {
|
||||
"readOnly": {
|
||||
"title": "Somente leitura",
|
||||
"body": "Inspecção pura. Não é possível modificar o sistema em nenhuma circunstância.",
|
||||
"items": [
|
||||
"Tabela de roteamento, testes de conectividade, estatísticas avançadas",
|
||||
"Monitorização do tráfego ao vivo (iftop, iptraf-ng)",
|
||||
"Teste de largura de banda (iperf3)"
|
||||
]
|
||||
},
|
||||
"analyze": {
|
||||
"title": "Analisar, então sugerir",
|
||||
"body": "Detecta problemas, imprime um relatório com comandos de shell propostos e pára. Você decide se deve entrar na reparação guiada depois.",
|
||||
"items": [
|
||||
"Análise de configuração da ponte",
|
||||
"Análise da configuração da rede"
|
||||
]
|
||||
},
|
||||
"apply": {
|
||||
"title": "Aplicar com backup",
|
||||
"body": "Modifica o sistema. Cria sempre primeiro uma cópia de segurança do ficheiro afetado com data e hora e mostra uma pré-visualização antes de escrever.",
|
||||
"items": [
|
||||
"Nomes de interface persistentes (ficheiros .link)",
|
||||
"Backup manual, restauração e reinício do serviço"
|
||||
]
|
||||
}
|
||||
},
|
||||
"classicTitle": "Apenas a pilha clássica",
|
||||
"classicBody": "Cada função de análise e reparo verifica o gerenciador de rede ativo antes de tocar em qualquer coisa. Se o host executar <strong>netplan</strong>, <strong>systemd-networkd</strong> ou <strong>NetworkManager</strong>, a ferramenta aborta imediatamente com uma mensagem clara — o menu só suporta a pilha Debian/Proxmox clássica no <code>/etc/network/interfaces</code>. Isto é intencional: editar um arquivo netplan com regras escritas para <code>ifupdown</code> iria silenciosamente corromper a configuração.",
|
||||
"backups": {
|
||||
"heading": "Para onde vão os backups",
|
||||
"intro": "Cada reparação guiada, restauro ou cópia de segurança manual grava uma cópia de <code>/etc/network/interfaces</code> com data e hora em <code>/var/backups/proxmenux/</code>:",
|
||||
"rollbackIntro": "Para repor manualmente a configuração anterior a partir de uma consola:"
|
||||
},
|
||||
"readOnlySection": {
|
||||
"heading": "Inspeção somente de leitura",
|
||||
"body": "O ponto de partida quando algo parece errado. Apenas inspeção — nunca escreve em <code>/etc/network/interfaces</code> nem executa comandos que alterem o sistema, com uma única exceção explícita que exige a sua aceitação: purgar o NetworkManager, caso seja detetado. Pode ser usado em segurança por SSH a qualquer momento.",
|
||||
"options": [
|
||||
{
|
||||
"title": "Diagnósticos",
|
||||
"description": "Três verificações pontuais só de leitura: Mostrar tabela de encaminhamento, Testar conectividade e Diagnósticos avançados. Apenas inspeção — nunca escreve no sistema."
|
||||
},
|
||||
{
|
||||
"title": "Ferramentas de monitorização ao vivo",
|
||||
"description": "Três lançadores interativos: iftop (largura de banda em tempo real por par host), iptraf-ng (monitor de tráfego multimodo) e iperf3 (teste de largura de banda, servidor / modo cliente)."
|
||||
}
|
||||
]
|
||||
},
|
||||
"analyzeSection": {
|
||||
"heading": "Analisar, então sugerir",
|
||||
"body": "Usadas quando uma inspeção ou uma falha real aponta para um problema de configuração. Cada ferramenta examina a parte relevante de <code>/etc/network/interfaces</code>, apresenta um relatório detalhado com o comando exato de shell que corrigiria cada problema e <strong>para</strong>. Se aceitar depois a reparação guiada opcional, é criada uma cópia de segurança antes de cada alteração, que também é pré-visualizada antes da escrita.",
|
||||
"options": [
|
||||
{
|
||||
"title": "Análise de ponte e reparo guiado",
|
||||
"description": "Deteta bridges vmbrX com portas em falta ou inválidas, algo típico após a reenumeração PCI. Mostra primeiro um relatório e só repara quando aceita o procedimento guiado de 5 passos."
|
||||
},
|
||||
{
|
||||
"title": "Análise de configuração e limpeza guiada",
|
||||
"description": "Encontra interfaces físicas declaradas em /etc/network/interfaces que já não existem (configurações órfãs deixadas por mudanças de hardware). Comunica-os e oferece uma remoção guiada."
|
||||
}
|
||||
]
|
||||
},
|
||||
"applySection": {
|
||||
"heading": "Aplicar com backup",
|
||||
"body": "Estas ferramentas escrevem no disco por natureza. Cada uma cria primeiro uma cópia de segurança do ficheiro afetado com data e hora, e as opções destrutivas, como restauro e reinício, exigem confirmação explícita sim/não. Os <em>nomes persistentes das interfaces</em> entram em vigor no próximo reinício, não de imediato, pelo que a sua configuração pode ser agendada em segurança mesmo num host remoto.",
|
||||
"options": [
|
||||
{
|
||||
"title": "Nomes de interface persistentes",
|
||||
"description": "Associa os nomes das interfaces (eno1, enp3s0, …) aos endereços MAC através de ficheiros .link do systemd. Os nomes mantêm-se após mudanças de slot PCI, atualizações do kernel e adição ou remoção de outras placas de rede."
|
||||
},
|
||||
{
|
||||
"title": "Cópia de segurança e reinício das interfaces",
|
||||
"description": "Instantâneo manual do /etc/network/interfaces, navegar e restaurar backups anteriores, visualizar a configuração ao vivo e reiniciar o serviço de rede quando necessário."
|
||||
}
|
||||
]
|
||||
},
|
||||
"consoleTitle": "Tenha acesso à consola preparado",
|
||||
"consoleSubTitle": "Antes de qualquer reparação em uma máquina remota",
|
||||
"consoleBody": "Se estiver ligado por SSH e tiver apenas um caminho de acesso ao host, prepare uma alternativa antes de alterar a rede: consola física / IPMI / iKVM ou outra máquina na mesma LAN. As reparações guiadas são seguras e oferecem sempre um comando para reverter as alterações, mas um bridge mal configurado ou uma ligação interrompida pode deixá-lo sem acesso até conseguir chegar à consola."
|
||||
}
|
||||
@@ -0,0 +1,136 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Ferramentas de monitorização em tempo real | Documentação ProxMenux",
|
||||
"description": "Três lançadores interativos de monitoramento de rede: iftop (largura de banda em tempo real por par host), iptraf-ng (monitor de tráfego multimodo) e iperf3 (teste de largura de banda, servidor / modo cliente). Cada um é instalado na primeira utilização.",
|
||||
"ogTitle": "Ferramentas de monitorização em tempo real | Documentação ProxMenux",
|
||||
"ogDescription": "Monitoramento de rede interativo e testes de largura de banda para o host Proxmox: iftop, iptraf-ng, iperf3."
|
||||
},
|
||||
"header": {
|
||||
"title": "Ferramentas de monitorização ao vivo",
|
||||
"description": "Três ferramentas interativas para observar a rede em tempo real e medir a largura de banda: iftop, iptraf-ng e iperf3. Cada uma é instalada automaticamente através do apt na primeira utilização, corre em primeiro plano e termina com a tecla indicada. Não alteram a configuração de rede do host; o iperf3 gera tráfego de teste.",
|
||||
"section": "Rede"
|
||||
},
|
||||
"intro": {
|
||||
"title": "O que isto faz",
|
||||
"body": "Três ferramentas interativas de monitoramento, cada uma atrás de seu próprio menu. A primeira vez que você lança um, o pacote é instalado silenciosamente via <code>apt-get</code>. Lançamentos subsequentes começam instantaneamente. Nenhuma destas ferramentas modifica a configuração da rede host."
|
||||
},
|
||||
"when": {
|
||||
"heading": "Quando utilizar qual",
|
||||
"headerQuestion": "Pergunta",
|
||||
"headerUse": "Usar",
|
||||
"rows": [
|
||||
{
|
||||
"question": "Quem está saturando o link <em> agora</em>?",
|
||||
"use": "iftop"
|
||||
},
|
||||
{
|
||||
"question": "Qual é a distribuição por protocolo e que tamanhos de pacotes e fluxos TCP estão presentes?",
|
||||
"use": "iptraf-ng"
|
||||
},
|
||||
{
|
||||
"question": "Quanta largura de banda está disponível entre duas máquinas?",
|
||||
"use": "iperf3"
|
||||
}
|
||||
]
|
||||
},
|
||||
"iftop": {
|
||||
"heading": "uso de rede em tempo real (iftop)",
|
||||
"body": "Largura de banda em tempo real por par de hosts (origem ↔ destino) — como o <code>top</code> para o tráfego. Mostra os fluxos mais intensos no topo, com médias móveis de 2/10/40 segundos. A melhor ferramenta para responder a <em>«porque está a minha ligação de saída saturada?»</em>.",
|
||||
"exit": "<strong>Sair:</strong> prima <kbd>q</kbd>. O ProxMenux mostra um lembrete antes de iniciar.",
|
||||
"keysTitle": "Teclas úteis no iftop",
|
||||
"keysBody": "<kbd>n</kbd> alterna a consulta DNS, <kbd>p</kbd> mostra os números das portas, <kbd>P</kbd> pausa a visualização, <kbd>t</kbd> alterna a direção das linhas (enviado / recebido / ambos), <kbd>1</kbd>/<kbd>2</kbd>/<kbd>3</kbd> ordena pela média de 2 s / 10 s / 40 s. Lista completa em <code>man iftop</code>."
|
||||
},
|
||||
"iptraf": {
|
||||
"heading": "ferramenta de monitoramento de rede (iptraf-ng)",
|
||||
"intro": "Um monitor de tráfego com vários modos, controlado por menus. O iftop responde a <em>«quem»</em>, enquanto o iptraf-ng responde a <em>«o quê»</em>: contagens de bytes e pacotes por protocolo, acompanhamento do estado das ligações TCP, histogramas de tamanho dos pacotes e atividade LAN por estação.",
|
||||
"menuIntro": "No lançamento você recebe um menu de cinco opções:",
|
||||
"headerMode": "Modo",
|
||||
"headerUseFor": "Use-o para",
|
||||
"rows": [
|
||||
{
|
||||
"mode": "Monitor de tráfego IP",
|
||||
"useFor": "Lista em tempo real de fluxos TCP / UDP / ICMP / outros protocolos IP, com contadores de bytes e estado da ligação"
|
||||
},
|
||||
{
|
||||
"mode": "Estatísticas gerais da interface",
|
||||
"useFor": "Contagens agregadas de pacotes IPv4 / IPv6 / TCP / UDP / ICMP / não IP por placa de rede"
|
||||
},
|
||||
{
|
||||
"mode": "Estatísticas de interface detalhadas",
|
||||
"useFor": "O mesmo que acima, mas para uma interface, com tamanho de pacote e detalhe de taxa"
|
||||
},
|
||||
{
|
||||
"mode": "Desagregações estatísticas",
|
||||
"useFor": "Histograma de distribuição do tamanho do pacote, por porta TCP / UDP"
|
||||
},
|
||||
{
|
||||
"mode": "Monitor de estação LAN",
|
||||
"useFor": "Estatísticas de tráfego por MAC para o domínio de transmissão local"
|
||||
}
|
||||
],
|
||||
"exit": "<strong>Saída:</strong> pressione <kbd>x</kbd> de qualquer vista (ou <kbd>Q</kbd> do menu principal). O ProxMenux mostra uma janela de lembrete antes do lançamento.",
|
||||
"logTitle": "Guardar capturas num ficheiro",
|
||||
"logBody": "Cada modo oferece para registrar estatísticas capturadas para <code>/var/log/iptraf-ng/</code>. Útil se você precisar de um registro de um pico de tráfego — deixe-o em execução, faça log para arquivo, reveja o arquivo depois, em vez de tentar ler a tela ao vivo."
|
||||
},
|
||||
"iperf3": {
|
||||
"heading": "Teste de largura de banda (iperf3)",
|
||||
"intro1": "Mede o débito TCP real entre dois hosts. Ao contrário do iftop / iptraf-ng, que observam o tráfego existente, o iperf3 gera tráfego sintético para testar a ligação sob carga. Indispensável para perguntas como <em>«a minha ligação 10 GbE atinge realmente 10 GbE?»</em> ou <em>«o estrangulamento está na placa de rede, no switch ou no armazenamento?»</em>.",
|
||||
"intro2": "O iperf3 é uma <strong>ferramenta para dois hosts</strong>: um funciona como servidor, à escuta na porta TCP 5201, e o outro como cliente, que se liga, envia dados e mostra o débito. O ProxMenux pergunta qual o modo pretendido:",
|
||||
"headerMode": "Modo",
|
||||
"headerBehaviour": "Comportamento",
|
||||
"headerCli": "CLI equivalente",
|
||||
"rows": [
|
||||
{
|
||||
"mode": "Servidor",
|
||||
"behaviour": "Escuta em TCP 5201 e imprime resultados para cada teste de entrada. Para em Ctrl+C.",
|
||||
"cli": "iperf3 -s"
|
||||
},
|
||||
{
|
||||
"mode": "Cliente",
|
||||
"behaviour": "Pede o IP ou nome do servidor, liga-se, executa o teste predefinido de 10 segundos e mostra o relatório.",
|
||||
"cli": "iperf3 -c <target>"
|
||||
}
|
||||
],
|
||||
"workflowIntro": "Fluxo de trabalho típico para testar uma ligação 10 GbE entre duas máquinas Proxmox:",
|
||||
"workflow": [
|
||||
"No host A, abra o menu Rede → <em>Teste de largura de banda (iperf3)</em> → escolha <strong>Servidor</strong>.",
|
||||
"No host B, abra a mesma entrada de menu → escolha <strong>Cliente</strong> → introduza o IP do host A.",
|
||||
"Espere 10 segundos. Compare o débito apresentado com o máximo teórico da ligação."
|
||||
],
|
||||
"sample": "Exemplo de saída do cliente:",
|
||||
"flagsTitle": "Opções úteis para executar manualmente numa shell",
|
||||
"flagsBody": "<code>-t 60</code> teste mais longo (60s em vez de 10s padrão), <code>-P 4</code> 4 fluxos paralelos (satura mais rápido), <code>-R</code> direção reversa (servidor → cliente), <code>-u -b 100M</code> UDP teste em 100 Mbit/s (para medições de jitter / perda de pacotes), <code>-p 5202</code> usar uma porta diferente (testes múltiplos em paralelo). <code>man iperf3</code> para o conjunto completo.",
|
||||
"firewallTitle": "Abrir a porta de firewall no servidor",
|
||||
"firewallBody": "O servidor escuta por predefinição na porta TCP <strong>5201</strong>. Se o executar num host Proxmox com firewall restritiva, ao nível do datacenter ou do host, permita ligações TCP 5201 de entrada a partir do IP do cliente durante o teste e volte a fechar a porta no fim. O mesmo se aplica a <code>nftables</code> / <code>iptables</code> em hosts físicos."
|
||||
},
|
||||
"install": {
|
||||
"heading": "Primeiro lançamento instala o pacote",
|
||||
"body": "Todos os três lançadores verificam o binário e executam o <code>apt-get update -qq && apt-get install -y <pkg></code> se estiver em falta. A instalação é silenciosa: o menu pode aparecer congelado para 10–30 segundos na primeira vez. Lançamentos subsequentes começam instantaneamente."
|
||||
},
|
||||
"troubleshoot": {
|
||||
"heading": "Resolução de Problemas",
|
||||
"hangTitle": "A instalação fica bloqueada na primeira execução",
|
||||
"hangBody": "O host não tem Internet ou os repositórios apt estão inacessíveis. Cancele com <kbd>Ctrl</kbd>+<kbd>C</kbd>, execute <code>apt-get update</code> manualmente para ver o erro real (DNS, assinatura do repositório, proxy, …) e volte ao menu.",
|
||||
"refusedTitle": "Cliente iperf3: «unable to connect to server: Connection refused»",
|
||||
"refusedBody": "Ou o servidor não está em execução, ou seu firewall bloqueia TCP 5201. Confirme no servidor: <code>ss -tlnp | grep 5201</code> — deve mostrar iperf3 ouvindo. Se ouvir mas o cliente ainda falhar, verifique o caminho do firewall entre os dois hosts.",
|
||||
"slowTitle": "O iperf3 apresenta um débito muito inferior à velocidade esperada da ligação",
|
||||
"slowBody": "Causas comuns por ordem de probabilidade: (1) a CPU de um host limita o débito — tente <code>iperf3 -c <target> -P 4</code> para usar vários núcleos; (2) o percurso passa por uma ligação mais lenta, como um switch gigabit entre duas placas 10 GbE; (3) MTU diferentes — verifique <code>ip link show</code> nas duas pontas; (4) offloading da placa de rede desativado — consulte o script da comunidade <em>Disable NIC Offloading</em> se tiver uma placa Intel e1000e.",
|
||||
"noTrafficTitle": "iftop / iptraf-ng não mostram tráfego para uma máquina ocupada",
|
||||
"noTrafficBody": "A captura padrão está na primeira interface detectada. Especifique o direito explicitamente a partir do shell: <code>iftop -i vmbr0</code> ou <code>iptraf-ng -i vmbr0</code>. O lançador de menus usa o padrão; para interfaces não padrão, execute a partir de uma consola."
|
||||
},
|
||||
"related": {
|
||||
"heading": "Relacionado",
|
||||
"items": [
|
||||
{
|
||||
"label": "Diagnósticos",
|
||||
"href": "/docs/network/diagnostics",
|
||||
"tail": " — as verificações pontuais só de leitura (encaminhamento, conectividade e estatísticas avançadas)."
|
||||
},
|
||||
{
|
||||
"label": "Análise de ponte e reparo guiado",
|
||||
"href": "/docs/network/bridge-analysis",
|
||||
"tail": " — quando o controlo revela que uma interface ou ponte não está a fazer o que deveria."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,130 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Nomes de interface persistentes | Documentação ProxMenux",
|
||||
"description": "Associe os nomes das interfaces Proxmox (eno1, enp3s0, …) aos endereços MAC através de ficheiros .link do systemd para os manter após a reenumeração PCI, atualizações do kernel e adição ou remoção de outras placas de rede.",
|
||||
"ogTitle": "Nomes de interface persistentes | Documentação ProxMenux",
|
||||
"ogDescription": "Impeça que os nomes das interfaces Proxmox mudem quando altera o hardware. Usa ficheiros .link do systemd associados ao endereço MAC."
|
||||
},
|
||||
"header": {
|
||||
"title": "Nomes de interface persistentes",
|
||||
"description": "Gera um ficheiro .link do systemd por placa de rede física para associar o nome atribuído pelo kernel ao endereço MAC da placa. Após a aplicação no próximo reinício, os nomes das interfaces mantêm-se estáveis ao adicionar, remover ou mudar placas PCIe de lugar.",
|
||||
"section": "Rede"
|
||||
},
|
||||
"intro": {
|
||||
"title": "O que isto faz",
|
||||
"body": "Para cada NIC físico no host, escreve um pequeno arquivo sob <code>/etc/systemd/network/10-<iface>.link</code> que diz: <em>\"o dispositivo com este MAC deve ser sempre chamado este nome\"</em>. systemd-udevd aplica a regra em cada inicialização, antes que <code>ifupdown</code> leia <code>/etc/network/interfaces</code>."
|
||||
},
|
||||
"problem": {
|
||||
"heading": "O problema que isto resolve",
|
||||
"intro": "O Linux deriva os nomes predefinidos das interfaces da topologia PCI — <code>eno1</code> = integrada na placa principal, <code>enp3s0</code> = placa no barramento PCI 3, slot 0, etc. O esquema de nomes é determinístico <em>para a mesma disposição de hardware</em>. Se a disposição mudar, os nomes mudam:",
|
||||
"items": [
|
||||
"Adicione um GPU na frente de um NIC existente → o número de barramento NIC pode mudar → alterações de nome.",
|
||||
"Mudar uma placa para outro slot PCIe → o nome muda.",
|
||||
"BIOS / UEFI atualização que re-enumera dispositivos → nomes podem mudar.",
|
||||
"Substituir uma placa avariada pelo mesmo modelo noutro slot → o nome muda."
|
||||
],
|
||||
"outro": "Após uma alteração destas, <code>/etc/network/interfaces</code> continua a referir o nome <em>antigo</em>; o bridge não se ativa e o host perde a rede. Configurar nomes persistentes impede que este cenário se repita."
|
||||
},
|
||||
"howWorks": {
|
||||
"heading": "Como funciona",
|
||||
"arrowLabel": "por NIC",
|
||||
"nodes": {
|
||||
"detectLabel": "Detetar placas de rede físicas",
|
||||
"detectDetail": "ls /sys/class/net/\nexcluir vmbr / bond /\ndocker / veth / wireguard …",
|
||||
"readLabel": "Ler cada MAC",
|
||||
"readDetail": "cat /sys/class/net/\n '<'iface'>'/address",
|
||||
"writeLabel": "Gravar o ficheiro .link",
|
||||
"writeDetail": "/etc/systemd/network/\n 10-'<'iface'>'.link"
|
||||
},
|
||||
"minimalIntro": "Cada arquivo gerado é intencionalmente mínimo:",
|
||||
"minimalOutro": "No arranque, o systemd-udevd identifica o dispositivo pelo MAC e atribui o nome pedido <em>antes</em> da intervenção de outros componentes (ifupdown, nomes predefinidos do kernel). O prefixo <code>10-</code> garante que estas regras carregam cedo, antes do ficheiro predefinido <code>99-default.link</code>."
|
||||
},
|
||||
"scope": {
|
||||
"heading": "O que é escrito, o que é ignorado",
|
||||
"headerType": "Tipo",
|
||||
"headerBehaviour": "Comportamento",
|
||||
"headerWhy": "Porquê?",
|
||||
"rows": [
|
||||
{
|
||||
"type": "Placa de rede integrada / PCIe",
|
||||
"behaviour": "Arquivo <code>.link</code> escrito",
|
||||
"why": "Apoiado por um dispositivo PCI real — o caso em que a ferramenta se destina"
|
||||
},
|
||||
{
|
||||
"type": "Wi-Fi (phy80211)",
|
||||
"behaviour": "Arquivo <code>.link</code> escrito",
|
||||
"why": "Tem um MAC real e beneficia da estabilidade do nome"
|
||||
},
|
||||
{
|
||||
"type": "Pontes (vmbrX)",
|
||||
"behaviour": "Ignorado",
|
||||
"why": "Virtual; o nome vem do <code>/etc/network/interfaces</code>"
|
||||
},
|
||||
{
|
||||
"type": "Bonds (bondX)",
|
||||
"behaviour": "Ignorado",
|
||||
"why": "Virtual; o nome do bond é definido pelo ifupdown"
|
||||
},
|
||||
{
|
||||
"type": "veth / docker0 / br-XXXX",
|
||||
"behaviour": "Ignorado",
|
||||
"why": "Criados a pedido pelo Docker / LXC — não são hardware persistente"
|
||||
},
|
||||
{
|
||||
"type": "tap / fwpr / fwln",
|
||||
"behaviour": "Ignorado",
|
||||
"why": "Criados a pedido pelo Proxmox para cada VM/CT"
|
||||
},
|
||||
{
|
||||
"type": "WireGuard / Cilium / Tailscale",
|
||||
"behaviour": "Ignorado",
|
||||
"why": "Interfaces de software gerenciadas por seus próprios daemons"
|
||||
}
|
||||
]
|
||||
},
|
||||
"safety": {
|
||||
"heading": "Proteção: são criadas cópias de segurança dos ficheiros .link anteriores",
|
||||
"intro": "Se <code>/etc/systemd/network/</code> já contiver ficheiros <code>.link</code> de uma execução anterior ou de outra ferramenta, são copiados para um diretório de segurança com data e hora antes de gerar os novos:",
|
||||
"outro": "Para voltar atrás: copie os arquivos de volta do diretório de backup e reinicie.",
|
||||
"rebootTitle": "Faz efeito na próxima reinicialização, não imediatamente",
|
||||
"rebootBody": "Alterações nos arquivos <code>.link</code> só se aplicam no arranque, quando o udev re-enumera dispositivos. A ferramenta informa que <em>\"Alterações serão aplicadas após reiniciar\"</em> por esta razão. Renomear uma interface ao vivo é arriscado e não tentado: um <code>vmbr0</code> ativo com membros teria que ser reconfigurado atomicamente, por isso a operação é adiada para a próxima inicialização limpa."
|
||||
},
|
||||
"afterReboot": {
|
||||
"heading": "Após a reinicialização",
|
||||
"intro": "Uma vez que os nomes são fixados, o fluxo de trabalho para futuras mudanças de hardware é simples:",
|
||||
"items": [
|
||||
"Desligue, altere o hardware (adicione uma placa, mude de slot, …) e ligue novamente.",
|
||||
"Cada NIC mantém seu nome anterior porque seu MAC corresponde a um arquivo <code>.link</code>.",
|
||||
"Se um NIC é substituído (MAC diferente), ele recebe um nome padrão do kernel (<code>enp<bus>s<slot></code>); execute novamente este menu para adicionar uma entrada <code>.link</code> para o MAC do novo cartão."
|
||||
]
|
||||
},
|
||||
"troubleshoot": {
|
||||
"heading": "Resolução de Problemas",
|
||||
"emptyTitle": "\"Nenhuma interface física encontrada\" após executar a ferramenta",
|
||||
"emptyBody": "O kernel não vê interfaces baseadas em PCI / phy80211 no host. Confirme com <code>ls -l /sys/class/net/</code> — cada entrada deve ter uma ligação simbólica <code>device</code> (PCI) ou uma entrada <code>phy80211</code> (Wi-Fi). Se ambas faltarem numa placa de rede real, o controlador não está carregado.",
|
||||
"noChangeTitle": "Após a reinicialização, os nomes não mudaram como esperado",
|
||||
"noChangeBody": "Verifique se o arquivo está presente e bem formado: <code>cat /etc/systemd/network/10-<iface>.link</code>. Em seguida, verifique registros udev: <code>journalctl -u systemd-udevd -b | grep -i link</code>. Uma causa comum é um parâmetro antigo do kernel <code>net.ifnames=0</code> que desativa inteiramente a nomeação previsível — remova-a do <code>/etc/default/grub</code>, execute o <code>update-grub</code>, reinicie.",
|
||||
"undoTitle": "Quero anular os nomes persistentes",
|
||||
"undoBody": "Ou delete os arquivos <code>.link</code> (<code>rm /etc/systemd/network/10-*.link</code>) ou restaure do diretório de backup gerado na execução anterior. Reiniciar para aplicar."
|
||||
},
|
||||
"related": {
|
||||
"heading": "Relacionado",
|
||||
"items": [
|
||||
{
|
||||
"label": "Análise de ponte e reparo guiado",
|
||||
"href": "/docs/network/bridge-analysis",
|
||||
"tailRich": " — o caminho de recuperação quando os nomes <em>já</em> mudaram."
|
||||
},
|
||||
{
|
||||
"label": "Análise de configuração e limpeza guiada",
|
||||
"href": "/docs/network/config-analysis",
|
||||
"tail": " — para remover blocos órfãos deixados pelas mudanças de nomes."
|
||||
},
|
||||
{
|
||||
"label": "Diagnósticos",
|
||||
"href": "/docs/network/diagnostics",
|
||||
"tailRich": " — confirme os novos nomes com <em>Mostrar tabela de roteamento</em> após reiniciar."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user