凌峰创科服务平台

Windows L2TP服务器如何配置与连接?

重要前提:公网 IP 和端口转发

在开始之前,您必须明确一点:要让外部用户能连接到您的家庭或办公室网络,您的服务器必须拥有一个公网 IP 地址,并且您需要在路由器/防火墙上进行端口转发。

Windows L2TP服务器如何配置与连接?-图1
(图片来源网络,侵删)
  1. 公网 IP:您的服务器需要直接连接互联网,并拥有一个公网 IP,您可以通过在浏览器中搜索 "what is my ip" 来确认。
  2. 端口转发:L2TP 通常使用 UDP 端口 500 (IKE)UDP 端口 4500 (NAT-T),您需要在连接互联网的路由器设置中,将这两个 UDP 端口从 外部端口 映射到 内部服务器的私有 IP 地址相同端口
  • 外部: your.public.ip.address:500 -> 内部: 168.1.100:500
  • 外部: your.public.ip.address:4500 -> 内部: 168.1.100:4500

第一部分:在 Windows 服务器上配置 L2TP

步骤 1:安装远程访问服务

  1. 管理员 身份打开 PowerShell 或命令提示符。
  2. 输入以下命令并按回车:
    Install-RemoteAccess -VpnType VpnS2S
  3. 系统会提示您确认安装,输入 Y 并回车,这个过程会自动安装和配置所需的角色。

步骤 2:配置 IP 地址池

VPN 客户端连接后,需要一个 IP 地址,我们需要为它们创建一个专用的 IP 地址池。

  1. 继续在同一个 PowerShell 窗口中,输入以下命令,将 10.10.0 替换为您想使用的网段(请确保这个网段与您局域网的网段不冲突)。
    Install-RemoteAccess -VpnType VpnS2S -IPAddressRange 10.10.10.1,10.10.10.254
    • 10.10.1 是池中的起始 IP。
    • 10.10.254 是池中的结束 IP。
    • 这个命令会创建一个包含 254 个可用 IP 地址的池。

步骤 3:配置用户账户

每个连接 VPN 的用户都需要一个有效的 Windows 用户账户。

  1. 打开 服务器管理器,点击右上角的 工具 -> 计算机管理
  2. 在左侧导航栏中,展开 本地用户和组 -> 用户
  3. 在右侧窗格中,右键点击,选择 新用户
  4. 创建一个新用户,vpnuser
    • 用户名: vpnuser
    • 密码: 设置一个强密码。
    • 勾选“用户下次登录时须更改密码”,然后取消勾选 “用户不能更改密码”“密码永不过期”(根据您的安全策略决定)。
  5. 点击 创建,然后关闭窗口,记住这个用户名和密码,客户端连接时需要用到。

步骤 4:配置 VPN 服务器

这是最核心的步骤,我们将使用 PowerShell 来精确配置。

  1. 以管理员身份打开 PowerShell。

    Windows L2TP服务器如何配置与连接?-图2
    (图片来源网络,侵删)
  2. 执行以下命令,将 vpnserver.yourdomain.com 替换为您的公网 IP 地址或域名。

    # 1. 设置预共享密钥 (PSK),所有客户端将使用此密钥进行身份验证
    $PSK = "YourSuperSecretPreSharedKey123!"  # 请务必修改为一个强密码
    # 2. 设置 VPN 服务器名称,可以是 IP 或域名
    $ServerAddress = "your.public.ip.address" 
    # 3. 执行配置命令
    netsh routing ip nat add interface "本地连接"  # "本地连接" 可能是 "以太网" 或其他名称,请根据实际情况修改
    netsh ras set auth mode network
    netsh ras set type sstp,l2tp,ikev2
    Set-VpnAuthProtocol -UserAuthProtocolName PAP,CHAP,MSCHAPv2,MSCHAPv2
    Set-VpnS2SAuthParameter -EncryptionMethod NoEncryption,RequireEncryption -AuthenticationMethod PresharedKey -CertificateMethod None -RadiusStore ""
    Set-RemoteAccess -S2SEnabled $true -S2SIPv4Subnet @() -S2SIPv6Subnet @()
    Set-NetFirewallRule -Name "VPN-In" -RemoteAddress "Any" -Action Allow
    Set-VpnServerConfiguration -AuthenticationMethod PresharedKey -SharedSecret $PSK -IPv4AddressRange 10.10.10.1,10.10.10.254 -IPv4PrefixLength 24

    命令解释

    • Set-VpnServerConfiguration: 这是核心命令,它设置了认证方式为预共享密钥,并设置了我们之前创建的 IP 地址池。
    • Set-NetFirewallRule: 确保防火墙允许 VPN 流量入站。

步骤 5:配置 Windows 防火墙

通常步骤 4 的命令已经处理了防火墙,但为了确保万无一失,我们可以手动检查。

  1. 打开 控制面板 -> 系统和安全 -> Windows Defender 防火墙
  2. 点击左侧的 允许应用或功能通过 Windows Defender 防火墙
  3. 点击 更改设置(需要管理员权限)。
  4. 找到并确保 “路由器和远程访问”“VPN” 相关的规则是勾选的,“专用”“公用” 网络类型都已勾选。

步骤 6:配置 IPsec (L2TP 的安全层)

L2TP 本身不加密,它需要与 IPsec 协议配合工作才能保证安全,Windows Server 默认配置了 IPsec,但有时需要手动调整。

Windows L2TP服务器如何配置与连接?-图3
(图片来源网络,侵删)
  1. 以管理员身份打开 PowerShell。

  2. 执行以下命令来配置 IPsec 策略:

    Set-NetIPsecRule -DisplayName "Main Mode - Phase 1" -MainModeCryptoSet "AES256-SHA256-PRF-HMAC2048-MODP2048"
    Set-NetIPsecRule -DisplayName "Quick Mode - Phase 2" -QuickModeCryptoSet "AES256-GCM-ESP-SHA256-PRF-HMAC2048-PFS2048"

    这些命令强制使用更安全的加密算法,可以防止一些已知的攻击。


第二部分:在客户端上连接 (以 Windows 10/11 为例)

  1. 进入 设置 -> 网络和 Internet -> VPN
  2. 点击 添加 VPN
  3. 在“VPN 提供商”下拉菜单中,选择 Windows (内置)
  4. VPN 连接名称: 任意填写,"My L2TP VPN"。
  5. 服务器名称或地址: 填写您的 公网 IP 地址或域名
  6. VPN 类型: 选择 L2TP/IPsec with pre-shared key
  7. 预共享密钥: 精确输入 您在服务器上设置的 PSK(区分大小写)。
  8. 点击 保存
  9. 返回 VPN 页面,点击刚刚创建的 VPN 连接,输入您在服务器上创建的 用户名密码
  10. 点击 连接

如果一切配置正确,您应该能成功连接到 VPN 服务器。


第三部分:常见问题与解决方案

问题 1:错误 789 - L2TP 连接尝试失败,因为该协议在服务器端和客户端之间未被正确配置。

原因: 这是最常见的问题,通常是由于 IPsec 配置不匹配或失败导致的。 解决方案:

  1. 检查 PSK: 确保服务器和客户端的 预共享密钥 完全一致(包括大小写和空格)。
  2. 检查防火墙: 确保服务器的 Windows 防火墙允许 UDP 500 和 4500 端口。
  3. 在服务器上启用事件日志:
    • 打开 事件查看器 (eventvwr.msc)。
    • 导航到 日志 -> 应用程序和服务日志 -> Microsoft -> Windows -> RasSstpOperational
    • 查看这里是否有红色错误事件,它会提供更详细的失败原因。
  4. 在客户端上启用日志:
    • 在 VPN 连接的属性中,勾选 “为 VPN 连接启用详细日志记录”
    • 日志文件位于 C:\ProgramData\Microsoft\Network\Connection Manager\CmSystemTracing 目录下,可以用来分析客户端的问题。

问题 2:连接超时或无法连接到服务器。

原因: 通常是网络路径问题。 解决方案:

  1. 检查端口转发: 确认您的路由器是否正确将 UDP 500 和 4500 端口转发到了服务器的内网 IP。
  2. 测试连通性: 在客户端上,使用 ping your.public.ip.address 看是否能通。
  3. 检查 ISP 限制: 某些 ISP 可能会阻止 VPN 流量,您可以尝试将服务器端口改为其他端口(如 4500),但这会增加配置的复杂性。

问题 3:VPN 连接成功,但无法访问内网资源(如共享文件夹、打印机)。

原因: 这是 IP 路由 问题,客户端连接后,不知道如何返回到内网。 解决方案:

  1. 在客户端配置 IP 路由:
    • 在 VPN 连接成功后,打开命令提示符。
    • 输入 route print,找到 VPN 适配器的接口 IP(通常是 10.10.x)和接口号(如 15)。
    • 假设您的内网网段是 168.1.0/24,输入以下命令添加路由:
      route -p add 192.168.1.0 mask 255.255.255.0 10.10.10.1 metric 1 if 15
      • -p: 使路由永久生效。
      • 168.1.0/24: 您的内网网段。
      • 10.10.1: VPN 服务器的网关地址(即我们设置的 IP 池的第一个地址)。
      • metric 1: 优先级。
      • if 15: 接口号,请根据你的实际情况修改。
  2. 在服务器上启用 IP 转发:
    • 以管理员身份打开 PowerShell。
    • 运行 Set-NetIPInterface -InterfaceAlias "本地连接" -Forwarding Enabled ("本地连接" 替换为您的实际网络接口名称)。

总结与安全建议

  • 强密码是关键: 无论是 PSK 还是用户密码,都请使用强密码。
  • 定期更新: 保持您的 Windows 系统更新到最新版本,以修复安全漏洞。
  • 限制用户权限: 只给 VPN 用户完成任务所必需的最小权限。
  • 考虑使用 IKEv2: IKEv2 通常比 L2TP 更稳定,尤其是在网络切换时(如从 Wi-Fi 切换到 4G),如果您的客户端和服务器都支持,IKEv2 是更好的选择,配置过程与 L2TP 类似,只是在 VPN 类型选择时选择 IKEv2。

希望这份详细的教程能帮助您成功搭建 L2TP VPN 服务器!如果在操作中遇到任何问题,请仔细检查每一步,特别是 端口转发预共享密钥 这两个最容易出错的地方。

分享:
扫描分享到社交APP
上一篇
下一篇