Azure 搭建VPN

Posted by Kerwen Blog on April 6, 2019

家里电脑重新装操作系统后,Chrome因为墙的问题无法下载插件,在折腾了无数天之后,决定自己搭一个VPN。 试验了无数次,最终成功。

创建VPN Server

公司有Azure的license,所以直接选择在Azure云上搭VPN Server.

  1. 登录Azure官网https://portal.azure.com
  2. 在左侧面板上选择 “Create a resource”,在New 搜索框中输入OpenVPN,选择OpenVPN Access Server
  3. 点击Create按钮, 出现如下界面Create
  4. 输入虚拟机名字
  5. Authentication type改成password,输入用户名,密码。
  6. 点击 Review+Create,点击Create,创建虚拟机
  7. 等待虚拟机部署完成,记住公共ip

建议将定时关机取消

配置VPN Server

  1. Download最新的XShell
  2. 打开xshell,新建一个会话,在主机中输入VPN Server的公共ipconfig
  3. 在用户身份验证中,输入VPN Server的用户名和密码
  4. 在终端-键盘里面, BACKSPACE键序列,选择ASCII 127config4
  5. 点击确认,点击连接
  6. 弹出SSH安全警告,点击接受并保存
  7. 输入yes,同意协议config2
  8. port number for the Admin Web UI 选择默认的943就好
  9. TCP port number for the OpenVPN Daemon, 可以自己设定一个端口
  10. 一路回车,直到下面这个选项config3输入no,我们选择输入已经存在的VPN Server用户名
  11. 回车,xshell会进行配置,等待配置结束。config5
  12. 打开浏览器,输入https://你的VPN-server-ip:943/Admin,可能会提示不是私密连接,选择继续,应该能弹出如下窗口config7
  13. 输入VPN Server的用户名和密码,出现VPN Server的界面,说明配置成功config8

配置VPN 客户端

  1. 打开浏览器,输入https://你的VPN-server-ip:943client1
  2. 输入VPN Server用户名密码,出现如下界面client2
  3. 点击 OpenVPN Connect for Windows,download客户端,点击Yourself (user-locked profile),download 客户端配置文件client.ovpn
  4. 用txt打开客户端配置文件client.ovpn,将里面的ip地址全部换成VPN Server的ip,保存
  5. 安装客户端,安装完成后会在桌面右下角出现一个图标
  6. 右键,选择import,from local file,选择我们上一步改好的client.ovpn文件
  7. 再次右击,应该在菜单上出现新添加的server地址,选择该地址,connect as 用户名,出现warning,选择yes
  8. 弹出登录窗口,输入密码
  9. 提示连接成功,打开浏览器,输入www.google.com, 连接成功

VPN被封之后

检查是端口被封了还是IP被封了:

  1. 登录VPN Server,https://你的VPN-server-ip:943/Admin, 查看是否连接正常
  2. 尝试修改TCP端口,修改client的配置文件, 看能否连接

如果是IP被封了:
去Azure云重新分配一个IP地址

  1. 找到自己的虚拟机,点击 网络
  2. 在万国页面上,选择自己的网络接口,页面会自动跳转到网络接口配置
  3. 选择 配置 -》IP 配置, 点击自己的IP配置, 在公共ip地址项选择禁用,保存
  4. 保存成功后,回到虚拟机界面,重启机器
  5. 重启完成后,回到IP 配置界面开启公共ip地址, ip地址应该会发生改变
  6. 登录VPN Server,https://你的VPN-server-ip:943/Admin, 查看是否连接正常
  7. 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 Keyimg 点创建时,会下载一个后缀为.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 

在配置过程中,会提示设置密码: img

配置成功后登录admin页面https://你的VPN-server-ip:943/Admin

设置自动开机

Azure云上的VM在创建的时候有个选项是定时关机,这能减少我们的费用。那如何自动开机呢
在虚拟机左侧的菜单栏里,有一个自动任务 img

创建一个自动开机任务
img

需要关联你的账号 img

配置启动时间
img