我正尝试在临时基础设施中将一台计算机连接到另外两台计算机。
[computer 1] ---- [computer 2] ---- [computer 3]
computer 2
运行 Linux 并具有单个 NIC wlan0
。我希望它连接到两台计算机computer 1
,computer 3
以便每台计算机都可以相互通信。没有可用的交换机,因此需要进行临时设置。
我当时想的是:
[computer 1]
wlan0: 192.168.1.1
[computer 2]
wlan0: 192.168.1.2
wlan1: 192.168.1.3
[computer 3]
wlan0: 192.168.1.4
对于这个例子,computer 2
可以作为其他人的“访问点”。
[computer 2]
iwconfig wlan0 essid adhoc1 mode ad-hoc
iwconfig wlan1 essid adhoc2 mode ad-hoc
然后其他计算机就可以连接,computer 2
这样我就拥有了一个网络。
这可能吗?如果可以,这样做会产生什么问题吗?
答案1
遇到了类似的问题,我正准备尝试欺骗第二和第三个虚拟设备的 MAC,以便 ifconfig 可以启动它们。只是一个想法。但我怀疑它是否会起作用,因为
iw phy0 info
产生一条线
HT TX 最大空间流:1
我的希望是
最大扫描 SSID 数:4
可能是多个连接。
编辑:通过执行以下操作来欺骗 MAC
ip link set wlan1 addres xx:xx:xx:xx:xx:xx up
不起作用,并为虚拟设备生成一个更改的 MAC 地址,但抱怨
RTNETLINK 回答:没有可用的缓冲区空间
我认为我的设备功能有限,但也许使用 IBSS、网格或其他方法可以奏效。内核 3.x 为 iw 提供了更多功能供尝试。祝您黑客愉快
答案2
大多数 WLAN 适配器一次只能连接到一个远程 MAC 地址(您可能没有可以连接到多个地址的适配器;这种情况很少见)。您需要第二个适配器才能实现此功能。