Ubuntu accle-ppp 安装
ACCEL-PPP的安装
安装ACCEL-PPP。
安装编译器,cmake:
1
|
apt-get install build-essential cmake
|
取得ACCEL-PPP源码(编写本文时,SourceForge的ACCEL-PPP 1.11.2的源码扩展名虽为.tar.bz2,但实际上只由tar打包,并无使用bzip压缩):
1
2
|
ACCEL_PPP_VERSION="1.11.2"
wget -O- "https://sourceforge.net/projects/accel-ppp/files/accel-ppp-${ACCEL_PPP_VERSION}.tar.bz2/download" | tar -xvf-
|
编译ACCEL-PPP:
ACCEL-PPP编译前需要使用cmake对所需的功能进行设置,支持的选项有以下:
- -DBUILD_PPTP_DRIVER=TRUE —— 本选项用于编译PPTP内核模块,内核版本>= 2.6.37已内置PPTP模块,无需启用该选项。
- -DBUILD_IPOE_DRIVER=TRUE —— 本选项用于编译IPoE内核模块。IPoE共享接口模式或VLAN监控下需要此模块。
- -DBUILD_VLAN_MON_DRIVER=TRUE —— 编译VLAN监控模块。
- -DKDIR=/usr/src/linux —— 若需要构建PPTP内核模块,则需要使用本选项指定内核源码目录。
- -DCMAKE_INSTALL_PREFIX=/some/location —— 指定ACCEL-PPP安装目录,默认为/usr/local。
- -DCMAKE_BUILD_TYPE=Debug —— 选择编译为DEBUG版本以用于调试抑或为RELEASE版本。
- -DLOG_PGSQL=TRUE —— 编译log_pgsql模块用于使用PostreSQL数据库记录日志。
- -DRADIUS=FALSE —— 关闭radius模块。
- -DNETSNMP=TRUE —— 启用SNMP模块。
- -DLUA=TRUE —— 启用LUA支持(仅用于IPoE)。
- -DSHAPE=TRUE —— 启用流量控制功能。
本文编译为Release版本,关闭Radius,PGSQL,流量控制等功能。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
mkdir accel-ppp-${ACCEL_PPP_VERSION}/build
pushd accel-ppp-${ACCEL_PPP_VERSION}/build
BUILD_JOBS=8
cmake \
-DBUILD_DRIVER=false \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DCMAKE_BUILD_TYPE=Release \
-DLOG_PGSQL=FALSE \
-DSHAPER=FALSE \
-DRADIUS=false \
-DNETSNMP=FALSE \
..
make -j${BUILD_JOBS}
make -j${BUILD_JOBS} install
popd
|
重命名配置文件:
1
|
mv /etc/accel-ppp.conf.dist /etc/accel-ppp.conf
|
ACCEL-PPP的配置
从man可获取到accel-ppp配置文件的完整文档:
1
|
man accel-ppp.conf
|
本小节仅对部分配置项进行说明。
示例配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
[modules]
log_file
pptp
auth_mschap_v2
auth_mschap_v1
auth_chap_md5
auth_pap
chap-secrets
ippool
pppd_compat
[core]
log-error=/var/log/accel-ppp/core.log
thread-count=4
[ppp]
verbose=1
min-mtu=1280
mtu=1400
mru=1400
mppe=require
ipv4=require
ipv6=deny
ipv6-intf-id=0:0:0:1
ipv6-peer-intf-id=0:0:0:2
ipv6-accept-peer-intf-id=1
lcp-echo-interval=20
lcp-echo-timeout=120
unit-cache=1
[pptp]
verbose=1
ip-pool=pool1
[l2tp]
verbose=1
dictionary=/usr/local/share/accel-ppp/l2tp/dictionary
hello-interval=60
ip-pool=pool2
[dns]
dns1=8.8.8.8
dns2=8.8.4.4
[client-ip-range]
0.0.0.0/0
[ip-pool]
gw-ip-address=10.1.1.1
10.10.2.2-254,name=pool1
10.1.1.2-254,name=pool2
[log]
log-file=/var/log/accel-ppp/accel-ppp.log
log-emerg=/var/log/accel-ppp/emerg.log
log-fail-file=/var/log/accel-ppp/auth-fail.log
copy=1
level=3
[pppd-compat]
ip-up=/etc/ppp/ip-up
ip-down=/etc/ppp/ip-down
ip-change=/etc/ppp/ip-change
radattr-prefix=/var/run/radattr
verbose=1
[chap-secrets]
chap-secrets=/etc/ppp/chap-secrets
[cli]
verbose=1
telnet=127.0.0.1:2000
tcp=127.0.0.1:2001
[accel-dp]
socket=/var/run/accel-dp.sock
|
运行并使用ACCEL-PPP
1
2
3
|
# -d参数用于运行为Daemon模式
# -c参数指定配置文件路径
/usr/local/sbin/accel-pppd -d -c /etc/accel-ppp.conf
|