我在使 Ubuntu 14.04 上的 tun 接口正常工作时遇到问题。命令
lsmod | grep tun
和
sudo modprobe tun
什么也没有返回。甚至在 /lib/modules/ 和其他地方都找不到模块 tun.ko.gz。然而,我使用以下命令创建了一个 tun 接口,但即使使用“sudo ip link set dev tun2 up”命令,该接口也无法运行(即运行)。
openvpn --mktun --dev tun2
该接口显示在 ifconfig 中
tun2 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.0.0.1 P-t-P:10.0.0.1 Mask:255.255.255.0
UP POINTOPOINT 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)
如何强制 TUN 接口进入运行状态?我的系统是否支持 TUN 模块?为什么它没有显示在 lsmod 命令中?
答案1
问题很容易解决。只要我将进程附加到接口,它就会开始运行。我所说的附加进程是指运行“软件”,例如以下链接中的 simpletun.c。 http://backreference.org/2010/03/26/tuntap-interface-tutorial/ 运行上述代码后,接口的状态变为正在运行,通过该接口发送的数据将显示在 tcpdump 中。希望这个答案能对其他人有所帮助。