FreeBSD DHCP6で Name Serverを自動設定する

request domain-name-servers;

をinteterfaceの設定に書くとDNSのサーバが降ってくるので、それをスクリプトをつかって/etc/resolv.confを書き換える

といった流れにするのがよいようです。もっとよいやり方があるのかもしれませんが・・・ちなみにname serversは $new_domain_name_serversでスクリプトから参照することができます。

/usr/local/etc/dhcp6c.conf:

interface tun2{
     send ia-pd 0;
     request domain-name-servers;
     script "/usr/local/sbin/iijmio6.script";        
};

id-assoc pd 0 {
        prefix-interface fxp0 {
                sla-id 1;
                sla-len 8;
        };
};

私は以下のようなスクリプトを書きました。

/usr/local/sbin/iijmio6.script:

#!/bin/sh

echo -n "" > /etc/newresolv.conf
if [ -n "$new_domain_name_servers" ] ; then
  for i in $new_domain_name_servers ; do
    echo nameserver $i >> /etc/newresolv.conf
  done
  mv /etc/newresolv.conf /etc/resolv.conf
fi

 

Posted by issei

カテゴリ: BSD

Listing Comments

IPv4 の方だけど isc の dhclient が不正な dhcp サーバ経由から shell shock で攻略の窓口になり得たってのは、環境変数に細工されて /bin/sh が脆弱性のある bash だとルート権限でコマンド実行されるという流れだった記憶が :-)
ふたつき