前言
由于自己只在win10
系统上安装过 OpenVPN
工具,近期在使用macOs
系统时需要安装该工具时抓瞎了。所以特此记录一下过程,也希望可以帮助到第一次使用的同学。
OpenVPN工具安装
推荐官网:FileHorse.com / Free Softw...
filehorse 是专门收集免费软件的网站,包含Windows端和Mac端的电脑软件,以免费使用、免费开源的软件为主,是安全的!
安装 OpenVPN Connect
直接搜索后发现其实有一个OpenVPN Connect
是适用于 mac 系统的,但是我下载时失败了,点击下载没反应。可能是网络的问题,也可能是页面下载功能有问题。如果可以正常下载可以直接安装使用。

安装OpneVPN
windows
系统可以直接下载这个安装程序,当下载下来后发现是一个 .tar.gz
的压缩包:

压缩包文件安装步骤
下载并解压文件:
-
打开终端(Terminal)。
-
导航到下载文件所在的目录,例如:
bashcd ~/Downloads
-
使用以下命令解压
.tar.gz
文件:tar -xzvf openvpn-version.tar.gz
安装OpenVPN
-
通常,解压后会有一个名为
configure
的脚本,需要运行这个脚本进行配置:bashcd openvpn-version ./configure
-
然后编译并安装:
gomake sudo make install
配置OpenVPN:
-
需要一个
.ovpn
配置文件。这通常由你们公司运维负责人提供。 -
将该文件放置在合适的目录,例如:
bashsudo mv your-config-file.ovpn /etc/openvpn/
运行OpenVPN:
-
使用以下命令启动OpenVPN:
arduinosudo openvpn /etc/openvpn/your-config-file.ovpn
-
输入VPN账户信息(如果需要)。
连接验证:
可以通过访问IP检测网站检查您的IP地址是否已更改,以验证是否已成功连接到VPN。
homeBrew方式安装(推荐)
确保你的系统已安装 homebrew
,它是啥就不多说了,如果没有安装,可以通过以下命令安装:
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
搜索:brew search openvpn
然后通过 homebrew
安装:brew install openvpn
可以发现这里 casks
里也有 openvpn-conect
, casks
代表的是图形界面程序。
Tunnelblick工具安装使用(mac本 推荐)
Tunnelblick工具是直接导入 openvpn 所有配置文件的,包含 证书和密钥文件。
- 官网下载tunnelblick.net
- 安装
Tunnelblick
- 打开
Tunnelblick
,界面如下,选择"我有设置文件" Tunnelblick
支持两种类型的设置文件,选择"Openvpn设置"- 选择"打开私人设置文件夹",将自动打开一个文件夹,将附件拷贝进文件夹内
- 点击桌面右上角的
Tunnelblick
图标,这时候可以看到可用的Openvpn
连接,点击一个,连接试试看 - 输入用户名和密码进行认证登录
- 选项设置

链接成功后,就可以访问指定 ip
服务了,如果有失败情况,可以通过查看日志排查。
工作中使用 vpn 场景
由于 你司的某个项目必须使用客户方的内网访问,而你不可能一直呆在客户现场。你在公司要想直接访问客户内网服务是不可以的! 此时,你司运维人员就会搭建 vpn 服务,让开发人员可以通过 vpn 代理的方式能够从外网访问到目标内网。
如果你是第一次使用 vpn工具,一般 情况你要去找公司运维负责人或者你的领导,问他要一下 vpn 配置文件。他会在后台给你配置好属于你的 vpn 相关配置文件然后发给你。
vpn使用相关
-
例子
比如你要参与一个外网不能直接访问的项目,这个项目的服务器 ip 地址假如为:
80.22.33.44
, 此时如果你已经有了运维给的 vpn 配置文件,本地vpn客户端工具也配好了,但你直接连接后也是访问不到这台服务器的!!!因为这个项目使用的服务器 ip 地址
80.22.33.44
,这个ip 还没有被加入,此时你就需要把这个 ip 地址发给运维人员让他给你加一下这个ip的地址。 他那边添加好后,你就有权限访问了,需要断开 vpn 工具重新连接后,不出意外就可以正常访问了。
域名相关
假如上述项目服务ip 地址 80.22.33.44
有域名地址: https://abc.ceshi.cc.cn
此时就算配置完 vpn 你也不能使用这个域名地址直接访问,因为你本机的 DNS 没有配置该域名解析为对应的 IP 地址。
所以需要手动配置本地 DNS 解析表,使域名解析到目标 IP 地址:
Windows系统
打开文件 C:\Windows\System32\drivers\etc\hosts
。
添加如下代码,保存文件, 意思就是 将 80.22.33.44
地址和域名做映射
arduino
80.22.33.44 https://abc.ceshi.cc.cn
macOS/Linux系统
编辑 /etc/hosts
文件
添加如下代码,保存文件
arduino
80.22.33.44 https://abc.ceshi.cc.cn
然后尝试使用 域名地址进行访问,不出意外的话此时用域名进行访问时也可以了。
openvpn 配置文件如何在 clashx 客户端中使用(不太推荐)
我们发现使用 clashx
都是 url
订阅地址导入配置文件的形式,配置文件是一个 .yaml
文件。 而一般公司里使用 openvpn
提供给我们的配置文件是一个文件夹,其中包含:
- .ovpn
- ca.crt (CA 证书)
- xxname.crt (客户端证书)
- xxname.key (客户端私钥)
- ta.key
不推荐理由:
因为需要使用到 name、password,需要写到配置文件中。将用户名和密码直接写入配置文件存在安全隐患,尤其是如果这个文件被共享、泄露或存储在不安全的地方时。
而Tunnelblick
通常会使用 macOS 的钥匙串(Keychain)来安全存储用户的凭据。这样,用户的密码不会直接存储在配置文件中,而是安全地存放在系统的钥匙串中,只有在需要时才会被访问。这种方法提高了安全性,因为即使配置文件被泄露,密码依然是安全的。
clashx中使用本地自定义配置文件
打开 clashx 配置目录,添加 openvpn 的配置文件
目录结构
js
├── openvpn-config.yaml # 你的 OpenVPN 配置文件
├── certs/ # 存放证书和密钥的文件夹
│ ├── ca.crt # CA 证书
│ ├── client.crt # 客户端证书
│ ├── client.key # 客户端私钥
└── other-configs.yaml # 其他以url 形式导入的配置文件
YAML 配置示例
在你的 openvpn-config.yaml
文件中,你可以按如下方式引用证书和密钥:
yaml
proxies:
- name: "My OpenVPN"
type: openvpn
server: "vpn.yourserver.com" # 你的 VPN 服务器地址
port: 1194 # VPN 端口
cipher: "AES-128-CBC" # 加密方式
username: "your_username" # 用户名
password: "your_password" # 密码(不推荐直接在文件中存储)
ca: "certs/ca.crt" # CA 证书路径
cert: "certs/client.crt" # 客户端证书路径
key: "certs/client.key" # 客户端私钥路径
然后选择刚创建的 openvpn-config.yaml
配置文件,连接测试即可。