确认是否开启了tun/tap
# cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state
下载软件包:
# cd /opt
wget http://pkgs.repoforge.org/lzo/lzo-2.06-1.el5.rf.x86_64.rpm
wget http://pkgs.repoforge.org/lzo/lzo-devel-2.06-1.el5.rf.x86_64.rpm
wget http://pkgs.repoforge.org/pkcs11-helper/pkcs11-helper-1.08-1.el5.rf.x86_64.rpm
wget http://pkgs.repoforge.org/openvpn/openvpn-2.2.2-1.el5.rf.x86_64.rpm
# rpm -qa lzo lzo-devel openssl openssl-devel pam pam-devel pkcs11-helper
# yum install lzo lzo-devel openssl openssl-devel pam pam-devel pkcs11-helper
Installed:
openssl-devel.x86_64 0:0.9.8e-27.el5_10.1 pam-devel.x86_64 0:0.99.6.2-12.el5
Dependency Installed:
e2fsprogs-devel.x86_64 0:1.39-36.el5_9
keyutils-libs-devel.x86_64 0:1.2-1.el5
krb5-devel.x86_64 0:1.6.1-70.el5_9.2
libselinux-devel.x86_64 0:1.33.4-5.7.el5
libsepol-devel.x86_64 0:1.15.2-3.el5
zlib-devel.x86_64 0:1.2.3-7.el5
Updated:
openssl.x86_64 0:0.9.8e-27.el5_10.1 pam.x86_64 0:0.99.6.2-12.el5
Dependency Updated:
e2fsprogs.x86_64 0:1.39-36.el5_9 e2fsprogs-libs.x86_64 0:1.39-36.el5_9
krb5-libs.x86_64 0:1.6.1-70.el5_9.2 zlib.x86_64 0:1.2.3-7.el5
# rpm -ivh lzo-2.06-1.el5.rf.x86_64.rpm lzo-devel-2.06-1.el5.rf.x86_64.rpm
# rpm -ivh pkcs11-helper-1.08-1.el5.rf.x86_64.rpm
# rpm -ivh openvpn-2.2.2-1.el5.rf.x86_64.rpm
配置openvpn服务(服务端)
# chkconfig --list openvpn
1) 初始化PKI(Public Key Infrastructure)
在/usr/share/doc/openvpn-2.2.2/easy-rsa/2.0目录下,修改默认的变量vars
# cd /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0
# vi vars
修改最后的几行的export的值自定义的值
export KEY_COUNTRY="CN"
export KEY_PROVINCE="GD"
export KEY_CITY="ZhongShan"
export KEY_ORG="SangXian"
export KEY_EMAIL="whz110@163.com"
export KEY_EMAIL=whz110@163.com
export KEY_CN=whz110
export KEY_NAME=whz110
export KEY_OU=whz110
export PKCS11_MODULE_PATH=whz110
export PKCS11_PIN=1234
# ln -s openssl-0.9.8.cnf openssl.cnf
# . vars
# chmod 777 *
# . vars
# ./clean-all
2) 创建私钥(ca private key)
# ./build-ca
由于刚配置了默认变量,故一路回车下去即可
完成后,在keys目录下生成1024位RSA私钥ca.key和ca.crt 两个文件
3) 创建服务器密钥(server key)
# ./build-key-server server
完成后,在keys目录下生成1024位RSA服务器密钥server.key、server.crt和server.csr 三个文件
4) 创建用户密钥(user private key)
5) 生成Diffie Hellman参数
# ./build-dh
完成后,在keys目录下生成dh参数文件dh1024.pem
将/usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys 目录下的所有文件复制到/etc/openvpn下
# cp /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys/* /etc/openvpn/
# tar zcvf key.tar.gz keys
将生成的key.tar.gz下载备用
6)创建服务端配置文件server.conf
将/usr/share/doc/openvpn-2.2.2/sample-config-files/server.conf复制到/etc/openvpn/目录下server.conf并修改以下参数
# cp /usr/share/doc/openvpn-2.2.2/sample-config-files/server.conf /etc/openvpn/
# cd /etc/openvpn
# vi server.conf
# TCP or UDP server?
proto tcp
;proto udp
用分号注释proto udp,去掉proto tcp的分号注释,即使用tcp方式连接
;server 10.8.0.0 255.255.0.0
server 192.168.18.0 255.255.255.240
改成自己使用的IP网络段
user nobody
group nobody
去除user nobody 和group nobody前的分号,使系统使用nobody用户启动openvpn进程
log openvpn.log
;log-append openvpn.log
这两个建议去掉其中一个的分号,若不去除之一,openvpn的日志将写到系统日志中去。log项,每次启动将清空之前的openvpn.log;log-append项,日志是追加的(每次启动不清空之前的openvpn.log)
7)设置允许IP转发
在/etc/openvpn目录下编写openvpn-startup文件,内容如下:
# enable IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
完成以上所有操作后,openvpn基本上就配置完成了。
使用service openvpn start 即可启动openvpn,而后可以看到openvpn的进程
# chmod 777 openvpn-startup
# ps -ef | grep openvpn
nobody 27769 1 0 10:59 ? 00:00:00 /usr/sbin/openvpn --daemon --writepid /var/run/openvpn/server.pid --config server.conf --cd /etc/openvpn --script-security 2
使用ifconfig -a可以看到配置使用的openvpn接口tun0也已经启动
注:可能需要增加iptables的nat策略
# vi /etc/sysconfig/iptables
在最上面加下nat表
iptables -t nat -A POSTROUTING -s 192.168.18.0/28 -o eth0 -j MASQUERADE
其中的网络地址与server.conf中的网络配置应一致
# service iptables status
查看端口是否开放允许连接
# iptables -L -n
# netstat -anpt
3、配置openvpn客户端(windows)
在windows下安装 openvpn-2.2.2-install.exe
安装目录为
C:\Program Files\OpenVPN
1)加载密钥文件(用户user1,其它用户如user2则下载user2的用户密钥)
将服务端/etc/openvpn目录下的
user1.crt
user1.csr
user1.key
ca.crt
ca.key
文件下载到C:\Program Files\OpenVPN\config目录下
2)配置client.conf
将C:\Program Files\OpenVPN\sample-config\下的client.opvn复制到C:\Program Files\OpenVPN\config目录下,并修改之
proto tcp
;proto udp
用分号注释proto udp,去掉proto tcp的分号注释,即使用tcp方式连接(与服务端相等)
;remote my-server-1 1194
remote 112.124.71.227 1194
将服务器名改成实际的IP地址或者域名
cert user1.crt
key user1.key
cert和key改成实际用户user1的密钥
完成后即可使用 Openvpn GUI 与openvpn建立VPN连接。
参考:
Linux下OPENVPN的安装配置
http://www.liaosnet.com/?post=45
如何在openvz上安装openvpn
http://www.centos.bz/2011/03/how-to-install-openvpn-on-openvz/
http://wiki.guoshuang.com/OpenVPN
相关推荐
这是将linux下的openvpn移植到windows下,可以在windows下实现基于ssl vpn功能.zip
ciscovpn完全配置指南.pdf
openvpn基础知识-详细笔记文档总结
python库。 资源全名:openvpn_status-0.1.1-py2.py3-none-any.whl
Use this to get a proxy on kali
OpenVpn Tap驱动程序使用NdisReadConfiguration从注册表读取一些配置。 使用任何功能之前的一项显而易见的任务是必须阅读其手册 Note that NDIS does not validate values that a driver reads from the registry. ...
基于linux的+openvpn网络.pdf
简单管理openvpn3
openvpn3-arch-package
老男孩Linux运维笔记,超清版;实用有价值!对linux运维掌握很有帮助! 注:网上搜集, 仅学习使用,不可用于商业用途,如有版权问题,请联系删除!
这些是相同的简单脚本...一个用于启动/停止/切换特定隧道即服务(初始化脚本)。 第二个是建立或断开隧道时调用的脚本(上/下脚本)。 还提供了pyQt GUI界面。
根据本人运维经验,结合openVPN社区相关案例,针对TAP-Windows-adapter安装失败“an error occured installing the TAP device driver”错误提示,提出五种解决方案
linux企业实战运维入门到高级系列 ubuntu Centos ...自动化运维 安装kickstart文件(半自动化) ANSIBLE部署 企业级OpenVPN 安装OpenVPN 该笔记由刘森飚整理,版权归原作者所有 仅用于学习交流分享,如有争议请联系下架
4、 新增“VPN-L2TP配置-LAC作为客户端的典型配置 5、 新增“VPN-DVPN典型配置” 6、 新增“网络协议-NAT-NAT限制每个源地址最大TCP连接数典型配置” 7、 新增“安全-路由器与VRRP备份组虚地址之间建立...
可配置的属性 国家/地区代码(例如CA) 州(例如安大略省) 城市(例如多伦多) 组织(例如无) 组织单位(例如无) 通知属性 通知电子邮件 到中间CA的通知消息传递api 中级CA 中间CA对用户的所有客户端和...
H3CMSR系列路由器二层vpn接入功能典型配置案例归纳.pdf
openvpn-debian Ubuntu 的 openvpn debian 包的分支,更新到最新的 openvpn 版本
CISCO 防火墙 ASDM 安装和配置
安装OpenVPN 保护OpenVPN 在局域网中安装Orthanc ? 先决条件 Ansible> 2.5 Ansible> 2.9(用于SSH-sec角色) 在客户端计算机和服务器计算机之间已正确配置SSH身份验证。 安装 克隆项目并安装角色: git clone...
网络系统管理赛项软件包(服务模块软件包、普通PC软件包、无线地勘系统等)