1. 下载xl2tpd源码

推荐一个仍在维护的网站:    https://www.xelerance.com/archives/202

也可以从其他的网站下载:例如:https://pkgs.org/download/xl2tpd

我安装时是从第一个网站下载的源码,版本是xl2tpd-1.3.15

2. ubantu虚拟机中进行编译、安装

首先解压源码,之后正常是读取源码中的README之类的文件:

这里的文件为README.md, 里面有一句编译的说明:

# Build and install
make
sudo make install

编译比较简单直接make,然后make install 即可。

root@book-virtual-machine:/usr/src/xl2tpd-1.3.15# make clean
rm -f xl2tpd.o pty.o misc.o control.o avp.o call.o network.o avpsend.o scheduler.o file.o aaa.o md5.o xl2tpd pfc.o pfc xl2tpd-control
root@book-virtual-machine:/usr/src/xl2tpd-1.3.15# make
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o xl2tpd.o xl2tpd.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o pty.o pty.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o misc.o misc.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o control.o control.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o avp.o avp.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o call.o call.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o network.o network.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o avpsend.o avpsend.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o scheduler.o scheduler.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o file.o file.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o aaa.o aaa.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o md5.o md5.c
cc -o xl2tpd xl2tpd.o pty.o misc.o control.o avp.o call.o network.o avpsend.o scheduler.o file.o aaa.o md5.o
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c contrib/pfc.c
contrib/pfc.c:14:23: fatal error: pcap-bpf.h: No such file or directory
compilation terminated.
Makefile:130: recipe for target 'pfc' failed
make: *** [pfc] Error 1

第一个问题出现:make失败,原因是缺少pcap-bpf.h。之后百度发现这是libpcap工具里的一个文件,那么就安装libpcap工具。

3. 下载工具:libpcap

这个工具可能不是必须要安装的,因为有的虚拟机可能以前安装过该工具就无需再安装。

因为在编译xl2tpd源码的时候需要连接相关文件,如:pcap-bpf.h,如果没有从默认搜索路径没有找到该文件则会产生错误。

pcap官网地址:http://www.tcpdump.org/release/

从该网站上下载一个libpcap源码,进行编译安装。

4. 编译安装:libpcap

首先虚拟机中解压:

root@book-virtual-machine:/usr/src# tar xzf libpcap-1.9.1.tar.gz 

之后查看源码中的README信息,提供编译信息的为INSTALL.md。

简单的说:

1) ./configure

2)  make

3)  make install 

这几步没有出现问题,开始编译安装xl2tpd源码

5. 重新编译安装:xl2tpd

再次执行 : make   结果成功。

root@book-virtual-machine:/usr/src/xl2tpd-1.3.15# make
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o xl2tpd.o xl2tpd.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o pty.o pty.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o misc.o misc.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o control.o control.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o avp.o avp.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o call.o call.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o network.o network.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o avpsend.o avpsend.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o scheduler.o scheduler.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o file.o file.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o aaa.o aaa.c
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c -o md5.o md5.c
cc -o xl2tpd xl2tpd.o pty.o misc.o control.o avp.o call.o network.o avpsend.o scheduler.o file.o aaa.o md5.o
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION -c contrib/pfc.c
cc -o pfc pfc.o -lpcap
cc -DDEBUG_PPPD -DTRUST_PPPD_TO_DIE -Os -Wall -Wextra -DSANITY -DLINUX -I./linux/include/ -DUSE_KERNEL -DIP_ALLOCATION xl2tpd-control.c -o xl2tpd-control

然后进行安装 make install:

root@book-virtual-machine:/usr/src/xl2tpd-1.3.15# make install
install -d -m 0755 /usr/local/sbin
install -m 0755 xl2tpd /usr/local/sbin/xl2tpd
install -d -m 0755 /usr/local/share/man/man5
install -d -m 0755 /usr/local/share/man/man8
install -m 0644 doc/xl2tpd.8 /usr/local/share/man/man8/
install -m 0644 doc/xl2tpd-control.8 /usr/local/share/man/man8/
install -m 0644 doc/xl2tpd.conf.5 doc/l2tp-secrets.5 \
/usr/local/share/man/man5/
# pfc
install -d -m 0755 /usr/local/bin
install -m 0755 pfc /usr/local/bin/pfc
install -d -m 0755 /usr/local/share/man/man1
install -m 0644 contrib/pfc.1 /usr/local/share/man/man1/
# control exec
install -d -m 0755 /usr/local/sbin
install -m 0755 xl2tpd-control /usr/local/sbin/xl2tpd-control
root@book-virtual-machine:/usr/src/xl2tpd-1.3.15#

安装成功,开始享受xl2tpd之旅。

ubantu 编译安装xl2tpd笔记的更多相关文章

  1. 2020ubuntu1804server编译安装redis笔记(一)及报make test错误解决办法

    redis的大名我想大家都不陌生,今天在ubuntu server上进行编译安装,虽然apt也可以安装,但作为内存数据库,redis又是c开发的,编译安装,对机器的适应和性能更好. 安装笔记如下 第1 ...

  2. 2020ubuntu1804server编译安装redis笔记(三)启动服务和使用redis

    第一篇笔记记录了ubuntu1804server编译安装redis5,接下来要配置redis5了 网址:https://www.cnblogs.com/qumogu/p/12435694.html 第 ...

  3. 2020ubuntu1804server编译安装redis5笔记(二)配置redis

    前一篇笔记记录了ubuntu1804server编译安装redis5,接下来要配置redis5了 网址:https://www.cnblogs.com/qumogu/p/12435694.html 第 ...

  4. mysql5.5.28.tar.gz编译安装操作笔记

    1.yum安装依赖包 yum install wget gcc gcc-c++ make cmake ncurses-devel libtool zilib-devel -y   2.创建mysql用 ...

  5. Sqlite学习笔记(一)&&编译安装

    Sqlite简介 sqlite是一个开源的嵌入式文件数据库,sqlite以动态链接库的方式供应用程序调用,所有的数据库对象都存储在同一个文件中. sqlite动态库非常小,最新的3.8.11版本也只有 ...

  6. Ubuntu 14 编译安装 PHP 5.4.45 + Nginx 1.4.7 + MySQL 5.6.26 笔记

    Ubuntu 14 编译安装 PHP 5.4.45 + Nginx  1.8.0/1.4.7 + MySQL 5.6.26 笔记,主要是给自己的PC机安装,非生产环境! 一.下载必要的源码 1.1.下 ...

  7. Centos编译安装PHP 5.5笔记

    本篇是在 Centos 6.4 32bit 下编译安装 php 5.5.5 的笔记,接上篇 Centos编译安装Apache 2.4.6笔记.php 5.5.x 和 centos 源里面的 php 5 ...

  8. 沈逸老师ubuntu速学笔记(2)-- ubuntu16.04下 apache2.4和php7结合编译安装,并安裝PDOmysql扩展

    1.编译安装apache2.4.20 第一步: ./configure --prefix=/usr/local/httpd --enable-so 第二步: make 第三步: sudo make i ...

  9. 对<< ubuntu 12.04编译安装linux-3.6.10内核笔记>>的修正

    前题: 在前几个月的时候,写了一篇笔记,说的是kernel compile的事情,当时经验不足,虽说编译过了,但有些地方写的有错误--因为当时的理解是有错误的.今天一一更正,记录如下: 前文笔记链接: ...

随机推荐

  1. 配置多个git用的ssh key

    参考 http://www.sail.name/2018/12/16/ssh-config-of-mac/ 有一点注意 Host 的名字和 HostName改为一致. 因为从git仓库复制的地址是全程 ...

  2. HttpRunner3源码阅读:7.响应后处理 response.py

    response 上一篇说的client.py来发送请求,这里就来看另一个response.py,该文件主要是完成测试断言方法 可用资料 jmespath[json数据取值处理]: https://g ...

  3. Nmap的多进程应用与研究

    Nmap的多进程应用 使用Nmap进行多目标多端口(强调端口数目较多,比如全端口)扫描时,其在执行时间上的表现并不好.本文旨在分析多目标多端口扫描时的速度瓶颈以及减少时间成本的解决方案. 实验 实验环 ...

  4. BUU八月份水题记录

    目录 [BJDCTF 2nd]fake google(SSTI) [BJDCTF2020]Easy MD5(md5注入) [ZJCTF 2019]NiZhuanSiWei(反序列化) [BJDCTF ...

  5. 阿里三面Android开发岗都过了,但是无理由挂了,竟是HR骚操作?

    进入互联网大厂一般都是"过五关斩六将",难度堪比西天取经,但当你真正面对这些大厂的面试时,有时候又会被其中的神操作弄的很是蒙圈. 近日,某位程序员发帖称,自己去阿里面试Androi ...

  6. 【LeetCode】860. 柠檬水找零

    860. 柠檬水找零 知识点:贪心 题目描述 在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向你付 ...

  7. 工作中后端是如何将API提供出去的?swaggo很不错

    工作中后端是如何将API提供出去的?swaggo很不错 咱们上一次简单分享了 GO 权限管理之 Casbin ,他一般指根据系统设置的安全规则或者安全策略 分享了权限管理是什么 Casbin 是什么 ...

  8. Guava Cache 原理分析与最佳实践

    前言 目前大部分互联网架构 Cache 已经成为了必可不少的一环.常用的方案有大家熟知的 NoSQL 数据库(Redis.Memcached),也有大量的进程内缓存比如 EhCache .Guava ...

  9. TCP可靠传输

    1. TCP 可靠性如何保证? 信道可靠:用三次握手.四次挥手保证连接正确: 数据正确:分区编号.校验和.超时重传: 传输控制:流量控制.拥塞控制 2. 重传机制 TCP可靠传输方式是序列号与确认应答 ...

  10. logmein逆向

    IDA打开整体先看看. 学个函数: strcpy:即字符串复制 v8=这么一大串字符串 我们让程序调到sub_4007F0(),就OK. 我们使用python来写, 主要迷惑的还是下面都是情深深雨蒙蒙 ...