SSブログ
Raspberry Pi ブログトップ

Pi4 Ubuntu 20.04 LTSで時刻設定 [Raspberry Pi]

今頃ですが、syslogの時刻がJSTじゃないことに気が付きました(^^;
そーいや、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しなくても、すぐに反映されるようです。
nice!(24)  コメント(0) 
共通テーマ:パソコン・インターネット

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).

で、エラー。
でも
$ 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にきちんとアクセス出来ることが確認出来たので、こっちで運用かな。
nice!(9)  コメント(0) 
共通テーマ:パソコン・インターネット

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なるモノもあるので、これも入れます。
$ sudo apt install radvd
$ sudo apt install radvdump
manとかないんですよ...
ってなことで
https://linux.die.net/man/5/radvd.conf
こちら参照しながらです。

パッケージインストール直後に、起動させようとして、/etc/radvd.confが無いから起動出来ないよんと言って、落ちるので、わかりやすい奴です。
GitHubにサンプル
https://github.com/reubenhwk/radvd/blob/master/radvd.conf.example
もあります。

radvd使ってやりたいことは...
home-network-05.jpg
こういうこと。

とりあえず
$ 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を再起動して、試してみましょう。
home-network-06.jpg
でけた:-)

実は、最初に試していたときは、ZZZZ:YYYY:XXXX:WWWW::/64への経路情報がDHCP6 clientに設定されず、アドレスとname serverアドレスは期待値なんだけど、経路情報が無いのでname serverにパケットが届かず、使えない状態でした。
ipconfigコマンドだけ使っていると、静的に設定しているDesktop環境との差が分かりません。
routeコマンドを使って、気づきました。
でも、WindowsってUNIX由来のコマンドだと、あまり細かいことが出来なくて...
PowerShellでnetshコマンドを使うことになります。

この辺は、次回。
nice!(20)  コメント(0) 
共通テーマ:パソコン・インターネット

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) 
共通テーマ:パソコン・インターネット

今日のらずぱいネタはこれでおしまい [Raspberry Pi]

久々に、あそべそー!
ってことで、このままやってると、年を越しちゃうので、今日のらずぱいネタは、ここで一区切り。
明日、また、あそぼっと!

で、ちょっと悪あがき。
前の記事で
          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の立ち上げかな。
nice!(10)  コメント(0) 
共通テーマ:パソコン・インターネット

Raspberry Pi4 8GBでUbuntu 20.04 LTS [Raspberry Pi]

翌日午前中に頼んでおいたモノが届きました。
raspberry-pi4-04.jpg
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恐るべし!
nice!(11)  コメント(2) 
共通テーマ:パソコン・インターネット

らずぱい4導入 [Raspberry Pi]

年の瀬の秋葉原へRaspberry Pi 4を買いに行ってきました。
ま、ネット通販でもいいのですが、待ってる時間が惜しかった:-p
marutsu-akihabara-202012.jpg
マルツ秋葉原本店。

買ったのはこちら。
raspberry-pi4-00.jpg
らずぱいは8GB版。下手なNote PCよりメモリー潤沢です。
これが、1万円以下で買える、いい世の中になったもんです。
もち、技適取得されているので、Wi-Fiも使えるのですが、今回は利用しません。

でですね、わざわざ買いに行ったのは、その下の箱、冷却機能付きのケースが欲しかったんですね。
https://emu-corp.com/manufacture/raspberrypie/raspberrypi4
これ。通販でも在庫2個、店頭に出てたのは1個でした。
危ない危ない...

秋葉原まで行ったついでに、はす向かいのじゃんがらでラーメン食べ納め:-)
jyangara-ramen-202012-0.jpg
jyangara-ramen-202012-1.jpg
jyangara-ramen-202012-2.jpg
jyangara-ramen-202012-3.jpg
じゃんがらも、色々あったのですね。潰れなくて良かった:-)

jyangara-ramen-202012-4.jpg
角肉味玉+替え玉しました。
また来年!

で、おうち帰ってきて、開封。
raspberry-pi4-01.jpg
ちっさい!
これでQuad Core Cortex-A72載ってて、GbEありHDMIも4K out x2で、USB3.0もx2。
すばらしー!!!

これに、サーマルパッドを指示に従って、ペタペタ貼り付けて、蓋をして完成。
raspberry-pi4-03.jpg

とりあえず、ヨドバシ秋葉原で買ってきたmicro SDカードにイメージを焼いて、起動してみましたが、現状のRaspberry Pi OSのstable版って32-bit版しか無いのね。
raspberry-pi4-05.jpg
これじゃ4GBまでしか使えない...
それにしても、書き込みにえらく時間がかかります。

ということで、サクッとUbuntu 20.04 LTS Server (64-bit)に切り替えることにしました:-)
nice!(9)  コメント(0) 
共通テーマ:パソコン・インターネット
Raspberry Pi ブログトップ