ubuntu14.04安装tun/tap网络设备

时间:2022-01-15 08:22:03

14.04的系统默认是没有tun设备的,所以需要通过在内核中编译时勾选此设备。接下来分步来介绍如何安装tun设备。

一、更新ubuntu桌面版源:

sudo gedit /etc/apt/sources.list
deb http://mirrors.yun-idc.com/ubuntu/ trusty main restricted universe multiverse 
deb http://mirrors.yun-idc.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.yun-idc.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.yun-idc.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.yun-idc.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.yun-idc.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.yun-idc.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.yun-idc.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.yun-idc.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.yun-idc.com/ubuntu/ trusty-backports main restricted universe multiverse
sudo apt-get update

二、编译内核源码(保证你的虚拟机存储够大,本文的虚拟机分配80G):

1、编译前准备,安装必要依赖:

apt-get install libssl-dev libncurses5-dev

2、通过如下链接下载内核版本:

https://www.kernel.org/pub/linux/kernel/

3、将下载好的内核linux-4.12.tar.xz移动到/usr/src/目录下并解压(本文下载的内核版本为4.12):

xz -d linux-4.12.tar.xz
tar -xvf linux-4.12.tar

4、内核裁剪(即将tun编译成模块),如下分三步骤,Device Drivers ---->Network Device Support----->Universal TUN/TAP device driver support:

make menuconfig

ubuntu14.04安装tun/tap网络设备

 图 1

ubuntu14.04安装tun/tap网络设备

图 2

ubuntu14.04安装tun/tap网络设备

图 3

看到图3时,Universal TUN/TAP device driver support选项为<*>,此时按键盘‘m’键,选中此选项然后保存退出。

5、编译内核

make -j2

此时make指令分别执行:make bzImage 和 make modules。内核与模块都已经编译好。此指令会生成生成相应内核版本的内核模块和vmlinuz,initrd.img,Symtem.map文件。

6、安装内核模块

make modules_install

指令执行完会在/lib/modules/目录下生成对应版本的内核模块。

ubuntu14.04安装tun/tap网络设备

图 4

7、安装内核

make install

此指令是把原先make -j2产生的System.map, vmlinux,config,initrd.img文件拷贝到/boot/目录下。

8、重启即可完成新内核的安装

ubuntu14.04安装tun/tap网络设备

图 5

三、向内核加载tun模块的

modprobe tun
lsmod | grep tun

ubuntu14.04安装tun/tap网络设备

图 6

四、过程错误汇总

1、linux 内核编译时出现scripts/sign-file.c:23:30: fatal error: openssl/opensslv.h错误的解决办法,安装libssl-dev

apt-get install libssl-dev

2、fatal error: curses.h: No such file or directory

apt-get install libncurses5-dev

五、总结

至此tun模块已加载在ubuntu14.04的内核中,前面做的工作过程中报出了一些问题,本文只提供正确的执行步骤。