14.04的系統默認是沒有tun設備的,因此須要經過在內核中編譯時勾選此設備。接下來分步來介紹如何安裝tun設備。linux
1、更新ubuntu桌面版源: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
2、編譯內核源碼(保證你的虛擬機存儲夠大,本文的虛擬機分配80G):es5
一、編譯前準備,安裝必要依賴:3d
apt-get install libssl-dev libncurses5-dev
二、經過以下連接下載內核版本:rest
https://www.kernel.org/pub/linux/kernel/
三、將下載好的內核linux-4.12.tar.xz移動到/usr/src/目錄下並解壓(本文下載的內核版本爲4.12):blog
xz -d linux-4.12.tar.xz tar -xvf linux-4.12.tar
四、內核裁剪(即將tun編譯成模塊),以下分三步驟,Device Drivers ---->Network Device Support----->Universal TUN/TAP device driver support:ip
make menuconfig
圖 1ssl
圖 2get
圖 3源碼
看到圖3時,Universal TUN/TAP device driver support選項爲<*>,此時按鍵盤‘m’鍵,選中此選項而後保存退出。
五、編譯內核
make -j2
此時make指令分別執行:make bzImage 和 make modules。內核與模塊都已經編譯好。此指令會生成生成相應內核版本的內核模塊和vmlinuz,initrd.img,Symtem.map文件。
六、安裝內核模塊
make modules_install
指令執行完會在/lib/modules/目錄下生成對應版本的內核模塊。
圖 4
七、安裝內核
make install
此指令是把原先make -j2產生的System.map, vmlinux,config,initrd.img文件拷貝到/boot/目錄下。
八、重啓便可完成新內核的安裝
圖 5
3、向內核加載tun模塊的
modprobe tun lsmod | grep tun
圖 6
4、過程錯誤彙總
一、linux 內核編譯時出現scripts/sign-file.c:23:30: fatal error: openssl/opensslv.h錯誤的解決辦法,安裝libssl-dev
apt-get install libssl-dev
二、fatal error: curses.h: No such file or directory
apt-get install libncurses5-dev
5、總結
至此tun模塊已加載在ubuntu14.04的內核中,前面作的工做過程當中報出了一些問題,本文只提供正確的執行步驟。