ToughRADIUS 与 Linux PPTP 对接

以 ubuntu14 为例,谈谈PPTP对接ToughRADIUS

安装pptpd服务

sudo apt-get update -y
sudo apt-get install -y pptpd iptables libfreeradius-client2 libfreeradius-client-dev

如果/etc/radiusclient目录不存在,建立一个radius配置目录链接

ln -s /usr/local/etc/radiusclient /etc/radiusclient

配置pptpd与radius

修改配置文件 /etc/pptpd.conf

option /etc/ppp/pptpd-options
#debug
#stimeout 10
logwtmp
#bcrelay eth1
#delegate
#connections 100
localip 10.79.97.1
remoteip 10.79.97.10-200

修改配置文件 /etc/ppp/pptpd-options,注意这里采用了maschapv2认证方式,并采用mppe128位加密模式。

name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128

# Network and Routing
ms-dns 8.8.8.8
ms-dns 8.8.4.4
proxyarp
nodefaultroute

#Logging
#debug
#dump
#logfile /var/log/pptpd.log

# Miscellaneous
lock
nobsdcomp
novj
novjccomp
#nologfd

plugin /usr/lib/pppd/2.4.5/radius.so
plugin /usr/lib/pppd/2.4.5/radattr.so
radius-config-file /etc/radiusclient/radiusclient.conf

配置/etc/radiusclient/radiusclient.conf , 注意配置authserver,acctserver为你实际的radius服务器地址和端口。

auth_order radius
login_tries 4
login_timeout 60
nologin /etc/nologin
authserver radius.toughctruc.net:1812
acctserver radius.toughctruc.net:1813
servers /etc/radiusclient/servers
dictionary /etc/radiusclient/dictionary
seqfile /var/run/radius.seq
mapfile /etc/radiusclient/port-id-map
default_realm
radius_timeout 10
radius_retries 3
login_local /bin/login

如果 /etc/radiusclient/port-id-map 不存在,建立一个空文件

echo "" > /etc/radiusclient/port-id-map

配置radius服务器和共享密钥 /etc/radiusclient/servers

radius.toughstruct.net     testing123

为了支持mschapv2认证,需要加入 dictionary.microsoft字典, 修改字典文件 /etc/radiusclient/dictionary,在末尾务必加上 :

INCLUDE /etc/radiusclient/dictionary.microsoft

如果目录中没有这个字典,可以下载:https://raw.githubusercontent.com/talkincode/ToughVPN/master/radius/dictionary/dictionary.microsoft

修改防火墙配置并修改内核转发支持

注意IP地址与/etc/pptpd.conf中配置的一致

iptables -t nat -A POSTROUTING -s 10.79.97.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -s 10.79.97.0/24 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j TCPMSS --set-mss 1356

设置内核转发支持

sysctl -w net.ipv4.ip_forward=1

启动pptpd服务

service pptpd start

配置ToughRADIUS

在ToughRADIUS系统中,需要把PPTP作为接入设备加入,在BAS信息管理里增加一个标准配置即可。

增加资费,新增用户信息,接下来就可以进行拨号测试了。

在拨号过程中,可以通过用户消息跟踪或系统日志查看进行调试,使用mschapv2认证时,用户消息必定会有两个特定属性:MS-CHAP-Challenge 和 MS-CHAP2-Response,如果用户消息中没有此属性,则可能的原因是:

  • pptp服务没有配置require-mschap-v2 和 require-mppe-128
  • 系统内核不支持mppe
  • 没有加入dictionary.microsoft
  • 如果没有上面的问题,试着修改 require-mppe-128 为 require-mppe

注意事项

要支持mschapv2,需要系统内核支持MPPE,输入指令:

modprobe ppp-compress-18 && echo ok

如果输出ok,则系统内核支持。

在测试过程中,可以开启debug收集日志进行诊断,以及配合Radius服务器的日志进行诊断。

更多帮助,请参考 http://poptop.sourceforge.net/dox/

另外,你也可以关注我们的这个开源项目:https://github.com/talkincode/ToughVPN,这个项目计划实现更简单的一键安装以及常识Docker模式的部署。

时间: 2024-08-08 17:53:27

ToughRADIUS 与 Linux PPTP 对接的相关文章

linux PPTP VPN客户端安装

转载于http://www.2cto.com/os/201209/157462.html 下载pptp-1.7.2.tar.gz http://pptpclient.sourceforge.net/ root用户上传至linux主机/tmp目录 解压安装: cd /tmp tar xzf pptp-1.7.2.tar.gz cd pptp-1.7.2 make && make install 更改配置: 1.更改拨号用户信息文件 cd /etc/ppp vi chap-secrets #

Linux PPTP拨号

试验环境:Linux marsboard 3.4.90 #9 SMP PREEMPT Thu Mar 3 18:28:43 CST 2016 armv7l armv7l armv7l GNU/Linux (注:A20核心板) 方法:使用pptp程序进行拨号 前提:安装了ppp,pppd,pptp程序 简述:涉及到的文件/etc/network/interfaces./etc/ppp/chap-secrets./etc/ppp/peers/vpn(自己创建). 注意:一下内容中,相同颜色 标记的,

5分钟搭建linux pptp vpn服务器(新手无痛版)

0.环境需求: 已经安装好ubuntu系统,可以访问互联网.知道基本的linux命令. 本文以ubuntu 14.04LTS为基础. 1.安装pptpd. 通常pptpd会随ubuntu安装过程默认安装,但有时可能会因为安装设置不同,而没有默认安装. sudo apt-get install pptpd ubuntu强烈建议安装一个synaptic,中文名叫做"新立得",这应该是linux上最好用的包管理器了. 2.设置vpn server和client的虚拟ip地址. client连

linux pptp服务器安装

一.拓扑: pptp server 位于公司内部.通过防火墙PPTP服务1723端口进行地址映射. 二.环境准备 1.系统环境 [[email protected] ~]# cat /etc/issue Red Hat Enterprise Linux Server release 6.4 (Santiago) 2.安装rpm包 [[email protected] ~]# rpm -qa | grep ppp kernel_ppp_mppe-1.0.2-3dkms.noarch ppp-2.4

〖Network〗linux pptp vpn connect via command line

关于使用命令行配置Ubuntu pptp vpn连接,网上有很多的资料: 但是要折腾起来还是需要花费很长时间的,现在已弄成了只需要几行命令就完事了: 1. 安装依赖软件: sudo apt-get install  pptp-linux 2. 使用pptpsetup来配置: sudo pptpsetup --create my_tunnel --server vpn.example.com --username alice --password foo --encrypt 3. 配置好路由策略:

创建linux pptp的vpn

教程如下: http://www.nigesb.com/setup-your-own-vpn-with-pptp.html 资源下载地址: http://pkgs.org/centos-6/epel-x86_64/pptpd-1.4.0-3.el6.x86_64.rpm.html 感谢云哥

.Net Core Linux centos7行—centos7 pptp vpn connection to windows vpn server

介绍一下centos7 怎么新建vpn并连接到服务器. 本次实现的内容:linux pptp connection to windows vpn server. ? 首先自然是按照pptp拨号组件 yum install ppp pptp pptp-setup 向内核注册模块 modprobe ppp_mppe 新建一个vpn pptpsetup --create vpnname --server vpn服务器地址 --username uid --password pwd --encrypt

搭建VPN服务器之PPTP

前言了解一下隧道技术:隧道技术的基本过程是在源局域网与公网的接口处将数据(可以是ISO 七层模型中的数据链路层或网络层数据)作为负载封装在一种可以在公网上传输的数据格式中,在目的局域网与公网的接口处将数据解封装,取出负载.被封装的数据包在互联网上传递时所经过的逻辑路径被称为"隧道".目前VPN隧道协议有4种:点到点隧道协议PPTP.第二层隧道协议L2TP.网络层隧道协议IPSec以及SOCKS v5,我们这里只介绍点到点隧道协议PPTP.一.pptp原理PPTP使用一个TCP连接对隧道

外贸(跨境电子商务)公司proxy的几种方法---PPTP VPN

Linux PPTP VPN服务 1     方案需求: 公司员工要vpn到香港服务器或者公司内部,然后依次为跳板访问国外的网站,来满足工作环境的搭建: 2     方案概述: 在阿里云租vps服务器(ubuntu),在ubuntu上做PPTPVPN 服务,让员工直接连VPN拨到香港服务上,以此作为中转来实现对国外网站或者资源的访问: 3     系统要求 3.1      硬件需求 256M以上内存 允许访问公网 允许访问国外 3.2  软件需求 ubuntu12.04以上 ssh工具 bas