使用centos系统搭建openvpn服务器
来源:互联网 发布:adobe cloud mac 下载 编辑:程序博客网 时间:2024/06/05 10:54
最近用虚拟机模拟搭建openvpn客户端,win7系统作为openvpn客户端,已达到win7系统访问虚拟机的局域网的目的。
一、搭建前提:
1 虚拟机下载(百度VMware)
2 虚拟机安装CentOs6.5系统(*.so下载网址:http://vault.centos.org/)
3 首先保证虚拟机能ping通外网
4 虚拟机网卡可以设置成桥接模式。
5 可能需要上一些国外网站下载资料(eg:www.openvpn.net),安装Lantern翻墙软件(百度搜索安装)后就可以上。
二、软件安装
(git命令安装:yum install -y git)
set_var EASYRSA_REQ_PROVINCE "Hongkong"
set_var EASYRSA_REQ_CITY "Hongkong"
set_var EASYRSA_REQ_ORG "52OS.NET"
set_var EASYRSA_REQ_EMAIL "admin@52os.net"
set_var EASYRSA_REQ_OU "52os Openvpn"
其它参数可以默认,也可以按需修改。
4、创建并签名服务器端证书:
5、创建Diffie-Hellman证书,该证书主要作用是确保共享KEY安全穿越不安全网络:(千万不要有任何中断操作,最好是看着这步完成)
6、创建并签名客户端证书:
1)允许vpn客户端所在网段流量转发到其它网卡:
一、搭建前提:
1 虚拟机下载(百度VMware)
2 虚拟机安装CentOs6.5系统(*.so下载网址:http://vault.centos.org/)
3 首先保证虚拟机能ping通外网
4 虚拟机网卡可以设置成桥接模式。
5 可能需要上一些国外网站下载资料(eg:www.openvpn.net),安装Lantern翻墙软件(百度搜索安装)后就可以上。
二、软件安装
依赖包:
yum install gcc gcc-c++ make -yyum install lzo lzo-devel -yyum install pam pam-devel -yyum install openssl openssl-devel -y
epel源里有openvpn,也可以用yum 安装:
yum install -y epel-releaseyum install openvpn三、SSL证书生成
1、看下openvpn版本:
(git命令安装:yum install -y git)
mkdir openvpncd openvpnyum install gitgit clone https://github.com/OpenVPN/easy-rsacd easy-rsa/easyrsa3/pwd/root/openvpn/easy-rsa/easy-rsa3初始化生成证书所需的信息,按实际情况修改:
cp vars.example varsvi vars:set_var EASYRSA_REQ_COUNTRY "CN"
set_var EASYRSA_REQ_PROVINCE "Hongkong"
set_var EASYRSA_REQ_CITY "Hongkong"
set_var EASYRSA_REQ_ORG "52OS.NET"
set_var EASYRSA_REQ_EMAIL "admin@52os.net"
set_var EASYRSA_REQ_OU "52os Openvpn"
其它参数可以默认,也可以按需修改。
3、初始化并创建ca根证书:
./easyrsa init-pki./easyrsa build-ca一路回车,要求输密码的就输密码。ca证书需要输入密码,这个密码是给服务器端和客户端签名时用的(密码随便设置,eg:openvpn)。
4、创建并签名服务器端证书:
./easyrsa gen-req server nopass./easyrsa sign server server同样一路回车即可。
5、创建Diffie-Hellman证书,该证书主要作用是确保共享KEY安全穿越不安全网络:(千万不要有任何中断操作,最好是看着这步完成)
./easyrsa gen-dh(此过程需要几分钟,唯一需要做的事情就是把手放到口袋里,等完成了再操作)
6、创建并签名客户端证书:
./easyrsa gen-req client nopass./easyrsa sign client client
7、所有证书文件:(yum install -y tree)
yum install -y treetree pki/
pki/├── ca.crt├── certs_by_serial│ ├── 01.pem│ └── 02.pem├── dh.pem├── index.txt├── index.txt.attr├── index.txt.attr.old├── index.txt.old├── issued│ ├── client.crt│ └── server.crt├── private│ ├── ca.key│ ├── client.key│ └── server.key├── reqs│ ├── client.req│ └── server.req├── serial└── serial.old
四、配置openvpn服务器端和客户端
1、服务器端配置
openvpn的源码目录中已经有配置模版了,复制模版:
find / -name openvpn-2.4.1/usr/share/doc/openvpn-2.4.1cd /usr/share/doc/openvpn-2.4.1cp sample/sample-config-files/server.conf /etc/openvpn/
2、复制证书文件:
cp pki/dh.pem pki/ca.crt pki/issued/server.crt pki/private/server.key /etc/openvpn/
3、贴一份服务器端配置:(修改完之后的)
grep '^[^#;]' /etc/openvpn/server.conf
port 1194proto tcpdev tunca /etc/openvpn/ca.crtcert /etc/openvpn/server.crtkey /etc/openvpn/server.key # This file should be kept secretdh /etc/openvpn/dh.pemserver 10.8.0.0 255.255.255.0ifconfig-pool-persist ipp.txtclient-to-clientduplicate-cnkeepalive 10 120cipher AES-256-CBCcomp-lzopersist-keypersist-tunstatus openvpn-status.loglog-append openvpn.logverb 54、启动openvpn:(如何有错误的话,可以去/etc/openvpn/下查看openvpn.log日志文件)
service openvpn start5、开启路由转发:
sed -i '/net.ipv4.ip_forward/s/0/1/' /etc/sysctl.confsysctl -p6、防火墙策略配置:
1)允许vpn客户端所在网段流量转发到其它网卡:
iptables -Fiptables -t nat -Fiptables -I FORWARD -s 10.8.0.0/24 -j ACCEPT2)将vpn客户端的流量转到eth0,允许vpn客户端上网,即NAT:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE3)还需根据vpn服务器端的工作模式放开tcp/udp的1194端口:
iptables -I INPUT -p tcp --dport 1194 -m comment --comment "openvpn" -j ACCEPT
service iptables save
4.2 客户端配置:
这里我用的win7系统作为客户端,软件可以去官网下载:https://openvpn.net/index.php/open-source/downloads.html
我用的是win7 64位系统,是Vista之后的版本,所以选择openvpn-install-2.3.14-I601-x86_64.exe下载。
# 复制一份client.conf模板命名为client.ovpn
cp /usr/share/doc/openvpn-2.4.1/sample/sample-config-files/client.conf client.ovpn将client.ovpn client.crt client.key ca.crt打包传到win7机器上(我上传到E:\work\testcli),client.ovpn配置文件中要用。
vim client.ovpn:#指明是客户端client#模式选择;dev tapdev tun#定义Windows下使用的网卡名称,linux不需要;dev-node MyTap#协议选择,与服务端一致proto tcp;proto udp#要连接的远程服务器ip和portremote 192.168.74.169 1194;remote my-server-2 1194# 若上面配置了多台服务器,让客户端随机连接;remote-random# 解析服务器域名resolv-retry infinite#客户端不绑定端口nobind# 也是为了让Openvpn以nobody运行(安全)# 注意:Windows不能设置);user nobody;group nobody# Try to preserve some state across restarts.persist-keypersist-tun# 若客户端通过HTTP Proxy,在这里设置# 要使用Proxy,不能使用UDP为VPN的通讯协议;http-proxy-retry # retry on connection failures;http-proxy [proxy server] [proxy port #]# 无线网络有很多多余的头文件,设置忽略它;mute-replay-warnings# 重点,就是指定ca和客户端的证书ca E:\\work\\testcli\\ca.crtcert E:\\work\\testcli\\client.crtkey E:\\work\\testcli\\client.key# 如果服务端打开了PAM认证模块,客户端需要令其有效remote-cert-tls server#防止Ddos和udp flooding攻击(客户端后跟1);tls-auth ta.key 1#可以不修改cipher AES-256-CBC# 使用lzo压缩,与服务端一致comp-lzo# Set log file verbosity.verb 5# Silence repeating messages;mute 20
本文参考文章:
1)配置参考文档:https://www.52os.net/articles/linux-openvpn-server-setup.html
2)客户端报VERIFY ERROR: depth=1, error=certificate is not yet valid 错误参考文档:http://flashing.iteye.com/blog/2249331
3)虚拟机与主机时间同步参考文档:http://blog.csdn.net/dearwind153/article/details/7679914
0 0
- 使用centos系统搭建openvpn服务器
- CentOS系统使用openvpn搭建vpn服务器图文教程
- Centos 搭建OpenVPN 服务器
- linux服务器搭建使用openvpn搭建vpn
- centos搭建openvpn经验
- OpenVPN for CentOS搭建
- CentOS搭建OpenVPN
- CentOS搭建openVPN
- OpenVPN 服务器搭建详解
- openvpn 服务器客户端搭建
- centos7搭建openvpn服务器
- CentOS7搭建OpenVPN服务器
- openvpn服务器搭建
- CentOS搭建OpenVPN服务【转载】
- CentOS 下openvpn 的搭建
- CentOS OpenVPN的搭建方法
- 在CentOS下搭建OpenVPN
- CentOS 搭建OpenVPN 代理上网
- UltraWinGrid:单元格添加可嵌入编辑器
- uuid的自动生成
- HashMap与ConcurrentHashMap的区别
- jmeter参数化数据之自定义变量
- 创建并发布一个JSP网站
- 使用centos系统搭建openvpn服务器
- android为什么要打包(签名)?及 apk 打包(签名)流程
- 西门子培训1——RFID
- git 指令(git command [option] [reference])
- C# 变量
- 【阿里云服务器】phpmyadmin配置问题
- ZooKeeper的部署以及简单使用
- Spring应用、原理以及粗读源码系列(一)--框架总述、以Bean为核心的机制(IoC容器初始化以及依赖注入)
- 服务端设置SESSION流程