NetBSDでdevpubd(8)を使ってみる

これは、NetBSD Advent Calendar 2020の12日目の記事です。

はじめに

USB接続のEthernetアダプター(cdce(4))を使っています。 これをUSBレセプタクルに挿した時に、自動的にIPv6のユニークローカルアドレスを割り当ててくれると大変助かると考えていました。 どうやら、devpubd(8)というデーモンを使うと、うまく行くのかもしれないと考えて試してみました。

devpubd(8)を実行してみる

devpubd(8)をフォアグラウンドで動かしてみて、cdce(4) USB Ethernetアダプターを挿した際にどのように動作するのか確認してみましょう。

# devpubd -f
devpubd_eventloop: event='device-attach', device='uhub4'
devpubd_eventloop: event='device-attach', device='uhub5'
devpubd_eventloop: event='device-attach', device='cdce0'

これで、イベントはdevice-attachで、 デバイスはcdce0であることが分かりました。

devpubd(8)が実行するスクリプトを用意する

devpubd(8)には 1つ目のcdce(4)であるcdce0が認識された時にだけ実行して欲しいので、 以下のようなスクリプトを/libexec/devpubd-hooks/03-cdce-ipv6 に置くことにしました。

#!/bin/sh
#
# $NetBSD$
#
# Assign IPv6 address for local connection when cdce0 is detected.
#

event="$1"
shift
devices=$@

for device in $devices; do
	case $device in
	cdce0)
		case $event in
		device-attach)
			ifconfig $device inet6 fd00:5100::1/64 
			;;
		device-detach)
			;;
		esac
		;;
	esac
done

これで、cdce(4)デバイスを最初に挿した際に自動的に設定がされて非常に便利になりました。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

pkgsrc/mail/dkimproxyを使ってみたが、受信時の動作は、現在の用途には合わないようだった

とある過去に利用者のいたドメインを所有しているのだが、相当に雑な運用だったようで、いまだにSPAM以外の電子メールが来るし、 そのドメインの存在しないアカウントを装った電子メールが多く送信されているようだった。 しばらく、キャッチオール設定をして受信してみて気付いた...