Proteger resolv.conf do DHCP no FreeBSD 10

Se você estiver executando seu próprio resolvedor ou desejar usar um de um provedor de terceiros, poderá achar que seu /etc/resolv.confarquivo está sendo substituído pelo DHCP. Existem várias maneiras de resolver esse problema. Como é provável que você queira reinicializar para garantir que suas alterações ocorram, e como você estará monitorando as configurações de rede em primeiro lugar, sugiro fazer isso em uma instância de teste e / ou fora do pico horas.

Agora, então, aqui estão três métodos, do pior ao melhor. Observe que todos os métodos deste guia foram escritos para o FreeBSD 10. Usuários do Linux podem consultar este guia .

Método 1: Usar configurações de interface estática

Nos meus testes limitados, isso resulta em tempos de inicialização um pouco mais rápidos, pois você não precisa esperar o DHCP atribuir suas configurações de rede. No entanto, eu já vi menção em vários documentos do Vultr que o uso de configurações de interface estática é desaprovado e que você deve seguir o DHCP. Presumo que eles tenham uma boa razão para isso e, portanto, continuei usando o DHCP. No entanto, se você decidir seguir esse caminho, siga as etapas abaixo.

  • Determine o IP, a máscara de rede e o IP do gateway do servidor.
  • Modifique /etc/rc.confpara usar esses valores em vez do DHCP.
  • Reinicie para testar as configurações.

Determinar IP / máscara de rede / gateway

Supondo que sua interface seja vtnet0, execute o seguinte:

ifconfig vtnet0 | grep inet

Isso deve fornecer o endereço IP e a máscara de rede para o seu servidor:

inet 10.10.10.10 netmask 0xffffff00 broadcast 10.10.10.255

O FreeBSD gosta de usar o hex para a máscara de rede. O acima se converte em 255.255.255.0se você estiver curioso. Você pode encontrar uma tabela útil aqui , mas não tenha medo: basta copiar o endereço hexadecimal nos arquivos de configuração (ou convertê-lo em decimal, se preferir).

Você pode encontrar o gateway de várias maneiras. Aqui está um:

route get default | grep gateway retornará algo como:

gateway: 10.10.10.1

Modifique /etc/rc.confcom novos valores

Armado com o IP, máscara de rede e gateway, agora é hora de adicioná-los à configuração do sistema. Eu recomendo fazer o backup deste arquivo antes de fazer alterações, pois isso facilitará muito a desfazer caso você estrague. Agora, abra o /etc/rc.confseu editor de escolha e faça as seguintes alterações:

# Comment out this line:
# ifconfig_vtnet0="dhcp"

# Add these lines:
defaultrouter="10.10.10.1"
ifconfig_vtnet0="inet 10.10.10.10 netmask 0xffffff00"

Obviamente, você deve substituir seu IP, máscara de rede e gateway reais pelos meus erros óbvios.

Reinicialize e teste

Reinicie o servidor usando shutdown -r nowe verifique se ele volta corretamente. Execute os testes que considerar necessários para garantir que tudo esteja funcionando corretamente. Se a rede estiver inacessível, efetue login no console e reverta suas alterações. Se tudo estiver bem, neste momento você pode colocar o que quiser, resolv.confsem medo de ser destruído.

Se por qualquer motivo você não pode reiniciar, isso deve funcionar, mas eu realmente fazer um reboot adequado, se eu fosse você:

service netif restart && service routing restart

Método 2: Tornar resolv.confimutável

Isso é um pouco complicado, mas é facilmente a solução mais rápida. Eu não recomendo, porque não posso garantir que isso não cause estranheza no futuro quando você atualizar para uma nova versão do sistema operacional, e o dhclient provavelmente reclamará bastante. Dito isto, basta um simples chflags schg /etc/resolv.conf. O arquivo agora está completamente protegido contra gravação, mesmo a partir da raiz. Você pode verificar assim:

vultr [~]# chflags schg /etc/resolv.conf
vultr [~]# ls -ol /etc/resolv.conf
-rw-r--r--  1 root  wheel  schg 50 Nov 29 06:28 /etc/resolv.conf
vultr [~]# echo "so very untouchable" >> /etc/resolv.conf
/etc/resolv.conf: Operation not permitted.

Desfazer com: chflags noschg /etc/resolv.conf

Método 3: Diga educadamente ao FreeBSD para deixar suas configurações como estão.

Esta é de longe a maneira mais limpa e adequada de fazer isso. Existem duas abordagens que você pode adotar:

Configurar dhclient

Vamos pegar o exemplo do começo ao fim e dizer que tudo o que você quer fazer é colocar seu servidor de nomes personalizado resolv.confe não quer perdê-lo toda vez que o DHCP faz isso. No meu caso, quero usar o resolvedor de cache que instalei que escuta no localhost, então edito /etc/dhclient.conf(que provavelmente ficará em branco além dos comentários) e adicione o seguinte:

interface "vtnet0" {
    supersede domain-name-servers 127.0.0.1;
}

Isso permitirá que o dhclient faça tudo o que você precisa, mas quando o servidor DHCP envia uma lista de servidores de nomes para uso, o seu substitui (como substitui completamente) os que ele oferece. Se você preferir suplementar (em vez de substituir) os oferecidos, você pode "anexar" ou "anexar" em vez de "substituir", conforme apropriado.

Aliás, se você precisar de mais de um servidor personalizado, especifique-os assim:

supersede domain-name-servers 127.0.0.1, 127.0.0.2;

Após fazer as alterações, reinicie dhclientpara que elas entrem em vigor imediatamente:

service dhclient restart vtnet0

Examine o seu /etc/resolv.confe você deve descobrir que agora possui seus servidores de nomes personalizados.

No momento da redação deste artigo, os servidores de nomes são a única coisa que o servidor DHCP do Vultr já colocou no meu resolv.conf, e a única coisa que eu me importei em personalizar. No entanto, se você precisar substituir outras configurações, consulte o excelente manual para obter uma lista abrangente:

man 5 dhclient.conf

Existem ótimos exemplos na parte inferior que devem lhe dar uma idéia do que você pode fazer. Em cima da minha cabeça, eu posso imaginar que você pode querer adicionar algo como supersede domain-name "example.com";se você normalmente tem uma linha como essa na sua resolv.conf. Mais uma vez, consulte os documentos.

Configurar resolvconf

Esta é a solução mais simples se você apenas deseja resolv.confque seja deixado em paz. De acordo com o manual:

resolvconf manages resolv.conf(5) files from multiple sources, such as DHCP and VPN clients

Sua configuração reside /etc/resolvconf.conf, o que provavelmente não existe no seu sistema, portanto, fique à vontade para criá-lo. Para tornar seu resolv.confimutável, adicione isto:

# prevent all updates to resolv.conf:
resolv_conf="/dev/null"

Se você usar unboundcomo seu resolvedor de armazenamento em cache local, essa é a linha que ele adiciona (junto com alguns por si). Isso é basicamente enganar resolvconfpensando que você /etc/resolv.confestá localizado /dev/null. Algo um pouco menos cruel, mas igualmente eficaz, seria:

# disable resolvconf from running any subscribers:
resolvconf="NO"

Se você quiser fazer algo mais sofisticado do que simplesmente desativá-lo, as páginas de manual resolvconfe resolvconf.conftêm muitas informações.



Leave a Comment

Como instalar o Blacklistd no FreeBSD 11.1

Como instalar o Blacklistd no FreeBSD 11.1

Introdução Qualquer serviço conectado à Internet é um alvo em potencial para ataques de força bruta ou acesso injustificado. Existem ferramentas como fail2ba

Configure o OpenBSD 5.6 com criptografia de disco completo

Configure o OpenBSD 5.6 com criptografia de disco completo

Este tutorial mostrará como configurar o OpenBSD 5.6 com um disco totalmente criptografado no seu Vultr VPS. Uma observação sobre a parte de criptografia: a maioria dos datacenters em torno do

Como usar o Sudo no Debian, CentOS e FreeBSD

Como usar o Sudo no Debian, CentOS e FreeBSD

Usar um usuário sudo para acessar um servidor e executar comandos no nível raiz é uma prática muito comum entre o Linux e o Unix Systems Administrator. O uso de um sud

Como instalar o osTicket no FreeBSD 12

Como instalar o osTicket no FreeBSD 12

Usando um sistema diferente? o osTicket é um sistema de bilheteria de suporte ao cliente de código aberto. O código fonte do osTicket está hospedado publicamente no Github. Neste tutorial

Como instalar o Osclass no FreeBSD 12

Como instalar o Osclass no FreeBSD 12

Usando um sistema diferente? Osclass é um projeto de código aberto que permite criar facilmente um site classificado sem nenhum conhecimento técnico. Its sourc

Como instalar o Wiki.js no FreeBSD 11

Como instalar o Wiki.js no FreeBSD 11

Usando um sistema diferente? O Wiki.js é um aplicativo wiki moderno, de código aberto e gratuito, construído em Node.js, MongoDB, Git e Markdown. O código-fonte do Wiki.js é publicl

Como instalar o Directus 6.4 CMS em um FreeBSD 11 FAMP VPS

Como instalar o Directus 6.4 CMS em um FreeBSD 11 FAMP VPS

Usando um sistema diferente? O Directus 6.4 CMS é um sistema de gerenciamento de conteúdo sem cabeça (CMS) poderoso e flexível, gratuito e de código aberto que fornece

Instalando o Fork CMS no FreeBSD 12

Instalando o Fork CMS no FreeBSD 12

Usando um sistema diferente? Fork é um CMS de código aberto escrito em PHP. O código fonte do Forks está hospedado no GitHub. Este guia mostra como instalar o Fork CM

Criar arquivo de permuta no FreeBSD 10

Criar arquivo de permuta no FreeBSD 10

Pronto para uso, os servidores Vultr FreeBSD não estão configurados para incluir espaço de troca. Se sua intenção é uma instância de nuvem descartável, você provavelmente não precisará

Como redimensionar um disco no FreeBSD

Como redimensionar um disco no FreeBSD

O sistema operacional FreeBSD utiliza o UFS (Unix File System) para seu sistema de arquivos de partições raiz; também conhecido como freebsd-ufs No caso de uma atualização

Como instalar o Selfoss RSS Reader em um FreeBSD 11 FAMP VPS

Como instalar o Selfoss RSS Reader em um FreeBSD 11 FAMP VPS

Usando um sistema diferente? O Selfoss RSS Reader é um aplicativo gratuito e de código aberto, multi-hospedado na Web, de transmissão ao vivo, mashup e feed de notícias (RSS / Atom)

Como instalar o Craft CMS no FreeBSD 12

Como instalar o Craft CMS no FreeBSD 12

Usando um sistema diferente? Introdução O Craft CMS é um CMS de código aberto escrito em PHP. O código-fonte do Craft CMS está hospedado no GitHub. Este guia irá mostrar-lhe

Como instalar o Backdrop CMS em um FreeBSD 11 FAMP VPS

Como instalar o Backdrop CMS em um FreeBSD 11 FAMP VPS

Usando um sistema diferente? O Backdrop CMS 1.8.0 é um CMS (Content Management System) simples e flexível, fácil de usar, gratuito e de código aberto que permite que

Como instalar o ImpressPages CMS 5.0 em um FreeBSD 11 FAMP VPS

Como instalar o ImpressPages CMS 5.0 em um FreeBSD 11 FAMP VPS

Usando um sistema diferente? O ImpressPages CMS 5.0 é um sistema de gerenciamento de conteúdo (CMS) simples e eficaz, gratuito e de código aberto, fácil de usar e baseado em MVC

Como instalar o fórum NodeBB no FreeBSD 12

Como instalar o fórum NodeBB no FreeBSD 12

Usando um sistema diferente? NodeBB é um software de fórum baseado em Node.js. Ele utiliza soquetes da web para interações instantâneas e notificações em tempo real. The NodeB

Instale o eSpeak no FreeBSD 12

Instale o eSpeak no FreeBSD 12

Usando um sistema diferente? O ESpeak pode gerar arquivos de áudio de conversão de texto em fala (TTS). Isso pode ser útil por vários motivos, como criar seu próprio Turim

Como instalar o LimeSurvey CE no FreeBSD 12

Como instalar o LimeSurvey CE no FreeBSD 12

Usando um sistema diferente? LimeSurvey é um software de pesquisa de código aberto escrito em PHP. O código fonte do LimeSurvey está hospedado no GitHub. Este guia irá mostrar-lhe

Como instalar o Automad CMS no FreeBSD 12

Como instalar o Automad CMS no FreeBSD 12

Usando um sistema diferente? Automad é um sistema de gerenciamento de conteúdo (CMS) baseado em arquivo de código aberto e um mecanismo de modelo escrito em PHP. O código-fonte Automad i

Como instalar o ProcessWire CMS 3.0 em um FreeBSD 11 FAMP VPS

Como instalar o ProcessWire CMS 3.0 em um FreeBSD 11 FAMP VPS

Usando um sistema diferente? O ProcessWire CMS 3.0 é um CMS (Content Management System) simples, flexível e poderoso, de código aberto e gratuito. ProcessWire CMS 3.

Instalando o Akaunting no FreeBSD 12

Instalando o Akaunting no FreeBSD 12

Usando um sistema diferente? Introdução O Akaunting é um software de contabilidade on-line gratuito e de código aberto desenvolvido para pequenas empresas e freelancers. É eu

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.