OpenVPN for CentOS搭建

环境 CentOS6.8

  1. 安装OpenVPN.

yum install -y openvpn easy-rsa

  1. 初始化服务器拷贝模板配置文件

     cp /usr/share/doc/openvpn-2.3.6/sample/sample-config-files/server.conf /etc/openvpn/
    

     cp -r /usr/share/easy-rsa/2.0/* /etc/openvpn/
    

    更改vars文件生成证书的缺省配置信息,也可以不做更改

    cd /etc/openvpn/

    vim vars

    export KEY_COUNTRY="CN"

    export KEY_PROVINCE="BJ"

    export KEY_CITY="Beixxxxxxxxxg"

    export KEY_ORG="zxxxxxxxxxxxxxxi"

    export KEY_EMAIL="[email protected]"

    export KEY_OU="ITOPS"

做SSL配置文件软链:

# ln -s openssl-1.0.0.cnf openssl.cnf

修改vars文件可执行并调用

# chmod +x vars

  1. 生成证书

3.1生成CA证书

source ./vars

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

初次配置可以执行此命令

开始配置证书:

  • 清空原有证书

# ./clean-all

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

  • 生成服务器端ca证书

# ./build-ca

注:由于之前做过缺省配置,这里一路回车即可

3.2、产生服务器证书

# ./build-key-server ov.xxxxxx'.com

生成服务器端密钥证书, 后面这个ov.zxxxxxxxx.com就是服务器名,也可以自定义,可以随便起,但要记住,后面要用到。

3.3、生成DH验证文件

# ./build-dh

生成diffie hellman参数,用于增强openvpn安全性(生成需要漫长等待),让服务器飞一会。

3.4、生成客户端证书

# ./build-key client1

# ./build-key client2

(名字任意,建议写成你要发给的人的姓名,方便管理)
注:这里与生成服务端证书配置类似,中间一步提示输入服务端密码,其他按照缺省提示一路回车即可。

最后按y提交

3.5、生成ta.key文件

# openvpn --genkey --secret /etc/openvpn/keys/ta.key

3.6、编辑服务配置文件

# vim /etc/openvpn/server.conf

push 为需要推送到客户端的路由

创建日志目录:

# mkdir -p /var/log/openvpn/

4、启动服务

# service openvpn start

或者

# /etc/init.d/openvpn start

最后将openvpn配置开机启动

# chkconfig openvpn on

开启路由转发功能

# vim /etc/sysctl.conf

找到net.ipv4.ip_forward = 0
把0改成1

# sysctl -p

设置iptables(这一条至关重要,通过配置nat将vpn网段IP转发到server内网)

# iptables -t nat -A POSTROUTING -s 10.20.0.0/24 -o eth0 -j MASQUERADE

设置openvpn端口通过:

# iptables -A INPUT -p TCP --dport 1194 -j ACCEPT

# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

保存iptable设置:

# service iptables save

最后联系安全部开通出口防火墙即可.

客户端配置

windows 安装openvpn后拷贝 服务端 /etc/openvpn/keys下生成的客户端文件到 安装目录下的oepn/config下 入 D:\Program Files\OpenVPN\config

client.ovpn配置文件内容如下.注意remote处为需要连接的VPN地址和端口

client

;dev tap

dev tun

;dev-node MyTap

proto udp

;proto udp

;remote xxxx 1194

remote xxxxxx 1194 此处为需要连接的IP地址

;remote my-server-2 1194

;remote-random

resolv-retry infinite

nobind

;user nobody

;group nobody

persist-key

persist-tun

;http-proxy-retry # retry on connection failures

;http-proxy [proxy server] [proxy port #]

;mute-replay-warnings

ca ca.crt

cert wxxx.crt

key wxxxxx.key

remote-cert-tls server

;tls-auth ta.key 1

;cipher x

;comp-lzo

verb 3

;mute 20

linux下配置参考windows下配置

openvpn --config client.ovpn

命令 指定配置文件路径位置 拷贝相应的文件到此路径

参考 https://docs.ucloud.cn/software/vpn/openvpn4centos

 本教程用于方便远程办公,请勿用于非法途径

猜你喜欢

转载自blog.csdn.net/wuxingpu5/article/details/71413804