CentOS6 安装配置使用 OpenVPN

因为 epel源总才有我们下文安装所需的openvpn软件包所以我们先安装 EPEL:

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm
yum makecache
yum update

#接着安装 openvpn
yum install -y openssl openvpn dnsmasq

#拷贝配置文件:
cp -R /usr/share/openvpn/easy-rsa/ /etc/openvpn/
pushd /usr/share/openvpn/easy-rsa/2.0/

#通过 rpm -q openssl 查看我们所需要到 openssl.cnf 的版本
rpm -q openssl
openssl-1.0.0-25.el6_3.1.i686
#然后将 openssl.cnf 替换为对应到配置文件
cp -v openssl-1.0.0.cnf openssl.cnf

#修改 vars 文件中的配置信息 /etc/openvpn/easy-rsa/2.0/vars:
export KEY_COUNTRY="US"
export KEY_PROVINCE="OH"
export KEY_CITY="Oxford"
export KEY_ORG="My Company"
export KEY_EMAIL="squire@example.com"

#生成授权中心
. /etc/openvpn/easy-rsa/2.0/vars
. /etc/openvpn/easy-rsa/2.0/clean-all
. /etc/openvpn/easy-rsa/2.0/build-ca


#生成服务器密钥:
. /etc/openvpn/easy-rsa/2.0/build-key-server server

#生成客服端密钥:
. /etc/openvpn/easy-rsa/2.0/build-key client1


#生成的Diffie Hellman参数
. /etc/openvpn/easy-rsa/2.0/build-dh

#复制生成好的配置文件:
cp -v /etc/openvpn/easy-rsa/2.0/keys/{ca.crt,ca.key,dh1024.pem,server.crt,server.key} /etc/openvpn/
cp -v /usr/share/doc/openvpn-2.2.2/sample-config-files/server.conf /etc/openvpn/
#修改 /etc/openvpn/server.conf
cat >> /etc/openvpn/server.conf <<EOF
push "redirect-gateway def1"
push "dhcp-option DNS 10.8.0.1"
EOF

还可以修改 port 改变服务器监听端口
修改 local 改变服务器监听到 ip
修改 server 设置客户端获取到的 ip地址范围

配置系统:
启用ip转发:

echo 1 > /proc/sys/net/ipv4/ip_forward
#修改 /etc/sysctl.conf
net.ipv4.ip_forward = 1

#iptable规则:
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

#系统启动时自动添加
cat >>/etc/rc.local<<EOF
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

touch /var/lock/subsys/local
EOF

#配置 dnsmasq
touch /var/lock/subsys/local
cat >> /etc/dnsmasq.conf<<EOF
listen-address=127.0.0.1,10.8.0.1
bind-interfaces
EOF

/etc/init.d/openvpn restart
/etc/init.d/dnsmasq restart
chkconfig dnsmasq on
chkconfig openvpn on

#授权登录
. /etc/openvpn/easy-rsa/2.0/vars
. /etc/openvpn/easy-rsa/2.0/revoke-full client1

客户机配置
在客户端机器上通过 scp 或者 rsync 获取配置文件:

client>sudo rsync -az --progress root@server.com:/etc/openvpn/easy-rsa/2.0/keys/{ca.crt,client1.crt,client1.key} /etc/openvpn/

添加配置文件:

cat >/etc/openvpn/openvpn<<EOF
client
;dev tap
dev tun
;dev-node MyTap
;proto tcp
proto udp
remote 88.8.88.88 1194 
;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 client1.crt
key client1.key

ns-cert-type server
;tls-auth ta.key 1
;cipher x
comp-lzo
verb 3
;mute 20
EOF
注意上面配置文件着中的 proto 参数,这个要和 服务器端的 proto 一致

#连接
/usr/sbin/openvpn /etc/openvpn/openvpn &

注意:假如链接不成功,需要注意服务器端的时间和客户端时间是否同步
还要注意假如服务器端启动了 iptables,记得允许 openvpn 端口传输数据相关协议的数据

历史搜索记录:

One Trackback

  1. By windows下如何配置并连接 OpenVPN – 薹翮 on 2012 年 11 月 29 日 at 下午 12:07

    […] 服务器端如何配置 OpenVPN我们已经将过了。那么使用 windows的用户如何链接呢。 首先我们需要下载支持 OpenVPN的软件,官方下载地址是 下载官方 openvpn-2.2.2-install.exe,假如因为某种原因不能下载可以通过一下链接下载open-vpn-2.2.2-install.exe。 双击安装,安装完毕之后,它会以系统服务的方式启动,并安装一个虚拟网卡,假如我们要连接多个 OpenVPN网络我们可以通过一下方式添加或删除虚拟万卡: 安装一个网卡 “C:Program FilesOpenVPNbintapinstall.exe” install “C:Program FilesOpenVPNdriverOemWin2k.inf” TAP0801 […]

Post a Comment

Your email is never shared. Required fields are marked *

*
*