そんなわけでオレオレifconfigをRubyで書く為のC拡張「ruby-netif」を書いてみました。
こんな感じにRubyスクリプトでNICを設定できるぜいえーい
eth = Netif.new("eth0") eth.up eth.mtu = 1000 eth.set_addr("172.0.0.1", "255.255.255.0") puts "addr:#{eth.addr}" puts "netmask:#{eth.netmask}" puts "broadaddr:#{eth.broadaddr}" puts "promisc?:#{eth.promisc?}" puts "up?:#{eth.up?}" puts "eth3 exists?:#{Netif.exists?("eth3")}"
取り敢えずLinuxとFreeBSDでのみ動きます。他のOSは知りません。前回の記事でNetlinkとか騒いでたくせにLinux版でNetlink使ってません(死)
どなたかNetBSD対応とかgem化とか手伝ってくださいませんかね…