openvpn服务器端搭建

来源:互联网 发布:mac 网站编辑 编辑:程序博客网 时间:2024/06/08 14:20
1、##关闭selinux
setenforce 0  //暂时关闭
修改/etc/selinux/config文件把SELINUX设置成disabled永久关闭


2、##安装 openssl lzo openssl-devel
yum install openssl openssl-devel lzo

3、##安装openvpn 和easy-rsa
wget http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
yum install openvpn easy-rsa

yum安装的openvpn目录在/etc/openvpn
easy-rsa在/usr/share下

4、拷贝一份easy-rsa到 /etc/openvpn
cp -a /usr/share/easy-rsa /etc/openvpn

cd /etc/openvpn/easy-rsa/2.0
#修改vars
vi vars
# 修改注册信息,比如公司地址、公司名称、部门名称等
export KEY_COUNTRY="CN"
export KEY_PROVINCE="GUANGDONG"
export KEY_CITY="GuangZhou"
export KEY_ORG="360clg"
export KEY_EMAIL="clg360Monitor@163.com"
export KEY_OU="360clgUnit"

#初始化环境变量
source vars

#清除keys目录下所有证书相关文件
#./clean-all

#生成根证书ca.crt和根秘钥ca.key(一路回车即可)
./build-ca

# 为服务端生成证书和密钥(一路按回车,直到提示需要输入y/n时,输入y再按回车,一共两次)
./build-key-server server


# 每一个登陆的VPN客户端需要有一个证书,每个证书在同一时刻只能供一个客户端连接,下面建立2份
# 为客户端生成证书和密钥(一路按回车,直到提示需要输入y/n时,输入y再按回车,一共两次)
./build-key worker_8_212

# 创建迪菲·赫尔曼密钥,会生成dh2048.pem文件(生成过程比较慢,在此期间不要去中断它)
./build-dh
 
# 生成ta.key文件(防DDos攻击、UDP淹没等恶意攻击)
openvpn --genkey --secret keys/ta.key

所有的证书都在keys目录下

#创建openvpn服务器分配静态ip目录
cd /etc/openvpn
mkdir ccd
chmod 755 ccd

#给客户端
worker_8_212分配一个静态IP
cd ccd
vi worker_8_212 //以生成证书的名字命名
内容:
ifconfig-push 10.7.0.3 10.7.0.4

#openvpn服务器配置
cd /etc/openvpn
vi server.conf
内容如下:
# open up this port on your firewall.
port 1194

# TCP or UDP server?
;proto tcp
proto udp

;dev tap
dev tun
;dev-node MyTap

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  # This file should be kept secret
 
dh  /etc/openvpn/easy-rsa/2.0/keys/dh2048.pem

server 10.7.0.0 255.255.255.0

ifconfig-pool-persist /etc/openvpn/etc/ipp.txt

;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100
;server-bridge
;push "route 192.168.10.0 255.255.255.0"
;push "route 192.168.20.0 255.255.255.0"
;push "redirect-gateway def1 bypass-dhcp"
;push "dhcp-option DNS 8.8.8.8"

client-config-dir /etc/openvpn/ccd
;route 192.168.40.128 255.255.255.248
;client-config-dir ccd
;route 10.9.0.0 255.255.255.252
;learn-address ./script
;push "redirect-gateway def1 bypass-dhcp"
;push "dhcp-option DNS 208.67.222.222"
;push "dhcp-option DNS 208.67.220.220"

client-to-client
duplicate-cn
keepalive 10 120

;tls-auth ta.key 0 # This file is secret
;cipher BF-CBC        # Blowfish (default)
;cipher AES-128-CBC   # AES
;cipher DES-EDE3-CBC  # Triple-DES

comp-lzo
;max-clients 100

user vpnuser
group vpnuser

persist-key
persist-tun

status openvpn-status.log

;log         openvpn.log
;log-append  openvpn.log
log             /var/log/openvpn.log
;verb 3
#改成verb 5可以查看一些调试信息
verb 5
;mute 20



5、配置内核和防火墙,启动服务
#开启路由转发功能
sysctl -a |grep net.ipv4.ip_forward     //查看是否开启
sysctl -w 
net.ipv4.ip_forward=1       //开启

#配置防火墙
iptables -I INPUT -p udp -m udp --dport 1194 -j ACCEPT
iptables -I INPUT -s 10.7.0.0/24 -p tcp -j ACCEPT //可以不设置,如果不能其它客户端不能访问可以添加尝试

#启动openvpn服务器
openvpn --daemon --writepid /var/run/openvpn/server.pid --config /etc/openvpn/server.conf
如果无法启动,可通过日志文件查找出错原因
/var/log/openvpn.log
原创粉丝点击