记一次macOs系统安装使用vpn过程

前言

由于自己只在win10系统上安装过 OpenVPN 工具,近期在使用macOs系统时需要安装该工具时抓瞎了。所以特此记录一下过程,也希望可以帮助到第一次使用的同学。

OpenVPN工具安装

推荐官网:FileHorse.com / Free Softw...

filehorse 是专门收集免费软件的网站,包含Windows端和Mac端的电脑软件,以免费使用、免费开源的软件为主,是安全的!

安装 OpenVPN Connect

直接搜索后发现其实有一个OpenVPN Connect是适用于 mac 系统的,但是我下载时失败了,点击下载没反应。可能是网络的问题,也可能是页面下载功能有问题。如果可以正常下载可以直接安装使用。

安装OpneVPN

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

压缩包文件安装步骤

下载并解压文件:
  • 打开终端(Terminal)。

  • 导航到下载文件所在的目录,例如:

    bash 复制代码
    cd ~/Downloads
  • 使用以下命令解压 .tar.gz 文件:

    复制代码
    tar -xzvf openvpn-version.tar.gz
安装OpenVPN
  • 通常,解压后会有一个名为 configure 的脚本,需要运行这个脚本进行配置:

    bash 复制代码
    cd openvpn-version
    ./configure
  • 然后编译并安装:

    go 复制代码
    make
    sudo make install
配置OpenVPN:
  • 需要一个 .ovpn 配置文件。这通常由你们公司运维负责人提供。

  • 将该文件放置在合适的目录,例如:

    bash 复制代码
    sudo mv your-config-file.ovpn /etc/openvpn/
运行OpenVPN:
  • 使用以下命令启动OpenVPN:

    arduino 复制代码
    sudo 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 配置文件,连接测试即可。

相关推荐
归辞...3 小时前
「iOS」————weak底层原理
macos·ios·cocoa
ghostwritten12 小时前
macOS安装配置Unbound DNS完整指南
macos·策略模式·dns
超龄超能程序猿13 小时前
Vue3 + Electron 技术栈下 MAC 地址获取的方法、准确性优化与应对策略
macos·electron·策略模式
ihui数学建模1 天前
【Mac版】Linux 入门命令行快捷键+联想记忆
linux·运维·macos
可曾去过倒悬山2 天前
mac操作笔记
macos
可曾去过倒悬山2 天前
Mac上优雅简单地使用Git:从入门到高效工作流
git·elasticsearch·macos
山楂树の2 天前
模型优化——在MacOS 上使用 Python 脚本批量大幅度精简 GLB 模型(通过 Blender 处理)
python·macos·3d·图形渲染·blender
光头才能变强2 天前
Mac安装Navicat教程Navicat Premium for Mac v17.1.9 Mac安装navicat【亲测】
macos
Frilled Lizard2 天前
解决mac下git pull、push需要输入密码
git·macos
是小崔啊2 天前
Mac下的Homebrew
macos