Raspberry PiのEEPROM更新とKernel更新 [Raspberry Pi]
今日は午前中のゴタゴタで、よくわからないスイッチが入ったので、らずぱいをいじってます。
但しテスト環境。
24x7なやつは、あと2日で丸2年も寡黙に動いてくれた状態になるので、uptimeが730日を超えるまでは静観:-)
まだ22.04LTSから24.04へのアップグレードは出来ないみたい。
んでEEPROMのアップデートとか、忘れてましたよ!
#sudo rpi-eeprom-update
して、なんかあるよって出てきたら
#sudo rpi-eeprom-update -a
してスケジューリングされたらreboot。
んで、uname -aしてみたら、ん?
5.4.0???
ふるいねー。なんで?
ちなみに24x7で運用している方も同じ。
https://www.hpe.com/jp/ja/servers/linux/matrix/index-26-ubuntu.html
コレ見ると。なんか20.04LTSのGA Kernelを引きずってるの?
ということで
#sudo apt install linux-generic
これで5.15.0に。
んでServerなのでdefaultがGA KernelなんだけどHWE Kernelも選べる。
https://ubuntu.com/kernel/lifecycle#installation-22-04
これによれば
#sudo apt-get install --install-recommends linux-generic-hwe-22.04
こうしろと。
で、1回目はGA Kernel走ってるで~でエラー。無視してrebootしろと表示されるのでreboot。
もう1回、同じコマンドを叩くとHWK Kernelのinitrdイメージを作ってくれる。
しかし、またエラー....
Using DTB: bcm2711-rpi-4-b.dtb
Couldn't find DTB bcm2711-rpi-4-b.dtb on the following paths: /etc/flash-kernel/dtbs /usr/lib/linux-image-6.5.0-35-generic /lib/firmware/6.5.0-35-generic/device-tree/
これが原因か...
/boot/firmware/
にはあるけど
/etc/flash-kernel/dtbs/
にはない。
#sudo cp -p /boot/firmware/bcm2711-rpi-4-b.dtb /etc/flash-kernel/dtbs/
してあげて、もう1度!
これで、ノーエラーで出来上がるので満を期してreboot。
うーん、ならんかった...
よく分からん。/bootの下、ぐちゃぐちゃ...
但しテスト環境。
24x7なやつは、あと2日で丸2年も寡黙に動いてくれた状態になるので、uptimeが730日を超えるまでは静観:-)
まだ22.04LTSから24.04へのアップグレードは出来ないみたい。
んでEEPROMのアップデートとか、忘れてましたよ!
#sudo rpi-eeprom-update
して、なんかあるよって出てきたら
#sudo rpi-eeprom-update -a
してスケジューリングされたらreboot。
んで、uname -aしてみたら、ん?
5.4.0???
ふるいねー。なんで?
ちなみに24x7で運用している方も同じ。
https://www.hpe.com/jp/ja/servers/linux/matrix/index-26-ubuntu.html
コレ見ると。なんか20.04LTSのGA Kernelを引きずってるの?
ということで
#sudo apt install linux-generic
これで5.15.0に。
んでServerなのでdefaultがGA KernelなんだけどHWE Kernelも選べる。
https://ubuntu.com/kernel/lifecycle#installation-22-04
これによれば
#sudo apt-get install --install-recommends linux-generic-hwe-22.04
こうしろと。
で、1回目はGA Kernel走ってるで~でエラー。無視してrebootしろと表示されるのでreboot。
もう1回、同じコマンドを叩くとHWK Kernelのinitrdイメージを作ってくれる。
しかし、またエラー....
Using DTB: bcm2711-rpi-4-b.dtb
Couldn't find DTB bcm2711-rpi-4-b.dtb on the following paths: /etc/flash-kernel/dtbs /usr/lib/linux-image-6.5.0-35-generic /lib/firmware/6.5.0-35-generic/device-tree/
これが原因か...
/boot/firmware/
にはあるけど
/etc/flash-kernel/dtbs/
にはない。
#sudo cp -p /boot/firmware/bcm2711-rpi-4-b.dtb /etc/flash-kernel/dtbs/
してあげて、もう1度!
これで、ノーエラーで出来上がるので満を期してreboot。
うーん、ならんかった...
よく分からん。/bootの下、ぐちゃぐちゃ...
2ndry nameserver [Raspberry Pi]
ずっと立ち上げたつもりでいたけど、全く何もやってなかった(^^;
やってあったのは、nameserverとしてのDNS登録だけ。
すでにWindows Server 2台でnameserverは構成されている状態なので、まあ、わざわざ立てなくてもいいんだけど、多少なりともヘテロな環境構築をやっておかないと、脳ミソ衰えるだけなんで...
ということで、久しぶりにらずぱいをいじりました。
ほんと、安定運用し始めると、セキュリティアップデート以外は、放置。
スバラシイ!の一言。
さーて、man namedとかやってもsection 8のmanualが表示されません。
そんなわけで
あ、他の基本的なmanも入っていなかったりするので
作業は/etc/bindで行います。
2ndryでいいなら、いじるのは/etc/bind/named.conf.localだけ
書く中身は...
エラーが無ければ
digコマンド使って確認。逆引きは-xオプション、IPv6はAAAAオプション、nameserver指定は@指定オプションを駆使して、status: NOERRORで確認したい結果が得られるかを確認していきます。
なお、通常の小規模な環境というか、色々Webの解説見てると、Masterが1台のケースで書かれている例が多いですよね。多分、複数台あるときの書き方はあってると思います...
Windows AD ServerでDNS動かすと、それぞれMasterになるんですな。AD連携しているので。
なので、併記。IPアドレスもIPv6があったって、IPv4指定で問題なしです。IPv6だけで運用していない限りは。
そんでもって、Ubuntuで追加するサーバーは2ndryなので、Windows側でnameserverとして登録したり、逆引きアドレス登録したり、Zone転送先サーバーとして指定したりしてあげないとダメです。
逆引きは、前方参照側で「PTRレコードを更新する」にチェックを入れてあげます。入れずに逆引き側で個別に登録しても、そのうち消されます...
Windowsの動的更新ってイマイチふるまいがよく分からず、Multi IPでADを運用するときにDNSのlistenのIPを絞っちゃうと、そのIPしかDNSに登録されなくなっちゃったり、個別に登録しても消されたりとか、よー分からんです。
とにかく、Windows DNSのMaster Server様が絶対なので、従うしかありません。
ちなみに、うちは元々Solaris/Linuxでnameserverを静的に運用していて、そのころはIPv6はまともに運用していなかったのでIPv6の逆引き参照ZoneはWindows ADのnameserverに移行した後も存在していませんでした。
今回、意を新たに作成。
https://atmarkit.itmedia.co.jp/ait/articles/1307/04/news113.html
こちらの記事が参考になります。
やってあったのは、nameserverとしてのDNS登録だけ。
すでにWindows Server 2台でnameserverは構成されている状態なので、まあ、わざわざ立てなくてもいいんだけど、多少なりともヘテロな環境構築をやっておかないと、脳ミソ衰えるだけなんで...
ということで、久しぶりにらずぱいをいじりました。
ほんと、安定運用し始めると、セキュリティアップデート以外は、放置。
スバラシイ!の一言。
さーて、man namedとかやってもsection 8のmanualが表示されません。
そんなわけで
$ sudo apt install bind9*とかやって、BIND9関係を一気にインストール。
$ sudo mandbしてDBも再構築しておきます。
あ、他の基本的なmanも入っていなかったりするので
$ sudo apt install manpages*も事のついでやっておく方が良いです。ディスク容量気にして、ちまちまこれとあれとか選ぶよりこっちの方が効率的。
作業は/etc/bindで行います。
2ndryでいいなら、いじるのは/etc/bind/named.conf.localだけ
書く中身は...
zone "前方参照Zone" IN {
type slave;
masters { マスター1; マスター2; };
file "/var/cache/bind/前方参照Zoneファイル";
};
zone "IPv4逆引き参照Zone" IN {
type slave;
masters { マスター1; マスター2; };
file "/var/cache/bind/IPv4逆引き参照Zoneファイル";
};
zone "IPv6逆引き参照Zone" IN {
type slave;
masters { マスター1; マスター2; };
file "/var/cache/bind/IPv6逆引き参照Zoneファイル";
};
こんなの追加したら$ named-checkconf named.conf.localしてエラーが無いことを確認。
エラーが無ければ
$ sudo systemctl restart namedします。
digコマンド使って確認。逆引きは-xオプション、IPv6はAAAAオプション、nameserver指定は@指定オプションを駆使して、status: NOERRORで確認したい結果が得られるかを確認していきます。
なお、通常の小規模な環境というか、色々Webの解説見てると、Masterが1台のケースで書かれている例が多いですよね。多分、複数台あるときの書き方はあってると思います...
Windows AD ServerでDNS動かすと、それぞれMasterになるんですな。AD連携しているので。
なので、併記。IPアドレスもIPv6があったって、IPv4指定で問題なしです。IPv6だけで運用していない限りは。
そんでもって、Ubuntuで追加するサーバーは2ndryなので、Windows側でnameserverとして登録したり、逆引きアドレス登録したり、Zone転送先サーバーとして指定したりしてあげないとダメです。
逆引きは、前方参照側で「PTRレコードを更新する」にチェックを入れてあげます。入れずに逆引き側で個別に登録しても、そのうち消されます...
Windowsの動的更新ってイマイチふるまいがよく分からず、Multi IPでADを運用するときにDNSのlistenのIPを絞っちゃうと、そのIPしかDNSに登録されなくなっちゃったり、個別に登録しても消されたりとか、よー分からんです。
とにかく、Windows DNSのMaster Server様が絶対なので、従うしかありません。
ちなみに、うちは元々Solaris/Linuxでnameserverを静的に運用していて、そのころはIPv6はまともに運用していなかったのでIPv6の逆引き参照ZoneはWindows ADのnameserverに移行した後も存在していませんでした。
今回、意を新たに作成。
https://atmarkit.itmedia.co.jp/ait/articles/1307/04/news113.html
こちらの記事が参考になります。
らずぱい追加調達 [Raspberry Pi]
お遊び用の4GB品は入手しましたが、おうちさーばーのスレーブ用機材として8GB品が欲しく、色々入荷連絡登録してたのですが、いつも入荷連絡に気づいてアクセスしても売り切れ状態。
たまたま出社時の休み時間に
https://akiba-pc.watch.impress.co.jp/docs/wakiba/find/1410629.html
これに気が付くも、売り切れ。
お昼ぐらいには、まだ買えたみたいです。
店頭在庫が尽きたtweetがないので、帰宅時に秋葉原へ。
いつもお世話になっております。
んで
麗しの8GB品。
MACアドレスは"e4:5f:01"(Windowsだと"e4-5f-01"の標記)からです。
予備品が出来たので、SSD boot化でも試してみよう:-)
お腹も減ったので、秋葉原と言えば30年以上お世話になっている
こちら。
待たずには入れたので、何より。
秋葉原駅改札内にも...
なんか出来てました。
Postscript
コメントいただいていた記事、replyしました。
たまたま出社時の休み時間に
https://akiba-pc.watch.impress.co.jp/docs/wakiba/find/1410629.html
これに気が付くも、売り切れ。
お昼ぐらいには、まだ買えたみたいです。
店頭在庫が尽きたtweetがないので、帰宅時に秋葉原へ。
いつもお世話になっております。
んで
麗しの8GB品。
MACアドレスは"e4:5f:01"(Windowsだと"e4-5f-01"の標記)からです。
予備品が出来たので、SSD boot化でも試してみよう:-)
お腹も減ったので、秋葉原と言えば30年以上お世話になっている
こちら。
待たずには入れたので、何より。
秋葉原駅改札内にも...
なんか出来てました。
Postscript
コメントいただいていた記事、replyしました。
久々のらずぱい [Raspberry Pi]
なかなかRaspberry Pi Zero 2の技適の進捗が開示されず、転売品を買っても、肝心の電波を飛ばせないので、しょーがねーなー状態なのですが、とりあえず、年末発注、年始着荷でPi Zero WHを入手。
先週、納期を見てて、たまたまクロールしてたら在庫があったPi 4B 4GB品を入手。
どっちも、転売品以外は入手困難品です。
わたしは、秋月電商さんから、正規の価格で入手出来ました:-)
んで、週末だし、動確しなきゃ... ってPi 4B 4GBの動作確認作業したら、起動しない...
赤LEDは点灯。
緑LEDは点滅を繰り返します。
arp -aしても、変化無し。もち、RJ45の口のLEDも点きません...
HDMIにも何も出ない...
イメージを変えるも、変化無し。
同じメディアをPi Zero WHに挿すと動く...
しょうがないので、1年以上、ずーっと動いていたPi4 8GB品を止めて、手元で動かしてみると、あ.............. 同じ現象になりました。
これで、原因が判明。
USB Type-Cケーブル。
iPad Proが充電出来ないのと同じ理由だな。
捨てましたよ、タコケーブル。
理由が分かれば、後は簡単。
ただ、数日前に、Pi OSのイメージが更新されたようで、UK IoT法対策でデフォルトアカウント設定が削除されたようで、イメージを焼き込む時に設定しておかないと、一旦、デスクトップを立ち上げて、アカウント作って、SSHが動くように変更する必要があります。
参考:https://akkiesoft.hatenablog.jp/entry/20220409/1649471075
デスクトップからだと、最初のステップでアカウントを作成するので、そこまではよし。
自動的にUpdateも走らせられるので、それもよし。
その後、一度再起動することになります。
再起動後
cd /boot
sudo touch ssh
して、次回起動後からは、外からsshで繋ぐことが出来ます。
なお、MACアドレスは"ef:5f:01"から(Windowsだと"ef-5f-01"の標記)のようです。lan0/wlan0共に。
また、起動しない時は
https://mikolabo.net/index.php/2020/07/13/rasp4-trouble/
こちらのサイトも参考にさせていただきました。
しかし、Pi OS、これまたよくわからん...
先週、納期を見てて、たまたまクロールしてたら在庫があったPi 4B 4GB品を入手。
どっちも、転売品以外は入手困難品です。
わたしは、秋月電商さんから、正規の価格で入手出来ました:-)
んで、週末だし、動確しなきゃ... ってPi 4B 4GBの動作確認作業したら、起動しない...
赤LEDは点灯。
緑LEDは点滅を繰り返します。
arp -aしても、変化無し。もち、RJ45の口のLEDも点きません...
HDMIにも何も出ない...
イメージを変えるも、変化無し。
同じメディアをPi Zero WHに挿すと動く...
しょうがないので、1年以上、ずーっと動いていたPi4 8GB品を止めて、手元で動かしてみると、あ.............. 同じ現象になりました。
これで、原因が判明。
USB Type-Cケーブル。
iPad Proが充電出来ないのと同じ理由だな。
捨てましたよ、タコケーブル。
理由が分かれば、後は簡単。
ただ、数日前に、Pi OSのイメージが更新されたようで、UK IoT法対策でデフォルトアカウント設定が削除されたようで、イメージを焼き込む時に設定しておかないと、一旦、デスクトップを立ち上げて、アカウント作って、SSHが動くように変更する必要があります。
参考:https://akkiesoft.hatenablog.jp/entry/20220409/1649471075
デスクトップからだと、最初のステップでアカウントを作成するので、そこまではよし。
自動的にUpdateも走らせられるので、それもよし。
その後、一度再起動することになります。
再起動後
cd /boot
sudo touch ssh
して、次回起動後からは、外からsshで繋ぐことが出来ます。
なお、MACアドレスは"ef:5f:01"から(Windowsだと"ef-5f-01"の標記)のようです。lan0/wlan0共に。
また、起動しない時は
https://mikolabo.net/index.php/2020/07/13/rasp4-trouble/
こちらのサイトも参考にさせていただきました。
しかし、Pi OS、これまたよくわからん...
Pi4 Ubuntu 20.04 LTSで時刻設定 [Raspberry Pi]
今頃ですが、syslogの時刻がJSTじゃないことに気が付きました(^^;
そーいや、Time Zoneを設定してない。
それでも、timesyncdでntp.ubuntu.comに繋いでくれて、UTCとしては正しい。
まず、JSTにするには
次に、NTP Serverを近場のもの(例えばntp.nict.jp)に変えるのであれば/etc/systemd/timesyncd.confの
[Time]
#NTP=
となっているところを
[Time]
NTP=ntp.nict.jp
に変更してあげればよし。restartしなくても、すぐに反映されるようです。
そーいや、Time Zoneを設定してない。
それでも、timesyncdでntp.ubuntu.comに繋いでくれて、UTCとしては正しい。
まず、JSTにするには
$ sudo timedatectl set-timezone Asia/Tokyoとすれば、OK。
次に、NTP Serverを近場のもの(例えばntp.nict.jp)に変えるのであれば/etc/systemd/timesyncd.confの
[Time]
#NTP=
となっているところを
[Time]
NTP=ntp.nict.jp
に変更してあげればよし。restartしなくても、すぐに反映されるようです。
Pi4 Ubuntu 20.04 LTSでDHCPv4 & DHCPv6が自動起動しない... [Raspberry Pi]
設定変更の確認のため、rebootをしていたら、dhcpdが立ち上がっていないことに気が付きました。
起動後にloginしてps -ef | grep dhcpすると、いないんです...
/var/log/syslogを見てみると
No subnet6 declaration for eth0 (no IPv6 addresses).
と
No subnet declaration for eth0 (no IPv4 addresses).
で、エラー。
でも
色々調べていくと/etc/default/isc-dhcp-serverにMulti Hostな場合のインターフェースを記載するようです。これが
実際に、起動するときのscriptは/etc/systemd/system/multi-user.target.wantsの下にある
isc-dhcp-server.service
isc-dhcp-server6.service
で、これらは/lib/systemd/system以下の同名のファイルへのsymbolic link。
こいつには、/bin/shに食わせるコマンドとして
exec dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE $INTERFACES
とか
exec dhcpd -user dhcpd -group dhcpd -f -6 -pf /run/dhcp-server/dhcpd6.pid -cf $CONFIG_FILE $INTERFACES
とか書いてある...
どっちも$INTERFACESぢゃん... /etc/default/isc-dhcp-serverに書き込んだところで、反映されないのはこのため。
なので、/etc/default/isc-dhcp-serverに1行加えて
INTERFACES="eth0"
と書き加えてあげたら、見事に立ち上がりました。
bugかな...
んで、おまけ。
systemdによる起動は
https://milestone-of-se.nesuke.com/sv-basic/linux-basic/systemctl-list-dependencies/
こちらにあるように、グラフィカルに表示可能です。
また起動順序をグラフィカルに確認するには
今回、desktop環境はインストールしていないので、sftpでWindows側に持ってきて表示しましたが、わかりやすいですね:-)
なお、今回は、radvdの設定でManaged FlagをOFFしたときの挙動を確認するためでした。
アドレスをDHCPv6で割り当てなくても、経路情報を設定してInternalなname serverにきちんとアクセス出来ることが確認出来たので、こっちで運用かな。
起動後にloginしてps -ef | grep dhcpすると、いないんです...
/var/log/syslogを見てみると
No subnet6 declaration for eth0 (no IPv6 addresses).
と
No subnet declaration for eth0 (no IPv4 addresses).
で、エラー。
でも
$ systemctl is-enabled isc-dhcp-server isc-dhcp-server6 enabled enabledってなってるんだよな~とぐぐって調べてみても、ろくな答えは書いてない...
色々調べていくと/etc/default/isc-dhcp-serverにMulti Hostな場合のインターフェースを記載するようです。これが
INTERFACESv4="" INTERFACESv6=""となっていて、ここにeth0を書いてあげればいいのかと思ったら、何も変化無し...
実際に、起動するときのscriptは/etc/systemd/system/multi-user.target.wantsの下にある
isc-dhcp-server.service
isc-dhcp-server6.service
で、これらは/lib/systemd/system以下の同名のファイルへのsymbolic link。
こいつには、/bin/shに食わせるコマンドとして
exec dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE $INTERFACES
とか
exec dhcpd -user dhcpd -group dhcpd -f -6 -pf /run/dhcp-server/dhcpd6.pid -cf $CONFIG_FILE $INTERFACES
とか書いてある...
どっちも$INTERFACESぢゃん... /etc/default/isc-dhcp-serverに書き込んだところで、反映されないのはこのため。
なので、/etc/default/isc-dhcp-serverに1行加えて
INTERFACES="eth0"
と書き加えてあげたら、見事に立ち上がりました。
bugかな...
んで、おまけ。
systemdによる起動は
https://milestone-of-se.nesuke.com/sv-basic/linux-basic/systemctl-list-dependencies/
こちらにあるように、グラフィカルに表示可能です。
$ systemctl list-dependenciesとすれば、赤丸付いているのは、起動に失敗と言うことがすぐに分かります。
また起動順序をグラフィカルに確認するには
systemd-analyze plot > /tmp/plot.svgとかして、Web browserで表示させると良いです。
今回、desktop環境はインストールしていないので、sftpでWindows側に持ってきて表示しましたが、わかりやすいですね:-)
なお、今回は、radvdの設定でManaged FlagをOFFしたときの挙動を確認するためでした。
アドレスをDHCPv6で割り当てなくても、経路情報を設定してInternalなname serverにきちんとアクセス出来ることが確認出来たので、こっちで運用かな。
Pi4 Ubuntu 20.04 LTSでradvdの設定 [Raspberry Pi]
さらに
https://straycats.blog.ss-blog.jp/2021-01-02-1
の続きです。
RA情報を流すにはradvdなるモノを使うようです。
http://www.litech.org/radvd/
Linux IPv6 Router Advertisement Daemonだそうです。
ついでにradvdumpなるモノもあるので、これも入れます。
ってなことで
https://linux.die.net/man/5/radvd.conf
こちら参照しながらです。
パッケージインストール直後に、起動させようとして、/etc/radvd.confが無いから起動出来ないよんと言って、落ちるので、わかりやすい奴です。
GitHubにサンプル
https://github.com/reubenhwk/radvd/blob/master/radvd.conf.example
もあります。
radvd使ってやりたいことは...
こういうこと。
とりあえず
ちなみに、同じところでradvd動かしてても、そっちの情報は取ってくれない感じです...
なので、上書き出来ているかどうかは、client頼み(^^;
今回は主だってM-flagをONにする事が目的なので、設定は最小限に:-)
これで
試してみましょう。
Windows 10 clientで
念のため、clientを再起動して、試してみましょう。
でけた:-)
実は、最初に試していたときは、ZZZZ:YYYY:XXXX:WWWW::/64への経路情報がDHCP6 clientに設定されず、アドレスとname serverアドレスは期待値なんだけど、経路情報が無いのでname serverにパケットが届かず、使えない状態でした。
ipconfigコマンドだけ使っていると、静的に設定しているDesktop環境との差が分かりません。
routeコマンドを使って、気づきました。
でも、WindowsってUNIX由来のコマンドだと、あまり細かいことが出来なくて...
PowerShellでnetshコマンドを使うことになります。
この辺は、次回。
https://straycats.blog.ss-blog.jp/2021-01-02-1
の続きです。
RA情報を流すにはradvdなるモノを使うようです。
http://www.litech.org/radvd/
Linux IPv6 Router Advertisement Daemonだそうです。
ついでにradvdumpなるモノもあるので、これも入れます。
$ sudo apt install radvd $ sudo apt install radvdumpmanとかないんですよ...
ってなことで
https://linux.die.net/man/5/radvd.conf
こちら参照しながらです。
パッケージインストール直後に、起動させようとして、/etc/radvd.confが無いから起動出来ないよんと言って、落ちるので、わかりやすい奴です。
GitHubにサンプル
https://github.com/reubenhwk/radvd/blob/master/radvd.conf.example
もあります。
radvd使ってやりたいことは...
こういうこと。
とりあえず
$ sudo radvdumpとかして、WindowsからIPv6アドレスを再取得させてあげると、RAが流れるので、dump出来ます。
ちなみに、同じところでradvd動かしてても、そっちの情報は取ってくれない感じです...
なので、上書き出来ているかどうかは、client頼み(^^;
今回は主だってM-flagをONにする事が目的なので、設定は最小限に:-)
interface eth0 { AdvManagedFlag on; AdvOtherConfigFlag on; AdvSendAdvert on; prefix ZZZZ:YYYY:XXXX:WWWW::0/64 { AdvOnLink on; AdvAutonomous on; }; };だけです。
これで
$ sudo systemctl enable radvd $ sudo systemctl restart radvdしてあげれば、管理されたアドレスがClientに付与されるはず!
試してみましょう。
Windows 10 clientで
> ipconfig /release6 > ipconfig /renew6 > ipconfig /allこれでIPv6アドレスとして、ZZZZ:YYYY:XXXX:WWWW::/64なdhcpd6.confで指定したアドレスが取得出来ていれば、成功です。
念のため、clientを再起動して、試してみましょう。
でけた:-)
実は、最初に試していたときは、ZZZZ:YYYY:XXXX:WWWW::/64への経路情報がDHCP6 clientに設定されず、アドレスとname serverアドレスは期待値なんだけど、経路情報が無いのでname serverにパケットが届かず、使えない状態でした。
ipconfigコマンドだけ使っていると、静的に設定しているDesktop環境との差が分かりません。
routeコマンドを使って、気づきました。
でも、WindowsってUNIX由来のコマンドだと、あまり細かいことが出来なくて...
PowerShellでnetshコマンドを使うことになります。
この辺は、次回。
Pi4 Ubuntu 20.04 LTSでDHCPv4 & DHCPv6の設定 [Raspberry Pi]
前の記事
https://straycats.blog.ss-blog.jp/2021-01-02
の続きです。
最後の絵をちょっと修正。
9.dhcpdは9.Ubuntu on Pi4に変わってます。あと、対象を7.Windows Laptopに絞りました。
こいつがどうにかなれば、他のものは付いてくるはず...
さて、dhcpdのインストールは
https://ubuntu.com/server/docs/network-dhcp
こちらに記載があるので、簡単です。
DHCPv4にもDHCPv6にも対応しています。
■DHCPv4の設定
/etc/dhcp/dhcpd.confがサンプルとして置かれます。これをベースに修正します。
修正箇所は1カ所。追記1つ。
頭の方に
まあ、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プライベートアドレス空間であれば
この状態で
enableしておけば、次回再起動の時にも勝手に立ち上がります。
あ、1.Router様で動いているDHCPv4をkillしておく必要があります。どこかでDHCPv6が動いていたら、それも止めましょう。
ここまでやったら、Windows 10 DHCP clientで
サーバー側も
■DHCPv6の設定
こちらも/etc/dhcp/dhcpd6.confがサンプルとして置かれるので、これをいじります。
こちらも修正が1カ所、追記が1つです。
修正は、IPv4同様
こちらも1つ目はWindows Serverで動くname serverのアドレスを指定します。2つ目以降は1.Router様自体を指定してはいけません。ステートレスで取得するname serverのアドレスは、1.Router様になるのですが、これは変わる可能性があるので、1.Router様の管理画面で取得出来るDNS Server Addressを確認して、これを設定するか、これまたGoogleのを設定するかします。
追記は、こちらも最後に
インタフェースIDの64-bit空間を表記上IPv4と同じにして、わかりやすく贅沢に使った例になります。
ま、固定で割り振るアドレスとぶつからなければ、どーでもいい部分なので、お好きにどーぞ。
なお、こちらはgatewayアドレスの設定がありません。
これは
https://askubuntu.com/questions/649547/how-to-set-default-gateway-in-dhcpd6-conf
ここに理由が書いてあります。
設定結果は以下の様に起動します。
Windows 10 DHCP clientで確認するには...
これで終われば、良かったんですが...
ダメ。とほほ... orz
IPv6のアドレス割り当てがうまくいってません。
/var/log/syslogには、払い出したログが残っているのですが、受け取り側が無視しているようです。
ここで、ようやく、前の記事で記載したIPv6のアドレスがどのように設定されているのかという事実に向き合うことになりました。
要は、RAのM-flagをONにした情報を流す奴が必要... Routerのお仕事はしなくていいので(^^;
ということで、次の記事でその辺を書きます。
しかし、さらに、最後の最後で気が付いたんですが、ここで、routing tableを見とけば、良かったなと思うこともありました。
それも次の記事か、その次あたりで..
https://straycats.blog.ss-blog.jp/2021-01-02
の続きです。
最後の絵をちょっと修正。
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と同じように、意図したままにアドレスが取得出来ていれば、完了です。
これで終われば、良かったんですが...
ダメ。とほほ... orz
IPv6のアドレス割り当てがうまくいってません。
/var/log/syslogには、払い出したログが残っているのですが、受け取り側が無視しているようです。
ここで、ようやく、前の記事で記載したIPv6のアドレスがどのように設定されているのかという事実に向き合うことになりました。
要は、RAのM-flagをONにした情報を流す奴が必要... Routerのお仕事はしなくていいので(^^;
ということで、次の記事でその辺を書きます。
しかし、さらに、最後の最後で気が付いたんですが、ここで、routing tableを見とけば、良かったなと思うこともありました。
それも次の記事か、その次あたりで..
今日のらずぱいネタはこれでおしまい [Raspberry Pi]
久々に、あそべそー!
ってことで、このままやってると、年を越しちゃうので、今日のらずぱいネタは、ここで一区切り。
明日、また、あそぼっと!
で、ちょっと悪あがき。
前の記事で
でもって、いくつでもよいっぽいけど、IPv4のアドレスが優先されるっぽい... なんだ?
applyした後の設定状況の確認は
なんで、routerのアドレスとかFlet'sのdomainを拾ってくるんだろう... まあ、Windows Server上のIPv6のnameserverが優先されてるから、これでいっか。
それにしても/etc/resolv.confはいじらなくなっちゃってるので、なんとももどかしい...
このあと
元旦は、DHCPv6&v4 Serverの立ち上げかな。
ってことで、このままやってると、年を越しちゃうので、今日のらずぱいネタは、ここで一区切り。
明日、また、あそぼっと!
で、ちょっと悪あがき。
前の記事で
addresses: [IPv4-nameserver-address, IPv4-nameserver-address]となっていたところを
addresses: - "IPv6-nameserver-address" - "IPv6-nameserver-address"とすれば良いらしい。多分、ダブルクォーテーションでくくるのがカギなのか?単にIPv4なアドレスを書かないのがカギなのか??。行を分ける必要は無いと思うけど、視認性はこっちの方が良い。
でもって、いくつでもよいっぽいけど、IPv4のアドレスが優先されるっぽい... なんだ?
applyした後の設定状況の確認は
$ resolvectl statusとすると出来て... 色々表示された最後に
Current DNS Server: 今使ってるnameserverのアドレス DNS Servers: 先に指定したnameserverのアドレス 2番目に指定したnameserverのアドレス 何故かIPv4のrouterのアドレス... DNS Domain: localdomain-name flets-east.jp iptvf.jpな感じで出てくる。最後の2つはプロバイダ次第。
なんで、routerのアドレスとかFlet'sのdomainを拾ってくるんだろう... まあ、Windows Server上のIPv6のnameserverが優先されてるから、これでいっか。
それにしても/etc/resolv.confはいじらなくなっちゃってるので、なんとももどかしい...
このあと
$ sudo apt -s dist-upgradeして何がUpgradeされて、何がInstallされて、何がDeleteされるか確認して
$ sudo apt dist-upgradeして、そのまま放置します。
元旦は、DHCPv6&v4 Serverの立ち上げかな。
Raspberry Pi4 8GBでUbuntu 20.04 LTS [Raspberry Pi]
翌日午前中に頼んでおいたモノが届きました。
Micronの産業用micro SD Card。
耐久性に期待して、取り寄せてみました。
監視カメラのローカル記録用途のようです。
さて、色々調べてみましたが、Ubuntu 20.04 LTSをRaspberry Pi 4で使うときには、特に事前設定はいらないみたい。
https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi#4-boot-ubuntu-server
さらに
https://www.raspberrypi.org/software/
ここにアクセスすれば、アクセスしたOS用のRaspberry Pi Imagerがダウンロード出来ます。
コレ拾ってきて、インストールして、インストールしたいOSを選ぶだけ。
らくちんですね~
これなら、誰でもすぐに使えるよね。
これを、らずぱいに挿して、ネットワークケーブル繋いで、USB Type-Cで電源供給してあげると、立ち上がります。
で、DHCPでネットにつながっているので、前述のUbuntuのURLに記載の通り
arpでMACアドレスの一部をキーに検索して、IP addressを特定して、あとはsshで繋ぐのみ。
毎度おなじみTeraTerm使って、簡単にアクセス出来ました。
最初のアクセス時に、パスワードの変更を求められます。
カリフォルニア州法にも準じておりますな:-)
でもって、ifconfigが使えない...
ipコマンド使うんですかね?
ただ、ご親切にも
BSD4 ⇒ SVR4 ⇒ RHEL系Linuxと流れてきたので、Ubuntu分からなすぎ...
さらに18系から20系でネットワーク設定もずいぶん変わってるみたい。
管理屋泣かせだねぇ~
だいたい、私も、しばらく会社でも自宅でもLinuxを使わなくなっちゃったので、結構勘所を忘れてます(^^;
さて、このままDHCPにしておく訳にはいかないので、固定IPアドレスの設定をします。
調べてみると、正しいのは
https://ubuntu.com/server/docs/network-configuration
ここに書いてあることらしい。
そりゃ、本家本元だもんな。
とりあえず
ただ、今回はIPv6も設定します。あんまIPv6の設定を書いてくれている人いないんだよね~
#指定したら、スルーされちゃった..
eth0の所はディバイス名なので、らずぱい以外だと違うかも。
Wi-Fiでというならwlan0になりますが、WPAの事前設定とかが必要になるので、すぐには使えません。
変更したら、すかさず
お次は、hostnameの変更。hostnamectlコマンドなるモノを使うのね。
/etc/nsswitch.comfはfiles dnsになっているので、Multicast DNSを利用しない限りは、そのままでOK。
再起動すれば、所定のアドレスでつながります:-)
さっぱりわからん!Ubuntu恐るべし!
Micronの産業用micro SD Card。
耐久性に期待して、取り寄せてみました。
監視カメラのローカル記録用途のようです。
さて、色々調べてみましたが、Ubuntu 20.04 LTSをRaspberry Pi 4で使うときには、特に事前設定はいらないみたい。
https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi#4-boot-ubuntu-server
さらに
https://www.raspberrypi.org/software/
ここにアクセスすれば、アクセスしたOS用のRaspberry Pi Imagerがダウンロード出来ます。
コレ拾ってきて、インストールして、インストールしたいOSを選ぶだけ。
らくちんですね~
これなら、誰でもすぐに使えるよね。
これを、らずぱいに挿して、ネットワークケーブル繋いで、USB Type-Cで電源供給してあげると、立ち上がります。
で、DHCPでネットにつながっているので、前述のUbuntuのURLに記載の通り
arpでMACアドレスの一部をキーに検索して、IP addressを特定して、あとはsshで繋ぐのみ。
毎度おなじみTeraTerm使って、簡単にアクセス出来ました。
最初のアクセス時に、パスワードの変更を求められます。
カリフォルニア州法にも準じておりますな:-)
でもって、ifconfigが使えない...
ipコマンド使うんですかね?
ただ、ご親切にも
$ sudo apt install net-toolsすりゃ使えるよと出てくるので、インストールしておきます。
BSD4 ⇒ SVR4 ⇒ RHEL系Linuxと流れてきたので、Ubuntu分からなすぎ...
さらに18系から20系でネットワーク設定もずいぶん変わってるみたい。
管理屋泣かせだねぇ~
だいたい、私も、しばらく会社でも自宅でもLinuxを使わなくなっちゃったので、結構勘所を忘れてます(^^;
さて、このままDHCPにしておく訳にはいかないので、固定IPアドレスの設定をします。
調べてみると、正しいのは
https://ubuntu.com/server/docs/network-configuration
ここに書いてあることらしい。
そりゃ、本家本元だもんな。
とりあえず
$ cd /etc/netplan $ sudo vi 99_config.yamlして、中身をまねして書きます。
ただ、今回はIPv6も設定します。あんまIPv6の設定を書いてくれている人いないんだよね~
network: version: 2 renderer: networkd ethernets: eth0: addresses: - IPv4-address/24 - IPv6-address/64 gateway4: IPv4-gateway-address gateway6: IPv6-gateway-address nameservers: search: [localdomain-name] addresses: [IPv4-nameserver-address, IPv4-nameserver-address]nameserver指定だけ、IPv6設定の仕方が分からず、妥協しています:-p
#指定したら、スルーされちゃった..
eth0の所はディバイス名なので、らずぱい以外だと違うかも。
Wi-Fiでというならwlan0になりますが、WPAの事前設定とかが必要になるので、すぐには使えません。
変更したら、すかさず
$ sudo netplan applyします。
お次は、hostnameの変更。hostnamectlコマンドなるモノを使うのね。
$ sudo hostnamectl set-hostname new-hostname.localdomain-nameこれで変わるのはhostnameだけ。/etc/hostsは自分で書き足せということなので、書き足します。
/etc/nsswitch.comfはfiles dnsになっているので、Multicast DNSを利用しない限りは、そのままでOK。
再起動すれば、所定のアドレスでつながります:-)
さっぱりわからん!Ubuntu恐るべし!