说明:我未实践,大概就是这几个步骤,建议服务器在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  
再执行步骤2,此时应该能看到版本信息

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服务器以及客户端的使用的更多相关文章

  1. CentOS 6.9/Ubuntu 16.04搭建OpenVPN服务器以及客户端的使用

    说明: 1.发现一个很奇怪的现象,CentOS和Ubuntu有着对用户不同的管理理念,比如CentOS中安装一切软件都是以root优先(su -),而Ubuntu则以当前用户优先,安装软件以sudo开 ...

  2. Ubuntu 16.04搭建OpenVPN服务器以及客户端的使用

    说明:启动时注意用户权限,比如root用户启动. Ubuntu: 服务器环境:Ubuntu 16.04 64位系统 内网IP:10.143.80.116 外网IP:203.195.1.2 OpenVP ...

  3. Mac 10.12安装OpenVPN客户端

    说明: 1.在Mac下有很多漂亮的客户端可以安装,比如Tunnelblick这些等等. 2.但这里直接先原版的OpenVPN进行搭建,这个比较爽. 安装: brew install openvpn 提 ...

  4. Windows操作系统下搭建Git服务器和客户端。

    本文将介绍如何在Windows操作系统下搭建Git服务器和客户端.服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配 ...

  5. mac 10.12 sierra 机械键盘+ratm可编程鼠标记录

      系统:mac 10.12 sierra 键盘:机械键盘 鼠标:mad catz ratm 在mac 10.11/10.12 之前: 机械键盘:一般的机械键盘在mac上使用, alt 和 win 键 ...

  6. centos7搭建svn服务器及客户端设置

    centos7搭建svn服务器及客户端设置 centos7貌似预装了svn服务(有待确认),因此我们直接启动该服务即可 一.svn服务端配置(服务器IP假设为192.168.100.1) 步骤1:创建 ...

  7. CentOS6下搭建OpenVPN服务器

    • OpenVPN简介 OpenVPN是一个用于创建虚拟专用网络(Virtual Private Network)加密通道的免费开源软件.使用OpenVPN可以方便地在家庭.办公场所.住宿酒店等不同网 ...

  8. (转)初学Git及简单搭建git服务器和客户端

    终于搞定,mac自己作为git服务器,mac也是客户端,如何免登 从另外一个linux服务器的上传公钥得到提示 ssh-copy-id -i ~/.ssh/id_rsa.pub git@192.168 ...

  9. 烂泥:ubuntu 14.04搭建OpenVPN服务器

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 公司分部需要连接公司内部的服务器,但是该服务器只允许公司内部的网络访问. 为了解决这个问题,打算使用VPN.对于VPN以前使用最多的是PPTP这个解决方案 ...

随机推荐

  1. 用OLEDB读取EXCEL时,单元格内容长度超过255被截断

    https://support.microsoft.com/zh-cn/help/189897/data-truncated-to-255-characters-with-excel-odbc-dri ...

  2. kalilinux、parrotsecos没有声音

    Kali Linux系统默认状态下,root用户是无法使用声卡的,也就没有声音.启用的方法如下: (1)在终端执行命令:systemctl --user enable pulseaudio (2)在/ ...

  3. 利用SQL表生成按日期序列的唯一ID

    1. 创建一个表,用于存现在最大的ID SELECT [ID],[PreFix],[Code] FROM [DocumentNO] 2. 增加SP,利用锁表,生成相应的ID Create PROCED ...

  4. 使用google chrome抓取数据:抓取全国的高中的数据

    http://tomycat.github.io/blog/other/2014/05/28/use-google-chrome-capture-data.html

  5. 10.05 最初对Linux的了解,对Shell的认识

    linux的起源:UNIX,代码开源,可以得到源代码,然后自己编译,通过以后可以运行程序. 特点:免费的;兼容POSIX1.0标准;多用户,多任务系统;良好的用户界面;提供了图形界面;支持多种文件系统 ...

  6. VS中C#连接SQLite数据库处理器架构“x86”不匹配的问题

    原文链接 https://www.cnblogs.com/zhaoliankun/p/9088200.html 我的环境配置:windows 64,VS,SQLite(点击下载),System.Dat ...

  7. Android Preferences: How to load the default values when the user hasn't used the preferences-screen?

    在启动 preferences 之前,默认值并不能生效.第一次运行程序时候,默认值没生效,然后获取的 preferences 的值就是错误的. 解决办法是在程序开始时加一行代码使默认值生效. Pref ...

  8. linux中使用unzip命令中文乱码解决办法

    今天在使用unzip进行解压缩文件时,发现解压出的文件中文乱码,最后使用如下命令解决: unzip -O CP936 xxx.zip 特此记录一下.

  9. Java容器中的元素输出

    1.容器不同于数组,容器若是想输出全部元素,可以直接利用System.out.println(collection) public class TestCollectionArrayPrint { p ...

  10. 苹果笔记本调整 pycharm 字体大小的地方

    我想,对于习惯了使用windows版本 或者 乌班图版本 的pycharm 的人而言, mac版本调节字体的地方藏的实在是太坑爹了.