OSX で TUN インターフェイスの IP アドレスを設定するにはどうすればよいですか? 宛先 IP を指定せずにインターフェイスの IP アドレスを設定する方法がわかりません。私はそれをしたくありません-後で任意のアドレスへのトンネルを多かれ少なかれ構築したいと思っています。役に立たない以前の質問:
- 答えが不明な質問があったので、参考文献に従ってみました。
- この質問は、tun デバイスのポイント ツー ポイントの IP アドレスを設定するため、目的地がありますが、これはまさに私が望んでいないことです。
osxtuntapのページには次のように書かれています。
ifconfig tap0 10.1.2.3 up
TUN インターフェイスの OSX 10.6 でこれを機能させることはできません。
$ sudo ifconfig tun0 10.1.2.3 up
ifconfig: ioctl (SIOCAIFADDR): Destination address required
ネットマスクを追加しても役に立ちません-OSXは宛先アドレスを要求しているようです:
$ ifconfig tun0 10.0.0.1/24 netmask 255.255.255.0
ifconfig: ioctl (SIOCAIFADDR): Destination address required
Linuxの場合、それがどのように機能するかがわかります。このページによると、インターフェイスを open() し、 ip コマンドを使用してこれを実行します。これまでに問題なく実行しました。
$ ip link set tun0 up
$ ip addr add 10.0.0.1/24 dev tun0
私がやりたいことは、Linuxでできることと同じです。
編集:
私は小さなUDPトンネルアプリを書いています。そのようです:
tun1 -> udp アプリ #1 -> udp トンネル -> udp アプリ #2 -> tun2
udp アプリが異なるコンピューター (ローカルとリモートとしましょう) にある場合、それぞれの tun デバイスを IP アドレスに関連付けたいと思います。 remove マシン上の tun デバイスの IP アドレス。
Linux チュートリアルからさらに借りるために、作成者はローカルとリモートで tun デバイスをセットアップし、ips を関連付け、単純なトンネリング アプリを実行してから、トンネルの反対側に ping を送信します。
[remote]# ip link set tun3 up
[remote]# ip addr add 192.168.0.2/24 dev tun3
[remote]$ ./simpletun -i tun3 -s
# server blocks waiting for the client to connect
[local]# ip link set tun11 up
[local]# ip addr add 192.168.0.1/24 dev tun11
[local]$ ./simpletun -i tun11 -c 10.2.3.4
# nothing happens, but the peers are now connected
[local]$ ping 192.168.0.2