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网络设备的更多相关文章

  1. Ubuntu14.04安装配置web/ftp/tftp/dns服务器

    目录: 1.安装ftp服务器vsftpd --基于tcp,需要帐号密码 2.安装tftp服务器tftpd-hpa,tftp-hpa --udp 3.web服务器--使用Apache2+Mysql+PH ...

  2. Ubuntu14.04安装intel集显驱动

    Ubuntu14.04安装intel集显驱动 标签(空格分隔): ubuntu linux 驱动安装 1.查看本机显卡型号 使用lspci命令来获取PCI接口硬件信息 o@o-pc:~$ lspci ...

  3. Ubuntu14.04安装中文输入法以及解决Gedit中文乱码问题

    1 设置中文显示环境 1. 打开System Settings 2. 打开Personal-> Language Support. 会弹出如下对话框,提示你“语言支持没安装完整”. 点击“Rem ...

  4. Ubuntu14.04安装配置ndnSIM

    Ubuntu14.04安装配置ndnSIM 预环境 Ubuntu14.04官方系统 请先使用sudo apt-get update更新一下源列表 安装步骤 安装boost-lib sudo apt-g ...

  5. Ubuntu14.04 安装QQ国际版wine-qqintl

    Ubuntu14.04安装qq国际版方式: 首先下载,链接为:  https://pan.baidu.com/s/1boPitVD 密码:jp1j 也可去Ubuntu中文的Kylin(优麒麟)官网下载 ...

  6. 一.ubuntu14.04安装、亮度设置、显卡设置等一体化讲解

    一.ubuntu14.04安装 安装步骤很简单的,相信你只要知道并且决定安装ubuntu,你就不会在安装上有问题,下载网址 http://www.ithome.com/html/soft/81539. ...

  7. Ubuntu14.04安装samba

    Ubuntu14.04安装samba 按照惯例,首先介绍Samba.Samba是在Linux系统上实现的SMB(Server Messages Block,信息服务块)协议的一款免费软件.它实现在局域 ...

  8. Ubuntu14.04安装有道词典

    Ubuntu14.04安装有道词典之前要更新系统: sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade 在有道官网下载 ...

  9. ubuntu14.04 安装redis 2.8.9

    ubuntu14.04安装前准备工作,为了保证安装顺利,请先执行apt-get update 然后安装make 和gcc(已安装的可忽略) apt-get install make apt-get i ...

随机推荐

  1. Mysql 查看连接数,状态 最大并发数(赞)

    Mysql 查看连接数,状态 最大并发数(赞)   -- show variables like '%max_connections%'; 查看最大连接数 set global max_connect ...

  2. Git的搭建

    Git的搭建 第1步:官网下载安装git 第2步:github官网注册账号 第3步:配置git 第4步:github这是秘钥 第5步:上传本地工程到git 主要参考的博客(这三篇博客能让你顺利上传至g ...

  3. Markdown文本的学习

    大标题 小标题 小小标题 小小小标题 萌啊萌啊萌 斜体 萌啊萌啊萌 粗体 萌啊萌啊萌 又粗又斜 萌啊萌啊萌 我是分割线 p.s. 标准Markdown换行要打两个空格 短代码 #include < ...

  4. 字符串数据结构模板/题单(后缀数组,后缀自动机,LCP,后缀平衡树,回文自动机)

    模板 后缀数组 #include<bits/stdc++.h> #define R register int using namespace std; const int N=1e6+9; ...

  5. 自学Python3.6-算法 二分查找算法

    自学Python之路-Python基础+模块+面向对象自学Python之路-Python网络编程自学Python之路-Python并发编程+数据库+前端自学Python之路-django 自学Pyth ...

  6. 【HDU1848】Fibonacci again and again(博弈论)

    [HDU1848]Fibonacci again and again(博弈论) 题面 Hdu 你有三堆石子,每堆石子的个数是\(n,m,p\),你每次可以从一堆石子中取走斐波那契数列中一个元素等数量的 ...

  7. 「POJ3696」The Luckiest number【数论,欧拉函数】

    # 题解 一道数论欧拉函数和欧拉定理的入门好题. 虽然我提交的时候POJ炸掉了,但是在hdu里面A掉了,应该是一样的吧. 首先我们需要求的这个数一定可以表示成\(\frac{(10^x-1)}{9}\ ...

  8. 「洛谷5283」「LOJ3048」「十二省联考2019」异或粽子【可持久化01trie+优先队列】

    题目链接 [洛谷传送门] [LOJ传送门] 题目大意 让你求区间异或和前\(k\)大的异或和的和. 正解 这道题目是Blue sky大佬教我做的(祝贺bluesky大佬进HA省A队) 我们做过某一些题 ...

  9. Squid代理服务部署

    构建Squid代理服务器1.配置IP地址 2.编译安装Squid软件[root@localhost ~]# tar -zxvf squid-3.4.6.tar.gz -C /usr/src/[root ...

  10. luogu3263/bzoj4002 有意义的字符串 (数学+矩阵快速幂)

    首先我们发现$\frac{b+\sqrt{d}}{2}$这个形式好像一元二次方程的求根公式啊(???反正我发现不了) 然后我们又想到虽然这个东西不好求但是$(\frac{b-\sqrt{d}}{2}) ...