1. 程式人生 > >ubuntu14.04安裝tun/tap網絡設備

ubuntu14.04安裝tun/tap網絡設備

margin 編譯 ges 完成 解決辦法 dir libssl rest ubun

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

技術分享圖片

圖 1

技術分享圖片

圖 2

技術分享圖片

圖 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/目錄下生成對應版本的內核模塊。

技術分享圖片

圖 4

7、安裝內核

make install

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

8、重啟即可完成新內核的安裝

技術分享圖片

圖 5

三、向內核加載tun模塊的

modprobe tun
lsmod | grep tun

技術分享圖片

圖 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的內核中,前面做的工作過程中報出了一些問題,本文只提供正確的執行步驟。

ubuntu14.04安裝tun/tap網絡設備