2014年2月5日水曜日

Mac OS X で TUN/TAP 仮想ネットワークデバイス

仮想ネットワークデバイスを Mac OS X で試してみたくて調べてた。TUN/TAP は共に仮想ネットワークデバイスの仕組みで、名前自体は知ってたけれど違いがよく分かってなかったので改めて調べてみると、

TAP : データリンク層を操作する仮想デバイス
TUN : ネットワーク層を操作する仮想デバイス

ていうことらしい。TAPはソフトウェアルータ、TUNはソフトウェアブリッジに使える、っていう理解でいいのかな。

Mac OS X 用の TUN/TAP ドライバは下記からダウンロードできる。
http://tuntaposx.sourceforge.net/

インストールは特に難しいことはなくて、インストーラの指示に従えば完了する。

インストールが完了しても、システム設定画面などに変化はない。ただ、/dev を見てみると、tun0〜tun9 と tap0〜tap9 のデバイスが新たに作られているのが分かる。

ごく簡単な使い方の例としてはこんなスクリプトを見つけた。
http://lakm.us/logit/2013/01/handy-tap-interface-mac-osx/

上記リンク先からちょっと引用しよう。

#!/usr/bin/python
 
import os
while 1:
 try:
  file_path = '/dev/tap1'
  dev_file = os.open(file_path, os.O_RDWR)
  interface = 'tap1'
  while 1:
   pass
 except:
  print "tap interface is closing"
  exit()
  break

これを setup-tap1.py として保存したら、

[root]# ./setup-tap1.py &
 

て感じでバックグラウンドで実行する。
すると ifconfig で tap1 が出現するようになるので、IP アドレスの設定なども可能。

と、この辺まで調べたあたりで、TUN/TAP 仮想ネットワークデバイスとは別の方法を検討し始めたので今回はここまで。

※この記事について指摘・意見・提案・感想などありましたら下のコメント欄にどうそ。

0 件のコメント:

コメントを投稿