【发布时间】:2013-07-04 19:25:23
【问题描述】:
如何在 OSX 上为 TUN 接口设置 IP 地址?如果不指定目标 IP,我无法弄清楚如何为我的接口设置 IP 地址。我不想这样做——我想或多或少地在以后的某个时间点建立一条通往任意地址的隧道。之前没有帮助的问题:
- a question 的答案不清楚,所以我尝试按照参考进行操作。
- This question 为 tun 设备设置了一个点对点 IP 地址,因此它有一个目的地,这正是我不想要的。
在osxtuntap 的页面上写着:
ifconfig tap0 10.1.2.3 up
我无法在 OSX 10.6 上使用 TUN 接口:
$ 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,我知道它是如何工作的。根据this page,您打开()界面,并使用 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 地址相关联,这样我就可以通过隧道将数据包从本地发送到远程,方法是发送数据包到删除机器上 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
【问题讨论】:
-
没有人能弄清楚对方在做什么。同样,我也完全不知道你在做什么。你想做什么?
-
我已经用我所追求的具体用例和一个例子更新了我的答案
-
为什么看在上帝的份上这个问题而不是超级用户迁移到这里?
标签: networking macos ip ifconfig tun