【江ノ島〜飲み会と・・・】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
って感じですよ

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://yutarozaemon.asablo.jp/blog/2023/11/17/9635151/tb