ToughRADIUS 與 Linux PPTP 對接

以 ubuntu14 爲例,談談PPTP對接ToughRADIUSnode

安裝pptpd服務

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

若是/etc/radiusclient目錄不存在,創建一個radius配置目錄連接git

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

配置pptpd與radius

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

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位加密模式。ubuntu

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 不存在,創建一個空文件tcp

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

配置radius服務器和共享密鑰 /etc/radiusclient/serverside

radius.toughstruct.net     testing123

爲了支持mschapv2認證,須要加入 dictionary.microsoft字典, 修改字典文件 /etc/radiusclient/dictionary,在末尾務必加上 :測試

INCLUDE /etc/radiusclient/dictionary.microsoft

若是目錄中沒有這個字典,能夠下載:https://raw.githubusercontent.com/talkincode/Tough×××/master/radius/dictionary/dictionary.microsoftui

修改防火牆配置並修改內核轉發支持

注意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/Tough××× ,這個項目計劃實現更簡單的一鍵安裝以及常識Docker模式的部署。

相關文章
相關標籤/搜索