dhcp-evalの使い方
自宅ネットワークでは、利用する機器の状態を把握するために固定IPアドレスを割り振っているが、DHCP の hardware ethernet で、Mac アドレスをみて配布している。この DHCP のリース時に、状態に合わせた処理を起動するための機能がある。
- dhcp-eval(isc-dhcp のマニュアル)
on commit などで script を実行
on commit , on release , on expiry を設定すると、IPアドレス割り振り時にプログラムを起動できる。
# vi /etc/dhcp/dhcpd.conf
:
# IPアドレス割り振り時に on-commit.sh を起動
on commit {
set clip = binary-to-ascii(10, 8, ".",
leased-address);
set clhw = binary-to-ascii(16, 8, ":",
substring(hardware, 1, 6));
execute("/etc/dhcp/on-commit.sh", clip, clhw);
}
# vi /etc/dhcp/on-commit.sh
#!/bin/bash
# IPアドレスを割り振り時にメールを送る
IP=$1
MAC=$2
if [ -n "$IP" -a -n "$MAC" ]; then
echo "$IP $MAC" \
| /usr/bin/mail -s "dhcp on commit" foo@example.com
fi
on commit の例で示した方法は、DHCPがアドレスをリースする度に呼び出される。スクリプトは同期して行われるため、遅い処理の場合には アドレス割り振りに支障がでるかもしれない。よって、スクリプトはシンプルなものを使う必要がある。
自宅では、host { fixed-address … } で、固定しているとはいえ WiFi なスマホだと、電波強度不足で再接続が発生する時だと、頻繁にメールが届くことになる。接続情報を保存するなどの Script を書かないとウザぃ。
host 毎に script を実行
こういうことができると、状況に合わせてリースを制御したくなる。自宅で使う場合だと、子供が長い時間使っている場合には、IPアドレスのリースを失敗させて、ネットワーク接続を切りたいかもしれない。
こういう場合には、host … { } の中に、execute を埋め込むことができる。しかも、execute で実行される script の返り値で、lease を失敗させることもできる。
# /etc/dhcp/dhcpd.conf
:
host game-machine {
hardware ethernet 00:11:22:33:44:55 ;
fixed-address 192.168.11.222 ;
execute( "/etc/dhcp/lease-check.sh ,
"192.168.11.222" ,
"00:11:22:33:44:55" ) ;
}
# vi /etc/dhcp/lease-check.sh
#!/bin/bash
# DHCP接続を判定する script
IP=$1
MAC=$2
if [ -n "$IP" -a -n "$MAC" ]; then
if [ アドレスを許可する条件 ]; then
# 接続許可
exit 1
else
# 接続禁止
exit 0
fi
fi
注意: 最初 lease-check.sh は許可するときに shell-script 成功時を表す exit 0 を返せばいいとおもったけど、逆だったな。
EdgeRouter-X で ssh 公開キーの登録
CUIで登録する方法
EdgeRouter-X で ConfigTree で設定できる項目は増えていて、WebUI で登録できそうなんだけど、失敗するので、CUI で登録する。
((接続元)) $ cat ~/.ssh/id_pub.rsa
ssh-rsa XXX….XXXX xxxx@server
((EdgeRouter))
$ configure
# set system login user xxxx
authentication public-keys
xxxx@server
type
ssh-rsa
# set system login user xxxx
authentication public-keys
xxxx@server
key
XXX….XXXX
# commit # save # exit
WebUIで登録する方法
設定ができた後だと、ConfigTree に設定内容が反映されて、WebUI での正しい設定のやり方が分かった。


mineo回線のdocomoプラン切り替え
お兄ちゃんは帰省してくると、大学内のシステムに接続する時に、自宅ルータと大学のVPNルータとアドレスが重複するため繋がらない問題があった。このため、帰省中にレポート提出…だと、WiFiルータを貸していたりしたけどやっぱり不便。
携帯でテザリングすれば簡単なんだけど、mineoのauプランは、携帯でのテザリングを許可していない。ということで、テザリグが許可されているdocomoプランへの変更となった。
同じmineoの中のプラン変更といえど、番号を変えないためには新しくSIMを発行して、MNP と同じ手順を踏む必要があって面倒だったけど、無事開通。
www.googleapis.comの名前引き
自宅では、予定を google-home で自動で喋らせたりするために、gcalcli などのコマンドを使っている。しかし、最近エラーで予定取得に失敗することが増えた。python 関係のライブラリの更新の不整合かと思っていたが、どうも www.googleapis.com の問題のよう。
gcalcli がエラーになったり、成功したりと再現性がないので、エラーメッセージで www.googleapis.com に接続できないっていうし、”nslookup www.googleapis.com” を実行すると、名前引きに失敗する。しかしながら、”nslookup www.googleapis.com 8.8.8.8″ なら成功する。何度か調べていると、通常の nslookup でも名前がひけたりする。意味不明。
bind の設定は….以前、セキュリティ対策で導入した、”OpenDNS (Cisco Umbrella)”を使うようになっている。これが原因か…。bindの設定を修正して、安定して gcalcli が動くようになったかな。
# Cisco Umbrella は、怪しいサイトの可能性の場合、名前引きを失敗させる Open な DNS
Google API を使った攻撃があるのか? OpenDNS にグレー判定されてんの?
au iPhone X SIMロック解除
子供の mineo の A/D プラン変更の見直しを考えつつ、自分の iPhone X も購入から 180日を経過し、SIMロック解除ができる時期。特に、契約を変更するつもりはないけど、必要に応じて別 SIM も使えるようにロック解除しておくか。
と思って、解除手続きをやろうとしたら、21:30 までなので、出直し。
mineo契約をDプランに変更する?
大学に進んだお兄ちゃんがそろそろ夏休みだし、帰省の準備。
大学VPNに接続できない
お兄ちゃんの大学では、学生向けシステムを学内・契約アパート・VPN接続に制限している。帰省している時にレポート提出などのために、VPN 経由で使おうとしたけど、自宅ネットワークで 192.168.1.x を使っているため、大学側VPNルータとアドレスが重複して接続できなかった。
ポケットWiFiルータを使えば接続できるけど、その度に貸し出すのもなんだし、スマホのテザリングでつなぐのが普通だろう。
mineo Aプランではテザリングできない
ただ、お兄ちゃんのスマホは、最初がパパおさがりのiPhone5(SIMロックあり)だったので、mineo の Aプラン(au回線による接続)になっている。んで、mineo の Aプランは、サービスの制限からテザリングができない。一方、mineo の Dプラン(docomo回線による接続)では、テザリングが使える。
SIMフリーだし、mineo Dプランに変更でいい
お兄ちゃんのスマホは、お下がりiPhone5が故障で、Apple Store から購入した SIM フリーな iPhone SE に切り替えているから、au 回線に縛られる必要はなくなっている。mineo の Aプラン⇔Dプラン 変更は、2000円ほどでできるから、この夏休みを前に、プラン切り替えしたほうがいいだろうな…
テザリングができれば、帰省時以外でも、出先でパソコンをネットに繋げられるし、便利なはず。
OK Google, radiko でFM福井をかけて
FM福井さんで、サイマルキャスト放送が7/2(月)から始まった。
これで、Google Homeで「OK google, radiko で FM福井をかけて」ができるようになった。radiko で FBCラジオの再生はできたけど、FBCラジオではBGM的に音楽をかけるには程遠い番組だったけど、FM福井ならなかなかいい。



