Mac配置openvpn服务端和客户端

来源:互联网 发布:python 日期加减 月份 编辑:程序博客网 时间:2024/05/16 12:09
1.用brew下载openvpn
brew install openvpn


2.命令行输入

openvpn --version
如果没有看到版本信息,就是还没有创建软连接,需要自己手动创建软连接,看步骤2.1,否则看步骤3

2.1 手动创建软连接

brew list openvpn // 得到openvpn的安装地址// 格式大概是这一个的     /usr/local/Cellar/openvpn/2.3.11/sbin/openvpn// 然后创建软连接ln -s /usr/local/Cellar/openvpn/2.3.11/sbin/openvpn /usr/local/bin/openvpn
再执行步骤2,此时应该能看到版本信息

3 如果openvpn安装的版本低于 2.3.x,需要自己安装easy-rse,记得安装easy-rse 2.x版本,3.0以上版本有大改动
https://github.com/OpenVPN/easy-rsa/tree/release/2.x

下载下来后,终端进入 easy-rsa/easy-rsa/2.0/


4. 配置环境

cp openssl-1.0.0.cnf openssl.confsubl vars
在vars文件里最后加上
export KEY_COUNTRY="CN"export KEY_PROVINCE="GD"export KEY_CITY="GuangZhou"export KEY_ORG="deng.CN"export KEY_EMAIL="open@vpn.mac.cn"export KEY_OU=server
接着输入命令
source ./vars./clean-all

5.制作根证书
./build-ca
一直回车就行了,[]内是默认设置


6.制作服务器密钥,一路回车

./build-key-server server


输入密码。也可以不输入吧?

最后会有两次确认,输入y确认


7.制作Diffie Hellman parameters

./build-db
经过1分钟的等待


8.生成客户端密钥,和制作服务器密钥操作一样

./build-key client

9.keys文件夹复制到openvpn目录下
cp -r ./keys /usr/local/etc/openvpn/keys

10.配置openvpn服务器
1.进入openvpn所在目录cd /usr/local/etc/openvpn2.打开server.confsubl server.conf
配置文件内容如下
;local 192.168.3.1# 服务器的端口号,默认443,根据需要自行修改,如果只用http代理连接不要修改port 443# 通过TCP协议连接proto tcp# 路由模式 TUN, mac或linux设置为 TUN, window设置 tapdev tun# 根证书的存放位置ca ./keys/ca.crtcert ./keys/server.crtkey ./keys/server.keydh ./keys/dh2048.pem# 虚拟局域网网段设置,根据需要自行修改,不要和上网网卡同一个网段就行server 172.16.0.0 255.255.255.0# openvpn重启时,再次连接的客户端依然被分配到以前一样的IP地址ifconfig-pool-persist ipp.txt# 表示client通过VPN SERVER上网push "route 0.0.0.0 0.0.0.0"# 表示客户端所有网络通信通过VPNpush "redirect-gateway def1 bypass-dhcp"# DNS配置,根据实际情况配置push "dhcp-option DNS 208.67.222.222"push "dhcp-option DNS 208.67.220.220"# 使客户端之间能相互通信client-to-client# 用于测试,注释该命令,限制一个证书一个时刻只能一个客户端连入duplicate-cnkeepalive 10 120# 允许数据压缩与客户端保持一直comp-lzo# openvpn的用户认证,可以不用用户认证;user nobody;group nobody# 通过keepalive检测超时后,重新启动VPN,不重新读取keys,保留第一次使用的keys;persist-key# 定期把openvpn的一些状态信息写到文件中,以便自己写程序计费或者进行其他操作status openvpn-status-server.log# 设置日志记录级别verb 3# 重复日志记录限额mute 20

运行服务器端
sudo openvpn server.conf
当能输出 Initialzaiton Sequence Completed 启动成功

11.配置客户端

1.打开client.conf
配置文件内容如下
# 定义一个客户端client# 和服务器保持一致dev tun# 用TCP协议proto tcp# 指定服务器的IP地址和端口,可以用多行指定多台服务器,实现负载均衡remote localhost 443;remote-randomresolv-retry infinite# 客户端不需要绑定端口nobindpersist-keypersist-tunmute-replay-warnings# 根据实际情况添加ca ./keys/ca.crtcert ./keys/client.crtkey ./keys/client.keycomp-lzoverb 3;mute 20

当开启openvpn服务器端后再运行客户端后,输出如下


当客户端输出 Initialzaiton Sequence Completed,说明配置成功,此时电脑出现连不上网的情况,关闭openvpn客户端后就能正常上网


参考文章

http://blog.sina.com.cn/s/blog_50d48c190101ghoy.html
https://openvpn.net/index.php/open-source/documentation/howto.html#examples

0 0
原创粉丝点击