第十一节:Centos7 OpenVPN Freeradius对接

本节内容:如何在Centos7上配置OpenVPN对接Freeradius,是的OpenVPN的账号可以通过Freeradius来管理

1、切换到OpenVPN服务器,并安装必要的先决条件

yum -y install libgcrypt libgcrypt-devel gcc-c++

2、接下来,我们将下载“radiusplugin”并从源码构建它。使用radiusplugin会非常容易

cd /tmp
wget http://www.nongnu.org/radiusplugin/radiusplugin_v2.1a_beta1.tar.gz
tar xzvf radiusplugin_v2.1a_beta1.tar.gz
cd radiusplugin_v2.1a_beta1
make

3、将配置文件和库(* .so)文件复制到 /etc/openvpn/目录下

cp radiusplugin.so /etc/openvpn/
cp radiusplugin.cnf /etc/openvpn/

4、打开我们刚刚复制的配置文件,并修改其中的name,sharedsecret

vim /etc/openvpn/radiusplugin.cnf
server
{
        # The UDP port for radius accounting.
        acctport=1813
        # The UDP port for radius authentication.
        authport=1812
        # The name or ip address of the radius server.
        name=127.0.0.1
        # How many times should the plugin send the if there is no response?
        retry=2
        # How long should the plugin wait for a response?
        wait=1
        # The shared secret.
        sharedsecret=testing123
}

5、openvpn服务器文件配置

vim /etc/openvpn/server.conf
#vpn服务器配置文件
port 1194 # default port
proto udp # default protocol
dev tun
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
reneg-sec 0
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh2048.pem
#plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so /etc/pam.d/login # 使用linux系统账号登录
plugin /etc/openvpn/radiusplugin.so /etc/openvpn/radiusplugin.cnf # 如果使用freeradius,请去掉这一行的注释
server 10.8.0.0 255.255.255.0 # 分配给VPN客户端的地址范围
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1"
push "route 192.168.0.0 255.255.255.0"    #指定VPN客户端访问你服务器的内网网段
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log-append openvpn.log
verb 3
#script-security 3
#auth-user-pass-verify /etc/openvpn/checkpsw.sh via-env
client-cert-not-required            #启用后,就关闭证书认证,只通过账号密码认证
username-as-common-name

重新启动openvpn

systemctl restart openvpn@server

注意:不需要修改/etc/raddb/sites-available/inner-tunnel文件,有些教程讲的需要修改这个文件中,将sql前面的注释,如果修改了这个文件,在启动openvpn的时候会非常慢