Protégez resolv.conf du DHCP sur FreeBSD 10

Si vous exécutez votre propre résolveur ou souhaitez en utiliser un auprès d'un fournisseur tiers, vous pouvez constater que votre /etc/resolv.conffichier est écrasé par DHCP. Il existe plusieurs façons de résoudre ce problème. Étant donné que vous allez probablement vouloir redémarrer pour vous assurer que vos modifications sont respectées, et comme vous allez en premier lieu utiliser les paramètres réseau, je vous suggère fortement de le faire sur une instance de test et / ou en dehors de Peak heures.

Maintenant, voici trois méthodes, du pire au meilleur. Notez que toutes les méthodes de ce guide ont été écrites pour FreeBSD 10. Les utilisateurs Linux peuvent se référer à ce guide .

Méthode 1: utiliser les paramètres d'interface statiques

Dans mes tests limités, cela entraîne des temps de démarrage légèrement plus rapides car vous n'avez pas à attendre que DHCP attribue vos paramètres réseau. Cependant, j'ai vu dans plusieurs documents Vultr que l'utilisation des paramètres d'interface statique est mal vue et que vous devez vous en tenir à DHCP. Je suppose qu'ils ont une bonne raison à cela et j'ai donc continué à utiliser DHCP moi-même. Néanmoins, si vous décidez de suivre cette voie, suivez les étapes ci-dessous.

  • Déterminez l'IP, le masque de réseau et l'IP de la passerelle de votre serveur.
  • Modifiez /etc/rc.confpour utiliser ces valeurs au lieu de DHCP.
  • Redémarrez pour tester les paramètres.

Déterminer IP / masque de réseau / passerelle

En supposant que votre interface est vtnet0, procédez comme suit:

ifconfig vtnet0 | grep inet

Cela devrait vous fournir l'adresse IP et le masque de réseau de votre serveur:

inet 10.10.10.10 netmask 0xffffff00 broadcast 10.10.10.255

FreeBSD aime utiliser hex pour le masque de réseau. Ce qui précède se transforme en 255.255.255.0si vous êtes curieux. Vous pouvez trouver un tableau pratique ici , mais n'ayez crainte: vous pouvez simplement copier l'adresse hexadécimale dans vos fichiers de configuration (ou la convertir en décimal si vous préférez).

Vous pouvez trouver la passerelle de plusieurs façons. En voici un:

route get default | grep gateway retournera quelque chose comme:

gateway: 10.10.10.1

Modifier /etc/rc.confavec de nouvelles valeurs

Armé de l'IP, du masque de réseau et de la passerelle, il est maintenant temps de les ajouter à la configuration du système. Je recommande fortement de sauvegarder ce fichier avant d'apporter des modifications, car il sera beaucoup plus facile de l'annuler si vous vous trompez. Maintenant, ouvrez-vous /etc/rc.confdans l'éditeur de votre choix et apportez les modifications suivantes:

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

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

De toute évidence, vous devez vous assurer de substituer votre adresse IP, votre masque de réseau et votre passerelle réels à mes contrefaçons évidentes.

Redémarrez et testez

Redémarrez votre serveur à l'aide shutdown -r nowet assurez-vous qu'il revient correctement. Effectuez les tests que vous jugez nécessaires pour vous assurer que tout fonctionne correctement. Si le réseau est inaccessible, connectez-vous via la console et annulez vos modifications. Si tout va bien, à ce stade, vous pouvez mettre tout ce que vous voulez resolv.confsans craindre d'être effacé.

Si pour une raison quelconque vous ne pouvez pas redémarrer, cela devrait fonctionner, mais je ferais vraiment un redémarrage approprié si j'étais vous:

service netif restart && service routing restart

Méthode 2: rendre resolv.confimmuable

C'est un peu un hack, mais c'est facilement la solution la plus rapide. Je ne le recommande pas car je ne peux pas garantir que cela ne causera pas de bizarreries à l'avenir lorsque vous passerez à une nouvelle version du système d'exploitation, et dhclient va probablement se plaindre. Cela dit, un simple chflags schg /etc/resolv.confsuffit. Le fichier est maintenant complètement protégé en écriture, même depuis root. Vous pouvez vérifier comme ceci:

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.

Annuler avec: chflags noschg /etc/resolv.conf

Méthode 3: dites poliment à FreeBSD de laisser vos paramètres seuls

C'est de loin le moyen le plus propre et le plus approprié pour y parvenir. Vous pouvez adopter deux approches:

Configurer dhclient

Prenons l'exemple de haut en bas et disons que tout ce que vous voulez faire est de mettre votre serveur de noms personnalisé resolv.confet de ne pas le perdre à chaque fois que DHCP fait son travail. Dans mon cas, je veux utiliser le résolveur de mise en cache que j'ai installé qui écoute sur localhost, donc je modifie /etc/dhclient.conf(qui sera probablement vide à part les commentaires) et j'ajoute ce qui suit:

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

Cela permettra à dhclient de faire tout ce que vous avez besoin de faire, mais lorsque le serveur DHCP lui enverra une liste de serveurs de noms à utiliser, le vôtre remplacera (comme dans, remplacera complètement) ceux qu'il propose. Si vous préférez compléter (plutôt que remplacer) ceux proposés, vous pouvez "ajouter" ou "ajouter" au lieu de "remplacer", selon le cas.

Par ailleurs, si vous avez besoin de plusieurs serveurs personnalisés, spécifiez-les comme ceci:

supersede domain-name-servers 127.0.0.1, 127.0.0.2;

Après avoir apporté vos modifications, redémarrez-les dhclientpour qu'elles prennent effet immédiatement:

service dhclient restart vtnet0

Examinez votre /etc/resolv.confet vous devriez trouver qu'il contient maintenant votre ou vos serveurs de noms personnalisés.

Au moment de la rédaction de ce document, les serveurs de noms sont la seule chose que le serveur DHCP de Vultr ait jamais mis dans mon resolv.conf, et la seule chose que j'ai eu envie de personnaliser. Cependant, si jamais vous avez besoin de remplacer d'autres paramètres, consultez l'excellent manuel pour une liste complète:

man 5 dhclient.conf

Il y a de bons exemples en bas qui devraient vous donner une idée de ce que vous pouvez faire. Du haut de ma tête, je peux imaginer que vous voudrez peut-être ajouter quelque chose comme supersede domain-name "example.com";si vous avez normalement une ligne comme ça dans votre resolv.conf. Encore une fois, consultez la documentation.

Configurer resolvconf

C'est la solution la plus simple si vous voulez juste que vous resolv.confrestiez seul. Selon le manuel:

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

Sa configuration réside dans /etc/resolvconf.conf, qui n'existe probablement pas sur votre système, alors n'hésitez pas à la créer. Pour rendre votre resolv.confimmuable, ajoutez ceci:

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

Si vous utilisez unboundvotre résolveur de mise en cache local, c'est la ligne qu'il ajoute (avec quelques-uns pour lui-même). Cela revient resolvconfà penser que votre /etc/resolv.confemplacement est situé /dev/null. Quelque chose d'un peu moins méchant, mais tout aussi efficace, serait:

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

Si vous voulez faire quelque chose de plus sophistiqué que juste le mettre hors tension, les pages de manuel resolvconfet resolvconf.confont beaucoup d'informations.



Leave a Comment

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques d'analyse des mégadonnées : partie 1

Limpact de lintelligence artificielle dans les soins de santé 2021

Limpact de lintelligence artificielle dans les soins de santé 2021

L'IA dans le domaine de la santé a fait de grands progrès au cours des dernières décennies. Ainsi, l'avenir de l'IA dans les soins de santé continue de croître de jour en jour.