Nov 282013
以前基本都是为了学习去配置Openvpn,不过这次真的是到实际需求,需要使用Openvpn,也就下工夫好好整理一下。
各种的中文的文档,让人很晕。还是看官方文档 http://openvpn.net/index.php/open-source/documentation/howto.html#quick
需求很简单。在家里需要通过Openvpn访问到公司的内网,可以访问公司内网我实验的服务器,同时我上网,还是走我自己的网络。
vpn服务器
- 内网IP(eth0)172.28.0.1/16
- 公网IP地址(eth1):172.31.114.28/24
我从家里连接到公网的IP地址。可以访问到我的内网的机器。
设置源
直接使用EPEL的源就可以。
安装Openvpn
yum -y install openvpn
由于搬迁的问题,证书的生成工具,现在需要单独安装.
yum -y install easy-rsa
设置OpenVPN
把需要用到的配置文件,复制到 /etc/openvpn目录下。
cp -R /usr/share/easy-rsa/ /etc/openvpn/ cp /usr/share/doc/openvpn-2.3.2/sample/sample-config-files/server.conf /etc/openvpn
这个时候,就可以开始创建证书
cd /etc/openvpn/easy-rsa/2.0 . vars ./clean-all ./build-ca
一路回车就可以.
给vpn服务器创建 server的key
./build-key-server server
最后两个步骤,需要你选择y,就可以。需要输入2次y。
给用户创建一个秘钥
./build-key chenshake
创建DH
我也不知道这是啥,不过照做
./build-dh
所有的创建文件,都会在/etc/openvpn/easy-rsa/2.0/keys 目录下。
配置server.conf 文件
这是重点。我这里把默认端口改成9001
;local a.b.c.d local 172.31.114.28 port 9001 ;proto tcp proto tcp ;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/dh1024.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist 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 "route 172.28.0.0 255.255.0.0" ;client-config-dir 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 nobody ;group nobody persist-key persist-tun status openvpn-status.log ;log openvpn.log ;log-append openvpn.log verb 3 ;mute 20
检测server.conf 文件是否正常
cd /etc/openvpn openvpn --config server.conf
设置iptables 编辑 /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9001 -j ACCEPT
客户端
下载openvpn的windows客户端.安装的时候,你最好选择管理员权限运行.并且装完后,启动openvpn,也是用管理员权限启动.
client dev tun proto tcp remote a.b.c.d 9001 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert chenshake.crt key chenshake.key comp-lzo verb 3
Shake 我记得你以前写过openvpn和数据库结合的案例,那个更加实用。如果方便可以追加上来
以前写的文档,基本是为了学技术而写。这个是真的是需求,每天都需要用的,我现在的实验室,就是用这个连接进去,非常好用。
沙大,我按照你这个文档去创建一个VPN出现啊
1.直接 yum -y install openvpn
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
Setting up Install Process
No package openvpn available.
Error: Nothing to do
2.用RPM方式安装完毕后,在用你这篇文档架设,VPN无法启动
你这个架构是直接在eth1上班绑定了公网IP 做的,那我服务器上只有一块网卡而且是内网 走NAT映射
也可以这么做么
你好!
我最近搭建的时候碰到一个问题,我搭建了一台openvpn,能够连接,但是ping不通隧道搭建的内部server段的ip,而且client客户端一直出现大量的WRWRWRWR,不知道这个是什么问题?