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这个解决方案 ...
随机推荐
- 用OLEDB读取EXCEL时,单元格内容长度超过255被截断
https://support.microsoft.com/zh-cn/help/189897/data-truncated-to-255-characters-with-excel-odbc-dri ...
- kalilinux、parrotsecos没有声音
Kali Linux系统默认状态下,root用户是无法使用声卡的,也就没有声音.启用的方法如下: (1)在终端执行命令:systemctl --user enable pulseaudio (2)在/ ...
- 利用SQL表生成按日期序列的唯一ID
1. 创建一个表,用于存现在最大的ID SELECT [ID],[PreFix],[Code] FROM [DocumentNO] 2. 增加SP,利用锁表,生成相应的ID Create PROCED ...
- 使用google chrome抓取数据:抓取全国的高中的数据
http://tomycat.github.io/blog/other/2014/05/28/use-google-chrome-capture-data.html
- 10.05 最初对Linux的了解,对Shell的认识
linux的起源:UNIX,代码开源,可以得到源代码,然后自己编译,通过以后可以运行程序. 特点:免费的;兼容POSIX1.0标准;多用户,多任务系统;良好的用户界面;提供了图形界面;支持多种文件系统 ...
- VS中C#连接SQLite数据库处理器架构“x86”不匹配的问题
原文链接 https://www.cnblogs.com/zhaoliankun/p/9088200.html 我的环境配置:windows 64,VS,SQLite(点击下载),System.Dat ...
- Android Preferences: How to load the default values when the user hasn't used the preferences-screen?
在启动 preferences 之前,默认值并不能生效.第一次运行程序时候,默认值没生效,然后获取的 preferences 的值就是错误的. 解决办法是在程序开始时加一行代码使默认值生效. Pref ...
- linux中使用unzip命令中文乱码解决办法
今天在使用unzip进行解压缩文件时,发现解压出的文件中文乱码,最后使用如下命令解决: unzip -O CP936 xxx.zip 特此记录一下.
- Java容器中的元素输出
1.容器不同于数组,容器若是想输出全部元素,可以直接利用System.out.println(collection) public class TestCollectionArrayPrint { p ...
- 苹果笔记本调整 pycharm 字体大小的地方
我想,对于习惯了使用windows版本 或者 乌班图版本 的pycharm 的人而言, mac版本调节字体的地方藏的实在是太坑爹了.