サイトを移転しました 5秒後に新しいサイトに移動します

新しいサイト

1. オプション

オプションは次のとおりです。
-net nic -net tap,ifname=my-tap
ifnameをTapの名前をセットするのに使ってください。
my-tapは、自分のTAP-Win32 Adapterの名前です。

2. ネットワークカード

NE2000 PCI、RTL8139、PC-NET、NE2000 ISAのネットワークカードを使うことができます。
こちらを見て下さい。
-net nic -net tap,ifname=my-tap
-net nic,model=rtl8139 -net tap,ifname=my-tap
-net nic,model=pcnet -net tap,ifname=my-tap
-M isapc -net nic -net tap,ifname=my-tap


3. Tapアダプタのインストール

OpenVPNのOpenVPN ver.2.0を使ってください。Windows 2000/XPがサポートされますが、Windows 98/Meでは使えません。nameは、コントロールパネルのネットワークとダイアルアップ接続のTAP-Win32 Adapter V8の接続名です。もし、ローカルエリア接続2とか3になっていたら名前を変えてください。
こうすることでも確認できます。

[Dos Prompt] openvpn --show-adapters
Available TAP-WIN32 adapters [name, GUID]:
'my-tap' {xxx-yyy-zzz}

そして、my-tapのプロパティーからIPアドレスを設定します。

物理ネットワークと同じネットワークアドレスを使わないでください。
たとえば、物理ネットワークが192.168.0.xのとき、TAP-Win32 Adapterに異なったIPアドレス192.168.200.yを使ってください。
必ず再起動してください。

4. ホストOSとゲストOSの間の接続

以下のように使います。

[Dos Prompt] qemu.exe -L .\pc-bios -hda .\linux.img -net nic -net tap,ifname=my-tap

プログラムが動いていないときは、このようなアイコンが表示されますが、プログラムが動くと消えます。


このとき、ホストOS(Windows2000/XP)で、ipconfig /allは次のようになります。


ゲストOSとしてLinuxを使う場合は、次のように設定します。

guest OS# modprobe ne2k-pci
guest OS# ifconfig eth0 192.168.200.11
guest OS# route add default gw 192.168.200.10 eth0

guest OS$ ping 192.168.200.10

ホストOSからもpingは使えるはずです。

host OS$ ping 192.168.200.11

Tap Adapterは、有効/無効を切り替えることができます。Tap Adapterのアイコン上で右クリックをして、有効にする/無効にするを選んでください。パソコンを再起動する必要はありません。プログラムの実行前に有効にしてください。

5. Windows 2000の場合のインターネットへの接続

ホストOSがWindows 2000だと、インターネットを見るのは手間がかかります。Windows XPのほうが簡単です。インターネット接続共有機能Internet connection Sharing(ICS)を使ってください。

まず、ICSを使う場合、TapアダプタのIPアドレスは、強制的に192.168.0.1になります。そのため、インターネットとの接続にルーターを用いて、ルーターを192.168.0.1にしているとネットワークが使えなくなります。まず、ルーターの設定を192.168.1.xなどのネットワークを用いるよう設定してください。

次に、現実のアダプタ上で右クリックをして、プロパティを選びます。共有タブの画面にして、共有を使用可能にするにチェックをいれて、OKを押します。すると、TapアダプタのIPアドレスが設定されます。


ゲストOSのIPアドレスを192.168.0.2に設定します。すると、ゲストとホストの両方からpingできるようになります。また、プロバイダからもらったDNSサーバのアドレスをゲストOSに設定すると、インターネットが使えるようになります。

6. VLANと一緒に使う方法

1つのTap for Win32 Adapterと2つのゲストOSを使います。

                                             ICS
     Redhat1  NE2000 ----------- Host TAP --------- Host NIC -------- Router------ Internet
        192.168.0.2       |    192.168.0.1       192.168.100.2    192.168.100.1
                          |      (fixed)                           (DNS server)
               Redhat2 NE2000
                      192.168.0.3
インターネットに接続するには、ICSを使う必要があります。上記を見てください。Tap for Win32のIPアドレスは、192.168.0.1に固定されます。

コマンドラインは以下のとおりです。
term1$ qemu -L ./pc-bios -hda redhat1.img -net nic -net tap,ifname=my-tap
                  -net socket,listen=localhost:1234
term2$ qemu -L ./pc-bios -hda redhat2.img -net nic,macaddr=52:54:00:12:34:01
                  -net socket,connect=localhost:1234
2つめのゲストOSでは、macaddrを指定する必要があります。

ゲストOSの設定は以下のとおりです。
Linuxゲストの場合
Redhat1 guest> ifconfig eth0 192.168.0.2
Redhat1 guest> route add default gw 192.168.0.1 eth0

Redaht2 guest> ifconfig eth0 192.168.0.3
Redhat3 guest> route add default gw 192.168.0.1 eth0
そして、それぞれのゲストOSで、DNSのサーバーを/etc/resolve.confに設定します。
nameserver 192.168.100.1
Windows 98ゲストの場合
コントロールパネルー>ネットワーク
TCP/IP->Realtek RTL8029(AS) PCI Ethernet NIC -> プロパティ
IP アドレス ->192.168.0.2 & 255.255.255.0
ゲートウェイ -> 192.168.0.1 -> 追加
DNS 設定-> DNSを使う -> ホスト ->192.168.100.1(あなたのDNSサーバー) -> 追加


結果:
ping、ssh、telnetは、うまく動作します。
lynxもうまく動きます。

7. 注意

ZoneAlarmを使うと、pingが使えませんでした。ファイアーウォールソフトが通信をブロックするかもしれません。
物理ネットワークと同じネットワークアドレスを使わないでください。
たとえば、物理ネットワークが192.168.0.xのとき、異なったネットワーク192.168.10.yを使ってください。


ホーム