SSブログ

Pi4 Ubuntu 20.04 LTSでDHCPv4 & DHCPv6の設定 [Raspberry Pi]

前の記事
https://straycats.blog.ss-blog.jp/2021-01-02
の続きです。

最後の絵をちょっと修正。
home-network-03.jpg
9.dhcpdは9.Ubuntu on Pi4に変わってます。あと、対象を7.Windows Laptopに絞りました。
こいつがどうにかなれば、他のものは付いてくるはず...

さて、dhcpdのインストールは
https://ubuntu.com/server/docs/network-dhcp
こちらに記載があるので、簡単です。
$ sudo apt install isc-dhcp-server
でおしまい。
DHCPv4にもDHCPv6にも対応しています。

■DHCPv4の設定
/etc/dhcp/dhcpd.confがサンプルとして置かれます。これをベースに修正します。
修正箇所は1カ所。追記1つ。
頭の方に
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
とあるので、これを
option domain-name "localdomain-name";
option domain-name-servers IPv4-nameserver-address, IPv4-nameserver-address;
と書き換えればおk。
まあ、name serverは3つ書き並べても4つ書き並べてもよいかと。限界は知りません。
いくつ認識してくれるかは、受け取り側次第です。
とりあえず、今回の目的は、Windows Serverのname serverを参照させることなので、1つ目は、そのアドレスを記載します。2つ目は1.Router様のアドレスを記載するとよいかと。まあGoogle Public DNS
https://developers.google.com/speed/public-dns
に記載の8.8.8.8や8.8.4.4を設定してもよいですし、ISPのサーバーを指定してもよいです。

追記は、最後にClass Cプライベートアドレス空間であれば
subnet 192.168.AAA.0 netmask 255.255.255.0 {
  range 192.168.AAA.BBB 192.168.AAA.CCC;
  option routers 192.168.AAA.NNN;
}
なんて感じに、払い出しに使えるアドレスレンジとgatewayの情報を書いてあげればよし。

この状態で
$ sudo systemctl enable isc-dhcp-server
$ sudo systemctl restart isc-dhcp-server
とすればよし。
enableしておけば、次回再起動の時にも勝手に立ち上がります。
あ、1.Router様で動いているDHCPv4をkillしておく必要があります。どこかでDHCPv6が動いていたら、それも止めましょう。

ここまでやったら、Windows 10 DHCP clientで
> ipconfig /release
> ipconfig /renew
> ipcofnig /all
して、IPv4アドレスと、name serverアドレスと、gatewayのアドレスが取得できているかを確認します。とれていれば、問題なし。
サーバー側も
$ sudo tail -f /var/log/syslog
しておけば、アドレスの払い出し状況をリアルタイムに確認できます。

■DHCPv6の設定
こちらも/etc/dhcp/dhcpd6.confがサンプルとして置かれるので、これをいじります。
こちらも修正が1カ所、追記が1つです。

修正は、IPv4同様
option dhcp6.name-servers 3ffe:501:ffff:100:200:ff:fe00:3f3e;
option dhcp6.domain-search "test.example.com","example.com";

option dhcp6.name-servers IPv6-nameserver-address, IPv6-nameserver-address;
option dhcp6.domain-search "localdomain-name";
のようにします。
こちらも1つ目はWindows Serverで動くname serverのアドレスを指定します。2つ目以降は1.Router様自体を指定してはいけません。ステートレスで取得するname serverのアドレスは、1.Router様になるのですが、これは変わる可能性があるので、1.Router様の管理画面で取得出来るDNS Server Addressを確認して、これを設定するか、これまたGoogleのを設定するかします。

追記は、こちらも最後に
subnet6 ZZZZ:YYYY:XXXX:WWWW::/64 {
  range6 ZZZZYYYYXXXXW:WWW:192:168:AAA:BBB ZZZZ:YYYY:XXXX:WWWW:192:168:AAA:BBB;
}
なんてして、おしまい。
インタフェースIDの64-bit空間を表記上IPv4と同じにして、わかりやすく贅沢に使った例になります。
ま、固定で割り振るアドレスとぶつからなければ、どーでもいい部分なので、お好きにどーぞ。
なお、こちらはgatewayアドレスの設定がありません。
これは
https://askubuntu.com/questions/649547/how-to-set-default-gateway-in-dhcpd6-conf
ここに理由が書いてあります。

設定結果は以下の様に起動します。
$ sudo systemctl enable isc-dhcp-server6
$ sudo systemctl restart isc-dhcp-server6
最後に6が付くだけ。

Windows 10 DHCP clientで確認するには...
> ipconfig /release6
> ipconfig /renew6
> ipcofnig /all
として、IPv4と同じように、意図したままにアドレスが取得出来ていれば、完了です。

これで終われば、良かったんですが...
home-network-04.jpg
ダメ。とほほ... orz
IPv6のアドレス割り当てがうまくいってません。
/var/log/syslogには、払い出したログが残っているのですが、受け取り側が無視しているようです。
ここで、ようやく、前の記事で記載したIPv6のアドレスがどのように設定されているのかという事実に向き合うことになりました。

要は、RAのM-flagをONにした情報を流す奴が必要... Routerのお仕事はしなくていいので(^^;
ということで、次の記事でその辺を書きます。

しかし、さらに、最後の最後で気が付いたんですが、ここで、routing tableを見とけば、良かったなと思うこともありました。
それも次の記事か、その次あたりで..
nice!(16)  コメント(0) 
共通テーマ:パソコン・インターネット

年末年始の休みでやりたかったこと [Network]

毎度のことですが、何か、目的を持って休みの過ごし方を決めてるわけでも無く、いつも行き当たりばったりですが、思いついたら、やってみないとどうにもならない性格。
どうも思考実験より手を動かしちゃうタイプ(^^;
楽しい方が優先:-p

そんなわけで、それを実現する手段として、これまた楽しそうなRaspberry Pi4を買ってきちゃったわけですね。昨晩もハマって、日付を超えてしまいました。
おかげで、色々勉強出来たし、解決策も見えてきました。

そもそも、うちのネットワーク環境はこんな感じです。
home-network-00.jpg#クリックすると大きくなります(以下省略)

Windows Serverがあること、比較的、固定IPアドレス設定を多用していること以外は、多くのおうちと変わらないと思います。
つい先日まで、DELL XPS13が来るまでは、これで不自由は無かったのですが...
どうも設定がおかしい?というか、やりたいことができるネットワークの構成や設定になってないと言うことが分かったのが、年末です。
こういうの、ある程度、暇じゃ無いと気づかないし、対処しないんですね。会社の仕事じゃないし(^^;
昔は、会社で本番環境作る前に、自宅で疑似環境をつくってなんてこともやってたおかげでSunのWorkstationが最大7台もありましたが、今はそんな事をするつもり無いです。
なので、中古でエンタープライズなRouterやL3 Switchを買うとかはなし。
お安く、自分の趣味も兼ねて楽しく解決出来る手段で、やりたいことをやることにしました。

さて、やりたいことを、シンプルに描いてみると、こんな感じ。
home-network-01.jpg
緑の線で付け足しました。
Windows 10からWindows Serverにアクセスしたいんです。
それもActive Directory環境下で認証された状態で。
よって、Windows 10はProfessional Ed.で、AD Domainに参加してます。
参加するためにはIPv4でもIPv6でも、Windows Serverで動かしているname serverを参照して、ドメインに参加するためのAD Serverの情報を見れる様にします。
ここまでは比較的簡単。IPv4でlookup出来る様になってれば、IPv6でlookup出来なくても、参加出来ちゃうんですね。
参加出来ちゃうと、ファイルサーバーアクセスも出来ちゃう。IPv6優先でもIPv4にfall backしてくれるから。
同じ理由でWeb accessとかも問題なし。
ただ、fall backするので、名前解決に時間がかかる...
今まで、ここまでは出来てたのですよ。

そんでもって、同じ様にDELL XPS13も対応しました。
でも、気づいちゃったんですね...
きっかけはWi-FiでWindows Updateがうまくいかなかったことなんですが、そもそも、外に持ち出す可能性のあるPCに固定IPアドレス設定して、どないすんの?と。

だったら、てってーてきに、どーにかしてやろうかと:-)
ちなみに、この思い立った時点のIPv6に関する知識は
https://straycats.blog.ss-blog.jp/2018-06-24
1年半前のこの時期から進化してません(^^;
そこから元旦までに、多少進化しました(^^)v
でも、たぶん、かなり実験的手法により習得した知見なので、ロジカルには間違ってそうな気もするので、この後の記事も、大目に見てください。

どーにかするにも、自動的にIPアドレスを取得させる場合に、そもそも誰がname serverをclientに渡すのか?
普段DHCPv4 serverにしていた、1.Router様には、そんなオプション設定機能はありませんでした。
さらにIPv6に関して言えば、DHCPv6 serverがない...
Wi-Fi APをrouter modeで使えば、あるにはあるけど、こっちもname serverを指定するオプション設定機能が無いことを確認済み。
なんで動いているかと言えば、IPv4は1.Router様が自分がrouterでgatewayであり、name serverのフォワーダーなので、その辺の情報を付加してアドレスの振り出しをしてるから。
IPv6はステートレスな自動設定でRA(Router Advertisement)情報を見てるんでしょう。これを出してるのは、1.Router様以外にいないはずです。
さらに、今回学習した中で分かったのは、この状態って、RAの中のM(Managed)とO(Other config)のFalgを見て決まる様で、MがoffでOがonの時みたいです。
https://www.atmarkit.co.jp/ait/articles/1303/14/news095.html
あとで、ツールを使って、この状態であることは確認しました。そんな事とは露知らず、dhcpd立てて、必要な情報を流せば、解決するだろうと思ったのが、事の始まりでした。
そのときのイメージがこちら。
home-network-02.jpg
9.dhcpdを実現するのに、Raspberry Pi4を買いに、意気揚々と秋葉原に買い出しに行ったのが2020/12/29でした。
とりあず、2020年内に基本的なセットアップを終わらせ、2021年元旦にDHCPv4/v6 server立ち上げ作業をしたので、この後、自分のメモ代わりに書きます。
その記事を書くのにも、脳ミソ整理をする都合から、お絵かきしてみました:-p
nice!(10)  コメント(2) 
共通テーマ:パソコン・インターネット