centos6.9下架设openvpn

CentOS 6.3下利用OpenVPN部署远程VPN服务

解决方案:
系统环境:CentOS6.3 x64
OPENVPN: openvpn-2.3.0

vpn server: eth0:103.224.248.17
dhcp地址池:10.8.0.0/24

部署环境:
1.启动并清空iptables规则
# iptables -t NAT -F
# iptables -F
# service iptables save
# service iptables restart

2.关闭SELINUX
# setenforce 0
# vi /etc/sysconfig/selinux
---------------
SELINUX=disabled
---------------

server端:


3.时间同步(重要):
# ntpdate asia.pool.ntp.org

二.安装依赖库
# yum install -y openssl openssl-devel lzo lzo-devel pam pam-devel automake pkgconfig

三.安装openvpn:
# wget -c http://swupdate.openvpn.org/community/releases/openvpn-2.3.0.tar.gz
# tar zxvf openvpn-2.3.0.tar.gz
# cd openvpn-2.3.0
# ./configure --prefix=/usr/local/openvpn
# make && make install
# mkdir -p /etc/openvpn

复制模板到openvpn配置目录:
# cp -rf sample /etc/openvpn/

复制openvpn配置文件到主目录:
# cp /etc/openvpn/sample/sample-config-files/server.conf /etc/openvpn/
# cd ..

四.下载easy-rsa:
注:该包用来制作ca证书,服务端证书,客户端证书,openvpn2.3.0该版本源码不包含easy-rsa,所以需要单独下载安装用来配合openvpn实现证书生成。
要下载easy-rsa 2.0版本
wget https://github.com/OpenVPN/easy-rsa/releases/download/2.2.2/EasyRSA-2.2.2.tgz
tar -zxvf EasyRSA-2.2.2.tgz
cd EasyRSA-2.2.2
# mv EasyRSA-2.2.2 easy-rsa
# cp -rf easy-rsa /etc/openvpn
# cd /etc/openvpn/easy-rsa/

修改证书变量
# vi vars

修改如下参数
注:在后面生成服务端ca证书时,这里的配置会作为缺省配置
---------------------
export KEY_COUNTRY="CN"
export KEY_PROVINCE="SX"
export KEY_CITY="Xian"
export KEY_ORG="example"
export KEY_EMAIL="[email protected]"
---------------------

做SSL配置文件软链:
# ln -s openssl-1.0.0.cnf openssl.cnf

修改vars文件可执行并调用
# chmod +x vars
# source ./vars

-----------------
NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys
-----------------
注:也就是如果执行./clean-all,就会清空/etc/openvpn/easy-rsa/keys下所有文件

开始配置证书:
1.清空原有证书:
# ./clean-all

注:下面这个命令在第一次安装时可以运行,以后在添加完客户端后慎用,因为这个命令会清除所有已经生成的证书密钥,和上面的提示对应

2.生成服务器端ca证书
./build-ca
注:由于之前做过缺省配置,这里一路回车即可

3.生成服务器端密钥证书,创建通用名(common name)为"server"的证书文件
./build-key-server server
除了下面四个需要输入以外,其它一律回车
A challenge password []:123456 #需要输入
An optional company name []:server //需要输入
Sign the certificate? [y/n]:y #需要输入y
1 out of 1 certificate requests certified, commit? [y/n]y #需要输入y

生成防攻击的key文件(防DDos攻击、UDP淹没等恶意攻击)
/usr/local/openvpn/sbin/openvpn --genkey --secret keys/ta.key

#创建秘钥文件,耗时1分钟左右
./build-dh
#可以看到,有一个db2048.pem的文件产生。
ls /etc/openvpn/easy-rsa/keys/
cd  /etc/openvpn/easy-rsa/keys
cp  dh2048.pem ca.crt server.crt server.key ta.key /etc/openvpn
cd  /etc/openvpn/easy-rsa

./build-key client  #创建一个通用名(common name)为 client的客户端证书
 #创建客户端证书文件,按回车进行,
 提示输入密码的地方,输入之前设置的证书密码 "123456",
 An optional company name处输入先前设置的公司名字(server)。【一定要和先前输入的一样】
 然后输入两次y即可。

#另外注意:有多少个客户端就需要./build-key client 多少次,当然这里的client名字需不同。
ls /etc/openvpn/easy-rsa/keys/    #可以看到,生成了客户端的证书文件

openvpn客户端(电脑)连接vpn
把服务器上 /etc/openvpn/easy-rsa/keys/ 目录下的三个证书文件和一个Ddos防护文件,下载到客户端:
ca.crt,client.crt,client.key,ta.key

安装好openvpn客户端软件后,把以上文件存放到openvpn安装目录的config文件夹下,然后从sample-config文件夹内拷贝client.ovpn 到config文件夹下,编辑client.ovpn,指定openvpn服务器的ip地址。再根据服务器端的配置做相应修改,我的client.conf配置如下:

4、启动服务
# service openvpn start
或者
# /etc/init.d/openvpn start
如果遭遇启动失败的情况,可以在配置文件中加上一行log-append openvpn.log
再尝试启动,然后到/var/log/openvpn/检查openvpn.log文件来查看错误发生原因。

最后将openvpn配置开机启动
# vim /etc/rc.local
将“ /etc/init.d/openvpn start ”加入到“/etc/rc.local”文件中

client
dev tun
proto tcp
remote 服务器IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
tls-auth ta.key 1
cipher AES-256-CBC
comp-lzo
verb 3
mute 20

配置好后,点击openvpn的客户端图标,连接vpn。  openvpn的图标显示绿色后,表示已经连接上vpn了。

一.网络设置
清空iptables配置:
iptables -F
iptables -X

1.开启服务器端路由转发功能
# vi /etc/sysctl.conf
---------------------
net.ipv4.ip_forward = 1
---------------------
# sysctl -p

2.设置nat转发:
注:保证VPN地址池可路由出外网
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -A INPUT -p TCP --dport 1194 -j ACCEPT
iptables -A INPUT -p TCP --dport 7505 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

直接使用命令,查看防火墙配置和nat配置
iptables -t nat -L

开启系统的路由功能:
echo "1" > /proc/sys/net/ipv4/ip_forward
service iptables save               //保存iptables配置
service iptables restart            //重启iptables

猜你喜欢

转载自www.cnblogs.com/xiaonu/p/8965861.html