がらくたネット


USB-LAN

USB-LAN

サーバが小型化してきて省スペースになった分、インターフェースが削られてきた。 Ethernetポートもその一つ。その代りにUSBポートは色々と増えてきてる。 そんな時に、USB-LANデバイスでEthernetポートを増やそうと。

ただ…

起動時にデバイス名は固定されるの?どうやって認識しているの? なーんてゆ、疑問がふつふつ。

ちょっと試した結果を備忘録。

udev

udev(userspace device management)とは,カーネルが接続を検出したデバイスに対して,動的に「デバイス・ファイル」を作成して割り当てるための仕組み。

どの周辺機器が接続されたら(カーネルから通知があったら),どんなデバイス・ファイルを作るかという「対応付けルール」(udev rules)を定めた設定ファイルがある。設定ファイルは,/etc/udev/rules.d以下などに,「50-udev.rules」という形式のファイル名で保存されている。

ubuntuでLAN-USB(LUA3-U2-ATX)をやってみた

/etc/udev/rules.d/の70-persistent-net.rulesに設定が保存される

# PCI device 0x8086:0x10f0 (e1000e)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", 
ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
 
# USB device 0x0b95:0x7720 (usb)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="yy:yy:yy:yy:yy:yy", 
ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
 
# USB device 0x07a6:0x8511 (usb)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="zz:zz:zz:zz:zz:zz", 
ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

xx:xx:xx:xx:xx:xxはデバイスのMACアドレス
USB device 0xZZZZ:0xZZZZはUSBデバイスIDで、lsusbコマンドで確認できる

もし、テストとかで変なエントリが残ってしまったらテキストファイルなので、この中身から該当行を削除してしまえばよい。その際に、udevdサービスを止めることをお忘れなく。