前言:
之前搭建过程中找了5-6个教程一起看,真是累,难道就没有写的详细一点,一次成功的吗,基于此花了一下午制作了本教程,实际测试2遍均成功,懒人福音。
基础环境:
系统:Centos6.5 64X
Openvpn:2.3.14
安装:
Windows版
Linux版
问题:
Windows版有路由推送、用户名密码验证方面的问题,不推荐使用。建议安装Linux版
附件中有密码检查脚本,配置文件等。
0基础环境
#关闭selinux
setenforce 0
sed -i '/^SELINUX=/c\SELINUX=disabled' /etc/selinux/config
#清空防火墙
iptables -F
iptables -X
#启动smb共享,可以看到还没有安装。
#安装Samba共享,后面有需要。
yum -y install samba
mkdir /home/samba
调整权限:chown nobody:nobody /home/samba/
创建测试文件:touch /home/samba/1.txt
#修改配置文件
vim /etc/samba/smb.conf
修改
security = share//表示允许匿名访问
workgroup = WORKGROUP//和windows主机相同
末尾追加
#启动Samba
service smb restart
#添加开机启动
chkconfig smb on
#在windows主机输入\\服务器IP访问可以看到1.txt
#安装openssl和lzo,lzo用于压缩通讯数据加快传输速度.
yum -y install openssl openssl-devel lzo
#安装epel源
rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
sed -i 's/^mirrorlist=https/mirrorlist=http/' /etc/yum.repos.d/epel.repo
1安装openvpn
#安装主程序
yum -y install openvpn easy-rsa
#修改基本信息
cd /usr/share/easy-rsa/2.0/
chmod +x *
vim vars
#清除keys目录下所有与证书相关的文件
#下面步骤生成的证书和密钥都在/usr/share/easy-rsa/2.0/keys目录里
source vars//这里会提示一个东西,不用管它。
./clean-all
#生成根证书ca.crt和根密钥ca.key(一路按回车即可)
./build-ca
#生成服务端证书和密钥
./build-key-server server
#为客户端生成证书 (后面要换成账号名+密码认证这一步可以省略。)
#创建dh密钥
./build-dh//按电脑性能决定,等一会,不要乱动。
#查看文件是否都有
#将刚才创建的密钥文件拷贝出来
cd keys
cp ca.crt dh2048.pem server.crt server.key /etc/openvpn/
#拷贝主配置文件(可选,方式一)
cd /usr/share/doc/openvpn-2.3.14/sample/sample-config-files/
cp server.conf /etc/openvpn/
#拷贝主配置文件(可选,方式二,建议使用,两者区别是方式一是默认文件,方式二是我修改过)
将文件内的server.conf通过smb共享拷贝到服务器上
#在服务器上转移拷贝过来的文件
cp /home/samba/server.conf /etc/openvpn/
#修改配置文件
cd /etc/openvpn/
vim server.conf
#下载用户名密码检查脚本
wget http://openvpn.se/files/other/checkpsw.sh
修改vim checkpsw.sh
添加执行权限
chmod +x checkpsw.sh
创建用户名密码文件
vim userfile.sh
#文件属性调整
chown nobody:nobody userfile.sh
#确认权限
ls -l
#拷贝客户端证书文件
cp ca.crt /home/samba
2添加防火墙规则
#允许ssh端口通过
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -P OUTPUT ACCEPT
#允许openvpn的端口连接
iptables -A INPUT -p tcp --dport 1194 -j ACCEPT
#配置openvpn的nat功能
ifconfig查看接口是否为etho,有些服务器是em1.
iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE
#开启系统的路由功能
echo "1" > /proc/sys/net/ipv4/ip_forward
#添加FORWARD白名单
iptables -A FORWARD -i tun+ -j ACCEPT
#允许虚拟网段的所有连接
iptables -A INPUT -s 10.10.10.0/24 -j ACCEPT
#保持已经建立的连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
service iptables save
service iptables start
3启动服务
/etc/init.d/openvpn start
#添加自动启动
chkconfig openvpn on
4到此服务端所有配置已完成,确认所有文件存在,权限正确。
5客户端配置
#客户端安装,去官网下载,一路默认下一步。
访问服务器共享目录\\xxxx 拷贝ca.crt,放到安装目录的config目录中。
拷贝文件内的client.ovpn,放到安装目录的config目录中。
修改client.ovpn内容如下,这个文件需要用高级文件编辑工具打开。
#双击桌面openvpn图标运行,右击桌面右下角图标,Connect连接,输入用户名密码。连接成功
#实现客户端自动登录
修改client.ovpn配置文件,将auth-user-pass改为auth-user-pass pass.txt
在config目录中新建pass.txt
内容为两行,第一行为vpn用户名,第二行为密码.
重新运行Open×××,即可不输密码登录vpn了!