ParrotSecurity 4.2: DHCP向けに/etc/resolv.confを改善する

デフォルトだと/etc/resolv.confにスタティックなDNS情報が付加されるので、それを付加しない方法について記載します。

1 デフォルトの/etc/resolv.conf

デフォルトだと以下の通りです。

  • resolvconfが有効になっています。
  • /etc/resolvconf/resolv.conf.d/tailの内容が/etc/resolv.confに追加されます。DHCPサーバからDNS情報を配布していると、この内容が邪魔になる場合があります。
  • systemd-resolvedが無効になっています。

DHCPサーバからnameserver 192.168.11.2とsearch hiroom2.comが配布されている状態だと/etc/resolv.confは以下のようになります。

$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by
# resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.11.2
search hiroom2.com
# ParrotDNS/OpenNIC
nameserver 139.99.96.146
nameserver 37.59.40.15
nameserver 185.121.177.177

# Round Robin
options rotate

2 /etc/resolvconf/resolv.conf.d/tailを無効にする

#!/bin/sh -e

sudo mv /etc/resolvconf/resolv.conf.d/tail \
     /etc/resolvconf/resolv.conf.d/tail.disable
sudo systemctl restart resolvconf

3 systemd-resolvedを有効する

#!/bin/sh -e

sudo systemctl disable resolvconf
sudo systemctl stop resolvconf
sudo rm /etc/resolv.conf

sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
sudo systemctl enable systemd-resolved
sudo reboot

4 resolvconfを有効にする

systemd-resolvedからresolvconfに戻す場合は以下のコマンドを実行します。

#!/bin/sh -e

sudo rm /etc/resolv.conf
sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved

sudo ln -s /etc/resolvconf/run/resolv.conf /etc/resolv.conf
sudo systemctl enable resolvconf
sudo reboot