以 ubuntu14 爲例,談談PPTP對接ToughRADIUSnode
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
修改配置文件 /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系統中,須要把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模式的部署。