使用 Cisco ipsec vpn

使用 Cisco IPsec VPN

背景

由于网易云可用区 B 不提供 OpenVPN 的方式连接,因此需要用户自行搭建 VPN 管理内网服务器。

本篇主要讲解如何搭建和使用 Cisco IPsec VPN

准备一台服务器

1.在可用区 B 创建一台云服务器,这里操作系统使用 Ubuntu 16.04

安装 VPN

1.这里我们使用 GitHub 开源的 IPsec VPN Server Auto Setup Scripts 来作为服务端。

默认安装

执行

wget https://file.awen.me/openvpn/vpnsetup.sh -O vpnsetup.sh && sudo sh vpnsetup.sh

这种方式安装会生成随机的用户名、密码和 IPsec 预共享密钥

如果使用 CentOS,请将上面的地址换成 https://git.io/vpnsetup-centos。

自定义参数安装

wget https://file.awen.me/openvpn/vpnsetup.sh -O vpnsetup.sh && sudo \
VPN_IPSEC_PSK='你的IPsec预共享密钥' \
VPN_USER='你的VPN用户名' \
VPN_PASSWORD='你的VPN密码' sh vpnsetup.sh

安装完毕会显示你的用户名、密码、IPsec预共享密钥。

配置防火墙和安全组

1.防火墙开启UDP 500 和 4500 端口

2.安全组放行UDP 500 和4500 端口

连接 VPN

mac 连接

1.打开网络偏好设置,创建一个VPN连接

填写IP、用户名、密码,然后点击鉴定设置,输入预共享密钥

然后点击连接即可。

当你连接上了 VPN,就可以直接使用ssh连接内网的服务器了。

Windows

第三方软件

1.需要下载第三方软件

2.安装后打开软件。

3.单击开始菜单 -> 所有程序 -> ShrewSoft VPN Client -> VPN Access Manager
单击工具栏中的 Add (+) 按钮。
4.在 Host Name or IP Address 字段中输入你的 VPN 服务器 IP。
5.单击 Authentication 选项卡,从 Authentication Method 下拉菜单中选择 Mutual PSK + XAuth。
6.单击 Credentials 子选项卡,并在 Pre Shared Key 字段中输入你的 VPN IPsec PSK。
7.单击 Phase 1 选项卡,从 Exchange Type 下拉菜单中选择 main。
8.单击 Phase 2 选项卡,从 HMAC Algorithm 下拉菜单中选择 sha1。
9.单击 Save 保存 VPN 连接的详细信息。
10.选择新添加的 VPN 连接。单击工具栏中的 Connect 按钮。
11.在 Username 字段中输入你的 VPN 用户名。
12.在 Password 字段中输入你的 VPN 密码。
13.单击 Connect。
14.VPN 连接成功后,你会在 VPN Connect 状态窗口中看到 tunnel enabled 字样。单击 “Network” 选项卡,并确认 Established - 1 显示在 “Security Associations” 下面。最后你可以到 这里 检测你的 IP 地址,应该显示为你的 VPN 服务器 IP。

其他设置

1.请参考说明 进行连接。

用户配置

在默认情况下,将只创建一个用于 VPN 登录的用户账户。如果你需要添加,更改或者删除用户,请阅读本文档。

首先,IPsec PSK (预共享密钥) 保存在文件 /etc/ipsec.secrets 中。如果要更换一个新的 PSK,可以编辑此文件。所有的 VPN 用户将共享同一个 IPsec PSK。

%any  %any  : PSK "你的IPsec预共享密钥"

对于 IPsec/L2TP,VPN 用户账户信息保存在文件 /etc/ppp/chap-secrets。该文件的格式如下:

"你的VPN用户名1"  l2tpd  "你的VPN密码1"  *
"你的VPN用户名2"  l2tpd  "你的VPN密码2"  *
... ...

你可以添加更多用户,每个用户对应文件中的一行。不要 在用户名,密码或 PSK 中使用这些字符:\ “ ‘

对于 IPsec/XAuth (“Cisco IPsec”), VPN 用户账户信息保存在文件 /etc/ipsec.d/passwd。该文件的格式如下:

你的VPN用户名1:你的VPN密码1的加盐哈希值:xauth-psk
你的VPN用户名2:你的VPN密码2的加盐哈希值:xauth-psk
... ...

这个文件中的密码以加盐哈希值的形式保存。该步骤可以借助比如 openssl 工具来完成:

以下命令的输出为:你的VPN密码1的加盐哈希值

openssl passwd -1 '你的VPN密码1'

最后,如果你更换了新的 PSK,则需要重启服务。对于添加,更改或者删除 VPN 用户,一般不需重启。

service ipsec restart
service xl2tpd restart