仮想NICドライバのTUN/TAPを使った時の手順・ハマり所について。 modprobe tun (忘れがち) /usr/src/linux/Documentation/networking/tuntap.txtを参考にして、プログラムから適当にtunデバイスを作成する。fd = open("/dev/net/tun"); ioctl(fd, TUNSETIFF, ifr); とすると、仮想NICが作成される。ifconfig tun0 192.168.0.1 などとして、IPアドレスを割り当てる。route add -net 192.168.1.0 netmask 255.255.255.0 dev tun0 などとして、ルーティングを設定する。これでファイルディスクリプタ fd を使って、パケットの送受信が出来るようになる。 参考: フリーのエミュレータQEMUを使おう@謎の処理系 S