【江ノ島〜飲み会と・・・】 ― 2023/11/19
昨日は8時過ぎに出て、江ノ島。往路が向かい風。
帰ってきて3時過ぎ〜練馬まで行って飲み会。高校の時の仲間5人と神戸、タイの2人はリモート参加。いい感じで盛り上がって、帰宅が0時過ぎ。
この前、ubuntuのDHCPに別のIPを固定で割り当てる話をしたんだけど、今日はその続きの話を聞いてもらいます。
IPアドレスを追加するコマンドは・・
/sbin/ip address add 192.168.0.222/24 dev wlo1 > /dev/null
DHCPは第4オクテットの若い番号から使うから222みたいな大きな番号はつかわないのよ。
マシンがブートした時にこのコマンドを自動的に実行したいんだけど、無線LANのインターフェースが有効になってからじゃないとこのコマンドは使えないから、それまで待たなきゃいけない。
無線が有効になったかどうかはping 8.8.8.8がチャント返ってくるかを待てば良くて、unreachableだったら、sleepしてからまたやればいい。
そこで、シェルを描いて・・・
#!/bin/sh
ADD_IPLOG=/home/xxx/addip.log
echo "`date`" > $ADD_IPLOG
i=0;
while [ $i -lt 10 ]
do
ping -c1 8.8.8.8 > /dev/null
if [ $? = 0 ]; then
/sbin/ip address add 192.168.0.222/24 dev wlo1 > /dev/null
if [ $? = 0 ]; then
echo "$i: addip completed" >> $ADD_IPLOG
break
else
echo "$i: failed to addip $?" >> $ADD_IPLOG
fi
else
echo "$i: ping to 8.8.8.8 unreachable" >> $ADD_IPLOG
fi
sleep 10
i=$(( i + 1 ))
done
exit
こんな感じでね。
これをサービスとしてoneshotで実行するように・・・/etc/systemd/system/auto_addIP.serviceに登録してやって、これをサービスとして有効にしてやる。
systemctl enable auto_addIP.serviceって感じね。
これでrebootして出力されたログが・・・
2023年 11月 17日 金曜日 16:48:26 JST
0: ping to 8.8.8.8 unreachable
1: addip completed
なので、10秒待てば大丈夫ということが解る。
10秒は長いので、インターバルを2秒にしてみようかね。
2023年 11月 17日 金曜日 18:52:26 JST
0: ping to 8.8.8.8 unreachable
1: ping to 8.8.8.8 unreachable
2: ping to 8.8.8.8 unreachable
3: addip completed
って感じですよ
最近のコメント