家里电脑重新装操作系统后,Chrome因为墙的问题无法下载插件,在折腾了无数天之后,决定自己搭一个VPN。 试验了无数次,最终成功。
创建VPN Server
公司有Azure的license,所以直接选择在Azure云上搭VPN Server.
- 登录Azure官网https://portal.azure.com
- 在左侧面板上选择 “Create a resource”,在New 搜索框中输入OpenVPN,选择OpenVPN Access Server
- 点击Create按钮, 出现如下界面
- 输入虚拟机名字
- Authentication type改成password,输入用户名,密码。
- 点击 Review+Create,点击Create,创建虚拟机
- 等待虚拟机部署完成,记住公共ip
建议将定时关机取消
配置VPN Server
- Download最新的XShell
- 打开xshell,新建一个会话,在主机中输入VPN Server的公共ip
- 在用户身份验证中,输入VPN Server的用户名和密码
- 在终端-键盘里面, BACKSPACE键序列,选择ASCII 127
- 点击确认,点击连接
- 弹出SSH安全警告,点击接受并保存
- 输入yes,同意协议
- port number for the Admin Web UI 选择默认的943就好
- TCP port number for the OpenVPN Daemon, 可以自己设定一个端口
- 一路回车,直到下面这个选项输入no,我们选择输入已经存在的VPN Server用户名
- 回车,xshell会进行配置,等待配置结束。
- 打开浏览器,输入https://你的VPN-server-ip:943/Admin,可能会提示不是私密连接,选择继续,应该能弹出如下窗口
- 输入VPN Server的用户名和密码,出现VPN Server的界面,说明配置成功
配置VPN 客户端
- 打开浏览器,输入https://你的VPN-server-ip:943
- 输入VPN Server用户名密码,出现如下界面
- 点击 OpenVPN Connect for Windows,download客户端,点击Yourself (user-locked profile),download 客户端配置文件client.ovpn
- 用txt打开客户端配置文件client.ovpn,将里面的ip地址全部换成VPN Server的ip,保存
- 安装客户端,安装完成后会在桌面右下角出现一个图标
- 右键,选择import,from local file,选择我们上一步改好的client.ovpn文件
- 再次右击,应该在菜单上出现新添加的server地址,选择该地址,connect as 用户名,出现warning,选择yes
- 弹出登录窗口,输入密码
- 提示连接成功,打开浏览器,输入www.google.com, 连接成功
VPN被封之后
检查是端口被封了还是IP被封了:
- 登录VPN Server,https://你的VPN-server-ip:943/Admin, 查看是否连接正常
- 尝试修改TCP端口,修改client的配置文件, 看能否连接
如果是IP被封了:
去Azure云重新分配一个IP地址
- 找到自己的虚拟机,点击 网络
- 在万国页面上,选择自己的网络接口,页面会自动跳转到网络接口配置
- 选择 配置 -》IP 配置, 点击自己的IP配置, 在公共ip地址项选择禁用,保存
- 保存成功后,回到虚拟机界面,重启机器
- 重启完成后,回到IP 配置界面开启公共ip地址, ip地址应该会发生改变
- 登录VPN Server,https://你的VPN-server-ip:943/Admin, 查看是否连接正常
- download最新的client profile, 重新配置client端登录
OpenSSH漏洞CVE-2024-6387 OpenSSH远程代码执行漏洞 (CVE-2024-6387) 安全风险通告
OpenVPN 官方
OpenVPN官方提供了一个更简洁的设置方式,不需要下载XShell
Microsoft Azure Appliance Quick Start Guide for Access Server
在创建vm时选择认证方式为SSH Public Key
,
点创建时,会下载一个后缀为.pem的文件。这是我们的private key,一定要保存好,后续还需要用这个key来配置vpn server。
VM 创建成功之后我们就可以进行配置了。首先需要对我们的private key设置只读权限,在windows上直接使用会报权限太高的问题。
打开Powershell,执行以下命令:
1
2
3
icacls.exe C:\xxx\YourVPN_key.pem /reset
icacls.exe C:\xxx\YourVPN_key.pem /grant:r "$($env:USERNAME):(r)"
icacls.exe C:\xxx\YourVPN_key.pem /inheritance:r
然后打开一个cmd,执行以下命令
1
ssh -i C:\xxx\YourVPN_key.pem username@public ip
在配置过程中,会提示设置密码:
配置成功后登录admin页面https://你的VPN-server-ip:943/Admin
设置自动开机
Azure云上的VM在创建的时候有个选项是定时关机,这能减少我们的费用。那如何自动开机呢
在虚拟机左侧的菜单栏里,有一个自动任务
创建一个自动开机任务
需要关联你的账号
配置启动时间