0

我的客户端电脑上有两个隧道设备 tun0 和 tun1 连接到远程 OpenVPN 服务器。ifconfig 将它们显示为

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.0.128.23  P-t-P:10.0.128.23  Mask:255.255.128.0
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

tun1      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.0.128.24  P-t-P:10.0.128.24  Mask:255.255.128.0
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

现在我尝试通过执行此命令来绑定这些设备

sudo modprobe bonding miimon=100 mode=balance-rr
sudo ifconfig bond0 10.2.1.4 netmask 255.255.255.0
sudo ifenslave bond0 tun0
sudo ifenslave bond0 tun1

但是 ifenslave 命令失败 throwign 以下消息

ifenslave.c:v1.1.0 (December 1, 2003)
o Donald Becker (becker@cesdis.gsfc.nasa.gov).
o Detach support added on 2000/10/02 by Willy Tarreau (willy at meta-x.org).
o 2.4 kernel support added on 2001/02/16 by Chad N. Tindel
  (ctindel at ieee dot org).
ABI ver is 2
Interface 'tun0': flags set to 10D0.
Interface 'tun0': address cleared
Master 'bond0': Error: SIOCSIFHWADDR failed: Invalid argument
Master 'bond0': Error: set hw address failed
Slave 'tun0': MTU set to 1500.
Master 'bond0', Slave 'tun0': Error: Enslave failed

有什么问题。首先可以绑定两个隧道设备吗?

4

3 回答 3

4

您不能绑定两个 TUN 设备,因为它们没有 MAC 地址。绑定需要MAC 地址才能运行。请注意,绑定设备继承其中一个从属设备的 MAC 地址。

尝试使用 TAP 设备(而不是 TUN),有人声称它可以工作(我自己没有尝试过)。

于 2014-10-01T09:24:48.630 回答
0

您需要在bond0设备上设置硬件地址:

ifconfig bond0 hw ether 00:11:22:33:44:55

于 2012-07-25T11:28:02.313 回答
0

试试看https://forums.openvpn.net/topic14153.html#p37300

简而言之,他们建议:

  • 将绑定“模式”设置为“balance-xor”而不是“balance-rr”:具有多个连接的更高吞吐量(无数据包重新排序)

  • 将“xmit_hash_policy”设置为“layer3+4”:TUN 接口没有 MAC 地址,因此在上层进行平衡(源/目标 IP + 源/目标端口)

于 2015-01-05T20:40:12.980 回答