树莓派搭建L2TP/IPsec

声明:本文仅限用于学术交流,引用或转载本文时请注明出处!

由于学校上网客户端限制只能有一台设备在线,现在我们怎么可能只有一台设备上网,手机、笔记本、平板……咨询了一下同学就在实验室搭建一个vpn来上网。

之所以选择在实验室,因为实验室使用的固定校园网IP,不用产生每次都要去查找服务器ip地址的问题。

声明

本人是缴了网费的,只是想多台设备同时使用。

准备工作

配置好树莓派的静态ip,然后将使用各种方法让树莓派能够上网,一般都是使用各种脚本,每个学校都有那种大神级的人存在。
树莓派校园网ip:172.24.78.12

快速开始

使用以下命令快速搭建 IPsec VPN 服务器:

1
wget https://git.io/vpnsetup -O vpnsetup.sh && sudo sh vpnsetup.sh

如果没有安装wget,自行先安装。
如果使用 CentOS,请将上面的地址换成 https://git.io/vpnsetup-centos.
你的 VPN 登录凭证将会被自动随机生成,并在安装完成后显示在屏幕上。如果没出现问题,你就可以使用上面生成的数据使用了。

修改配置

修改PSK 预共享密钥

1
2
3
4
5
6
vim /etc/ipsec.secrets
#修改下面内容
172.24.78.12 %any: PSK "test"

#树莓派校园网ip:172.24.78.12(修改自己的内网ip)
#“test”:预共享密钥(自己修改)

修改之后重启服务

1
service ipsec restart

添加或修改用户

1
2
3
4
vim /etc/ppp/chap-secrets
# 添加以下内容
# 格式:"帐号名" l2tpd "密码" *
"liubo" l2tpd "test" *

完成之后重启服务

1
service xl2tpd restart

到这里配置完成,可以使用了。

vpn客户端配置

IPsec/L2TP 在 Android, iOS, OS X 和 Windows 上均受支持,无需安装额外的软件。请参考教程配置 IPsec/L2TP VPN 客户端.以下内容转载于该篇教程

Windows

Windows 10 and 8.x

  1. 右键单击系统托盘中的无线/网络图标。
  2. 选择 打开网络和共享中心。或者,如果你使用 Windows 10 版本 1709 或以上,选择 打开”网络和 Internet”设置,然后在打开的页面中单击 网络和共享中心
  3. 单击 设置新的连接或网络
  4. 选择 连接到工作区,然后单击 下一步
  5. 单击 **使用我的Internet连接 (VPN)**。
  6. Internet地址 字段中输入你的 VPN 服务器 IP
  7. 目标名称 字段中输入任意内容。单击 创建
  8. 返回 网络和共享中心。单击左侧的 更改适配器设置
  9. 右键单击新创建的 VPN 连接,并选择 属性
  10. 单击 安全 选项卡,从 VPN 类型 下拉菜单中选择 “使用 IPsec 的第 2 层隧道协议 (L2TP/IPSec)”。
  11. 单击 允许使用这些协议。确保选中 “质询握手身份验证协议 (CHAP)” 复选框。
  12. 单击 高级设置 按钮。
  13. 单击 使用预共享密钥作身份验证 并在 密钥 字段中输入你的 VPN IPsec PSK
  14. 单击 确定 关闭 高级设置
  15. 单击 确定 保存 VPN 连接的详细信息。

Windows 7, Vista and XP

  1. 单击开始菜单,选择控制面板。
  2. 进入 网络和Internet 部分。
  3. 单击 网络和共享中心
  4. 单击 设置新的连接或网络
  5. 选择 连接到工作区,然后单击 下一步
  6. 单击 **使用我的Internet连接 (VPN)**。
  7. Internet地址 字段中输入你的 VPN 服务器 IP
  8. 目标名称 字段中输入任意内容。
  9. 选中 现在不连接;仅进行设置以便稍后连接 复选框。
  10. 单击 下一步
  11. 用户名 字段中输入你的 VPN 用户名
  12. 密码 字段中输入你的 VPN 密码
  13. 选中 记住此密码 复选框。
  14. 单击 创建,然后单击 关闭 按钮。
  15. 返回 网络和共享中心。单击左侧的 更改适配器设置
  16. 右键单击新创建的 VPN 连接,并选择 属性
  17. 单击 选项 选项卡,取消选中 包括Windows登录域 复选框。
  18. 单击 安全 选项卡,从 VPN 类型 下拉菜单中选择 “使用 IPsec 的第 2 层隧道协议 (L2TP/IPSec)”。
  19. 单击 允许使用这些协议。确保选中 “质询握手身份验证协议 (CHAP)” 复选框。
  20. 单击 高级设置 按钮。
  21. 单击 使用预共享密钥作身份验证 并在 密钥 字段中输入你的 VPN IPsec PSK
  22. 单击 确定 关闭 高级设置
  23. 单击 确定 保存 VPN 连接的详细信息。

注: 在首次连接之前需要修改一次注册表,以解决 VPN 服务器 和/或 客户端与 NAT (比如家用路由器)的兼容问题。

Android

  1. 启动 设置 应用程序。
  2. 无线和网络 部分单击 **更多…**。
  3. 单击 VPN
  4. 单击 添加VPN配置文件 或窗口右上角的 **+**。
  5. 名称 字段中输入任意内容。
  6. 类型 下拉菜单选择 L2TP/IPSec PSK
  7. 服务器地址 字段中输入你的 VPN 服务器 IP
  8. IPSec 预共享密钥 字段中输入你的 VPN IPsec PSK
  9. 单击 保存
  10. 单击新的VPN连接。
  11. 用户名 字段中输入你的 VPN 用户名
  12. 密码 字段中输入你的 VPN 密码
  13. 选中 保存帐户信息 复选框。
  14. 单击 连接

VPN 连接成功后,会在通知栏显示图标。

iOS

  1. 进入设置 -> 通用 -> VPN。
  2. 单击 **添加VPN配置…**。
  3. 单击 类型 。选择 L2TP 并返回。
  4. 描述 字段中输入任意内容。
  5. 服务器 字段中输入你的 VPN 服务器 IP
  6. 帐户 字段中输入你的 VPN 用户名
  7. 密码 字段中输入你的 VPN 密码
  8. 密钥 字段中输入你的 VPN IPsec PSK
  9. 启用 发送所有流量 选项。
  10. 单击右上角的 完成
  11. 启用 VPN 连接。

VPN 连接成功后,会在通知栏显示图标。

连接故障

Windows 错误 809

无法建立计算机与 VPN 服务器之间的网络连接,因为远程服务器未响应。

要解决此错误,在首次连接之前需要修改一次注册表,以解决 VPN 服务器 和/或 客户端与 NAT (比如家用路由器)的兼容问题。请下载并导入下面的 .reg 文件,或者打开 提升权限命令提示符 并运行以下命令。完成后必须重启计算机。

  • 适用于 Windows Vista, 7, 8.x 和 10 (下载 .reg 文件)

    1
    REG ADD HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 0x2 /f
  • 仅适用于 Windows XP (下载 .reg 文件)

    1
    REG ADD HKLM\SYSTEM\CurrentControlSet\Services\IPSec /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 0x2 /f

另外,某些个别的 Windows 系统配置禁用了 IPsec 加密,此时也会导致连接失败。要重新启用它,可以运行以下命令并重启。

  • 适用于 Windows XP, Vista, 7, 8.x 和 10 (下载 .reg 文件)

    1
    REG ADD HKLM\SYSTEM\CurrentControlSet\Services\RasMan\Parameters /v ProhibitIpSec /t REG_DWORD /d 0x0 /f

参考文章

wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器