2022年1月29日土曜日

フロスを探す

私は、長くREACHブランドのフロスを使っていたのですが、残念ながら日本での取り扱いがあるときからなくなってしまいました。しかし、以下のように米国ではまだ扱いがあるに見えます。
Reach Access Flosser Disposable Interdental Cleaner
https://www.walmart.com/ip/Reach-Access-Flosser-Disposable-Interdental-Cleaner/10316364
ではと思いamazon.comで探してみると同じものはなく、同じJ&JのListerineブランドに変わって扱いがあるようです。
Listerine Ultraclean Access Snap-On Flosser & Flosser Refill Head 28 ea, Pack for Proper Oral Care, Mint Flavor 1 ea : Beauty & Personal Care
https://www.amazon.com/dp/B00PG59X2K
日本でもないのかと思って探してみると、ハンドル部分の形は違いますが、同じようなものがありました。
リーチイージーフロッサー スターターキット 1本 | REACH(リーチ) | 歯間クリーナー 通販
https://www.amazon.co.jp/dp/B0778W3BZ1
しかし、この時点では交換用のフロスの取り扱いがありませんでした。そこで、これをamazon.comで買ってみました。日本までは約1週間ほどでした。パッケージを見てみるとREACHのフロスとまったく同じで、フロス部分も同じでした。

日本での「リーチイージーフロッサー 」の扱いがちゃんとされればよいのですが。

2022年1月27日木曜日

FreeBSDとLinuxでホスト名.localでの名前解決

FreeBSDでDNSと連動したdhcpサーバーの運用がめんどうになってきたので、FreeBSDでもホスト名.localでの名前解決ができるように設定をしました。手順は、以下の説明にようにしました。

FreeBSD 12:mdns
https://zeke.jp/dns

以下に手順を引用します。

# pkg instgall mDNSResponder
....
# pkg install mDNSResponder_nss
...
# cat /etc/rc.conf
mdnsd_enable="YES"
mdnsresponderposix_enable="YES"
mdnsresponderposix_flags="-f /usr/local/etc/mDNSResponder.conf"
# cat /usr/local/etc/mDNSResponder.conf
ホスト名
_ssh._tcp. local
22
ホスト名 ssh server
...
# cat /etc/nsswitch.conf
...
# hosts: files dns
hosts: files mdns dns
...
# /usr/local/etc/rc.d/mdns start
...
# /usr/local/etc/rc.d/mdnsresponderposix
...
#

こうするとFreeBSDからWindowsなどのPCに対して、またその逆に以下のようにpingができるようになります。

$ ping ホスト名.local 

mDNSでsshやhttpサービスを提供するホストは

Zeroconf 考察。
https://running-dog.net/2015/07/post_1544.html

の説明のように見つけることができます。以下に例をあげます。

$ dns-sd -B _ssh
Browsing for _ssh._tcp
DATE: ---Fri 22 Apr 2022---
14:40:34.422 ...STARTING...
Timestamp A/R Flags if Domain Service Type Instance Name
14:40:34.422 Add 3 21 local. _ssh._tcp. ss-mini18
^C
$

サービス名には_httpや_smbなどあり、一覧は以下のようにして見つけることができます( discover iOS device name using mDNS - https://stackoverflow.com/questions/18884422/discover-ios-device-name-using-mdns 参照)。

$ dns-sd -B _services._dns-sd._udp
Browsing for _services._dns-sd._udp
DATE: ---Fri 22 Apr 2022---
15:01:13.294 ...STARTING...
Timestamp A/R Flags if Domain Service Type Instance Name
15:01:13.294 Add 3 4 . _tcp.local. _amzn-wplay
15:01:13.294 Add 3 4 . _tcp.local. _airport
^C
$

IPアドレスは以下のようにします。

$ dns-sd -G v4 macbook.local
DATE: ---Fri 22 Apr 2022---
15:05:50.623  ...STARTING...
Timestamp     A/R    Flags if Hostname                               Address                                      TTL
15:05:50.807  Add        2  4 macboo.local.                        172.xx.yyy.zzz                               120
^C
$ 

Linux(ubuntu 20.04)については以下のようにすればよいようです。

$ sudo apt install avahi-daemon libnss-mdns
$ cat /etc/nsswitch.conf
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
$
IPv6も使う場合には以下のようにするようです。
hosts: files mdns_minimal [NOTFOUND=return] dns mdns

これだけではだめでホストでサービスの広告をしなくてはなりません。

Avahi
https://wiki.archlinux.jp/index.php/Avahi
にあるように、AvahiにはSSHサーバーを広告するサンプルがありました。
# cp /usr/share/doc/avahi/ssh.service /etc/avahi/services/
avahiはファイルが置かれたことを検知するようで、デーモンの再起動などは不要です。
そして、FreeBSDのdns-sdと同じようなことをするにはmds-scanパッケージを使います。

$ sudo apt install mds-scan
...
$ mds-scan
+ AirPortTimeCapsule802.11ac._smb._tcp.local
+ EPSON PX-504A-IOT._smb._tcp.local
...
こうしておけばLANのホスト名とIPアドレスの組の管理が少しだけ楽になります。