Mac 10.12搭建OpenVPN服务器以及客户端的使用
说明:我未实践,大概就是这几个步骤,建议服务器在Linux下搭建效果会更好。
1.用brew下载openvpn
brew install openvpn
2.命令行输入
openvpn --version
如果没有看到版本信息,就是还没有创建软连接,需要自己手动创建软连接,看步骤2.1,否则看步骤3
2.1 手动创建软连接
brew list openvpn //得到openvpn的安装地址 //格式大概是这一个的 /usr/local/Cellar/openvpn//sbin/openvpn // 然后创建软连接 /sbin/openvpn /usr/local/bin/openvpn
3.安装easy-rse,记得安装easy-rse 2.x版本,3.0以上版本有大改动
https://github.com/OpenVPN/easy-rsa/tree/release/2.x
wget https://github.com/OpenVPN/easy-rsa/releases/download/2.2.2/EasyRSA-2.2.2.tgz .tgz
cd EasyRSA-
4.配置easy-rsa
vim vars
# 修改注册信息,比如公司地址、公司名称、部门名称等。 export KEY_COUNTRY="CN" export KEY_PROVINCE="Shandong" export KEY_CITY="Qingdao" export KEY_ORG="MyOrganization" export KEY_EMAIL="me@myhost.mydomain" export KEY_OU="MyOrganizationalUnit"
# 初始化环境变量 source vars # 清除keys目录下所有与证书相关的文件 # 下面步骤生成的证书和密钥都在keys目录里 ./clean-all # 生成根证书ca.crt和根密钥ca.key(一路按回车即可) ./build-ca # 为服务端生成证书和私钥(一路按回车,直到提示需要输入y/n时,输入y再按回车,一共两次) ./build-key-server server # 每一个登陆的VPN客户端需要有一个证书,每个证书在同一时刻只能供一个客户端连接,下面建立2份 # 为客户端生成证书和私钥(一路按回车,直到提示需要输入y/n时,输入y再按回车,一共两次) ./build-key client1 ./build-key client2 # 创建迪菲·赫尔曼密钥,会生成dh2048.pem文件(生成过程比较慢,在此期间不要去中断它) ./build-dh # 生成ta.key文件(防DDos攻击、UDP淹没等恶意攻击) openvpn --genkey --secret keys/ta.key
5.创建服务器端配置文件
# 在openvpn的配置目录下新建一个keys目录 mkdir /etc/openvpn/keys # 将需要用到的openvpn证书和密钥复制一份到刚创建好的keys目录中 cp keys/{ca.crt,server.{crt,key},dh2048.pem,ta.key} /etc/openvpn/keys/ # 复制一份服务器端配置文件模板server.conf到/etc/openvpn/ cp /usr/local/etc/openvpn/server.conf /etc/openvpn/ # 查看server.conf里的配置参数 grep '^[^#;]' /etc/openvpn/server.conf # 编辑server.conf(如果上面没有这个文件直接这里编辑输入下面的内容) vim /etc/openvpn/server.conf
port 1194 # 改成tcp,默认使用udp,如果使用HTTP Proxy,必须使用tcp协议 proto tcp dev tun # 路由模式,桥接模式用dev tap # 路径前面加keys,全路径为/etc/openvpn/keys/ca.crt ca keys/ca.crt cert keys/server.crt key keys/server.key # This file should be kept secret dh keys/dh2048.pem # 默认虚拟局域网网段,不要和实际的局域网冲突即可 server 10.8.0.0 255.255.255.0 # 路由模式,桥接模式用server-bridge ifconfig-pool-persist ipp.txt # 10.0.0.0/8是我这台VPN服务器所在的内网的网段,读者应该根据自身实际情况进行修改 push "route 10.0.0.0 255.0.0.0" # 可以让客户端之间相互访问直接通过openvpn程序转发,根据需要设置 client-to-client # 如果客户端都使用相同的证书和密钥连接VPN,一定要打开这个选项,否则每个证书只允许一个人连接VPN duplicate-cn keepalive 10 120 tls-auth keys/ta.key 0 # This file is secret comp-lzo persist-key persist-tun # OpenVPN的状态日志,默认为/etc/openvpn/openvpn-status.log status openvpn-status.log # OpenVPN的运行日志,默认为/etc/openvpn/openvpn.log log-append openvpn.log # 改成verb 5可以多查看一些调试信息 verb 5
6.启动服务
# 启动openvpnsudo openvpn /etc/openvpn/server.conf
7.创建客户端配置文件client.ovpn(用于客户端软件使用)
# 复制一份client.conf模板命名为client.ovpn cp /usr/local/etc/openvpn/client.conf /etc/openvpn/client.ovpn # 编辑client.ovpn(如果没有直接编辑创建) vim /etc/openvpn/client.ovpn
client dev tun # 路由模式 # 改为tcp proto tcp # OpenVPN服务器的外网IP和端口 remote 203.195.1.2 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt # client1的证书 cert client1.crt # client1的密钥 key client1.key ns-cert-type server # 去掉前面的注释 tls-auth ta.key 1 comp-lzo verb 5
8.客户端的使用:
参考:http://www.cnblogs.com/EasonJim/p/8341499.html
参考:
http://blog.csdn.net/zhzdeng/article/details/52929801
Mac 10.12搭建OpenVPN服务器以及客户端的使用的更多相关文章
- CentOS 6.9/Ubuntu 16.04搭建OpenVPN服务器以及客户端的使用
说明: 1.发现一个很奇怪的现象,CentOS和Ubuntu有着对用户不同的管理理念,比如CentOS中安装一切软件都是以root优先(su -),而Ubuntu则以当前用户优先,安装软件以sudo开 ...
- Ubuntu 16.04搭建OpenVPN服务器以及客户端的使用
说明:启动时注意用户权限,比如root用户启动. Ubuntu: 服务器环境:Ubuntu 16.04 64位系统 内网IP:10.143.80.116 外网IP:203.195.1.2 OpenVP ...
- Mac 10.12安装OpenVPN客户端
说明: 1.在Mac下有很多漂亮的客户端可以安装,比如Tunnelblick这些等等. 2.但这里直接先原版的OpenVPN进行搭建,这个比较爽. 安装: brew install openvpn 提 ...
- Windows操作系统下搭建Git服务器和客户端。
本文将介绍如何在Windows操作系统下搭建Git服务器和客户端.服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配 ...
- mac 10.12 sierra 机械键盘+ratm可编程鼠标记录
系统:mac 10.12 sierra 键盘:机械键盘 鼠标:mad catz ratm 在mac 10.11/10.12 之前: 机械键盘:一般的机械键盘在mac上使用, alt 和 win 键 ...
- centos7搭建svn服务器及客户端设置
centos7搭建svn服务器及客户端设置 centos7貌似预装了svn服务(有待确认),因此我们直接启动该服务即可 一.svn服务端配置(服务器IP假设为192.168.100.1) 步骤1:创建 ...
- CentOS6下搭建OpenVPN服务器
• OpenVPN简介 OpenVPN是一个用于创建虚拟专用网络(Virtual Private Network)加密通道的免费开源软件.使用OpenVPN可以方便地在家庭.办公场所.住宿酒店等不同网 ...
- (转)初学Git及简单搭建git服务器和客户端
终于搞定,mac自己作为git服务器,mac也是客户端,如何免登 从另外一个linux服务器的上传公钥得到提示 ssh-copy-id -i ~/.ssh/id_rsa.pub git@192.168 ...
- 烂泥:ubuntu 14.04搭建OpenVPN服务器
本文由秀依林枫提供友情赞助,首发于烂泥行天下 公司分部需要连接公司内部的服务器,但是该服务器只允许公司内部的网络访问. 为了解决这个问题,打算使用VPN.对于VPN以前使用最多的是PPTP这个解决方案 ...
随机推荐
- jQuery动画中stop()与 finish()区别
stop():接受三个参数,(要停止的动画名称:是否清空队列中的动画:是否当前动画立即完成) stop()相当于stop(false,false)表示停止执行当前动画,后续动画接着进行 stop(tr ...
- 在Word 中撰写并发布到博客的帮助
目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...
- ORA-00054、ORA-08002
https://docs.oracle.com/cd/B10501_01/server.920/a96525/e7500.htm ORA-00054 resource busy and acquire ...
- 23 DesignPatterns学习笔记:C++语言实现 --- 2.6 Facade
23 DesignPatterns学习笔记:C++语言实现 --- 2.6 Facade 2016-07-22 (www.cnblogs.com/icmzn) 模式理解
- TCP的几个状态(SYN/FIN/ACK/PSH/RST)
在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG. 其中,对于我们日常的分析有用的就是前面的五个字段. 含义: SYN 表示建立连接, ...
- zabbix监控cpu jumps
cpu监控图形分为三种 cpu jumps cpu突发 包含 context switches per second 进程线程切换 interrupts per second 每秒的中断次数 cpu ...
- CentOS 7更换yum源
1. 首先备份 sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2. 使用阿里云的 ...
- Debug就是Debug,Release就是Release
现在线上发布的时候使用的是增量发布,什么是增量发布呢,就是变化什么,上什么.最近把jenkins搭建上去了,发现每次dll文件大小不一样,已查询发现原来是两个模式debuge模式与release模式搞 ...
- 开源一款强大的文件服务组件(QJ_FileCenter)(系列二 安装说明)
系列文章 1. 开源一款强大的文件服务组件(QJ_FileCenter)(系列一) 2. 开源一款强大的文件服务组件(QJ_FileCenter)(系列二 安装说明) 3. 开源一款强大的文件服务组件 ...
- Cesium开发实践汇总
一.简介.开发环境搭建 二.Viewer控件 三.地图图层介绍 四.地形介绍 五.坐标变换 六.CZML 七.3D模型