V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
einsdisp
V2EX  ›  问与答

有详细了解 IPSec 的同学吗? Windows 10 如何创建预共享密钥认证的(无用户名密码)IPSec VPN 客户端?

  •  
  •   einsdisp · 2021-11-30 01:09:34 +08:00 · 1972 次点击
    这是一个创建于 1118 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有详细了解 IPSec 的同学吗?

    最近业务上需要接入一家国企内部的 IPsec VPN ,对方给的配置信息较为含糊(或者说是本人对 IPSec 不甚了解),我尝试创建 Windows 10 内置的 VPN 连接,各种配置试了试均不成功。

    对方给的配置信息:

    阶段 1:
    主模式
    加密:3des
    验证:md5
    算法:group 2
    
    阶段 2:
    加密:3des
    验证:md5
    算法:group 2
    源 IP 地址:xx.xx.xx.xx
    目的 IP 地址:xx.xx.xx.xx
    
    共享密钥:xxxxxxxx
    

    除此之外再无多余信息,配置起来真让人头大。

    这个配置信息,是纯 IPSec 的 VPN (不带 L2TP 的)还是 IPsec + L2TP 的 VPN ?

    我在 Windows 10 下的网络设置中,创建内置的 VPN ,类型试了“IKEv2”、“L2TP/IPSec 预共享密钥”这两种,创建的时候,用户名密码留空,但之后连接的时候,必须输入用户名密码才行,而对方的这个 VPN 配置是没有用户名密码的。

    此外,关于 3des/md5/group2 这些算法的配置,Win10 图形界面里没有,网上搜了下,似乎是在组策略里配置。在“Windows Defender 防火墙高级安全”右键属性,选择 IPSec 选项卡。是在这里配置吗?

    14 条回复    2021-12-01 13:38:19 +08:00
    crab
        1
    crab  
       2021-11-30 01:31:02 +08:00
    einsdisp
        2
    einsdisp  
    OP
       2021-11-30 01:40:52 +08:00
    @crab 早看过了,没用,还是要输入用户名密码。关键我不太了解,对方给的这个配置,是纯 IPsec 还是 IPsec+L2TP 。网上的教程大多数是针对 IPsec+L2TP 的。
    cmlz
        3
    cmlz  
       2021-11-30 02:44:42 +08:00 via Android
    这是纯 IPsec ,你需要企业级路由器来接入,比如 ROS ,华为,思科之类路由。
    einsdisp
        4
    einsdisp  
    OP
       2021-11-30 03:27:43 +08:00
    @cmlz

    感谢回复!

    我研究了下,对方的这个配置似乎是 IKEv1 ?而 windows 只支持 IKEv2 ?

    此外,暂时没有企业级“硬件”路由器,使用 OpenWRT / pfSense 这种软路由,或者 linux 系统下的软件包 strongswan 应该也行吧(但是配置文件太复杂了,还在研究中)?

    另外,很重要的一点,这种纯 IPsec 是否支持 NAT ?
    我们这里的网关设备虽有公网 ip ,但一般轻易不动(最多设置个端口转发)。内网获得的是网关设备分发的内网 DHCP 地址(类似 192.168.x.x )。
    不操作网关设备本身,只在内网的机器上折腾是否可行?比方说在内网另安装一个软路由系统(或者使用 linux 上 strongswan 软件包),或者干脆在内网添加一个硬件企业级路由器(如果软路由不管用),是否可行?
    如果不可行,在网关上设置将 IPsec 的相关的端口转发到内网的 ipsec 客户端机器上是否可行?
    cmlz
        5
    cmlz  
       2021-11-30 04:29:03 +08:00 via Android
    对方不支持野蛮模式接入,所以你必须有公网固定 IP 的路由或者 Linux 才能连通。
    einsdisp
        6
    einsdisp  
    OP
       2021-11-30 04:44:26 +08:00
    @cmlz

    谢谢回复!

    1 、对方的这个配置似乎是 IKEv1 么?

    2 、公网固定 IP 有。是否必须在路由设备上配置 ipsec ?如果路由设备不动,只在内网的机器上找一台 linux 进行 ipsec 配置是否可行?
    einsdisp
        7
    einsdisp  
    OP
       2021-11-30 04:51:01 +08:00
    @cmlz

    想问问,根据对方给的这配置能否判断是否支持 NAT 穿越?

    背景是这样的,我们这个路由设备可以配置端口转发到内网的机器,但要在路由设备上直接配置 ipsec 暂时不方便。如果能在内网找一台机器配置 ipsec 是最好的。
    cmlz
        8
    cmlz  
       2021-11-30 10:52:34 +08:00 via Android
    上面回答得很清楚了,内网 IP ,或者映射都不行的,必须是有固定公网 IP 的网关才能连接。至于是 IKEv1 还是 IKEv2 那得问对方,因为在设置时是可选的。
    cmlz
        9
    cmlz  
       2021-11-30 11:23:33 +08:00 via Android
    shrew.net
    或者,这有个很古老的客户端,我没用过,你可以试试?
    einsdisp
        10
    einsdisp  
    OP
       2021-11-30 13:30:03 +08:00
    @cmlz 是否用 strongswan 并了解其配置?可以的话,愿意 200 元有偿帮我看下,这玩意配置文件挺复杂,目前还没搞定。把你联系方式发我邮箱,我 id 爱特 gmail 。
    einsdisp
        11
    einsdisp  
    OP
       2021-11-30 15:04:27 +08:00
    einsdisp
        12
    einsdisp  
    OP
       2021-11-30 15:11:42 +08:00
    @cmlz
    刚刚尝试,直接把公网网线接入一台 linux 系统,安装配置好 strongswan ,可以连接成功,但是无法 ping ,`ip` 命令显示并没有多出一张虚拟网卡。以前我用 openvpn ,连接成功后会多一张虚拟 interface ,可对这个 interface 配置路由策略。

    `/etc/ipsec.conf`配置:

    ```
    config setup
    charondebug="all"
    # strictcrlpolicy=yes
    # uniqueids = no

    conn testvpn
    auto=add
    type=tunnel
    keyexchange=ikev1
    #authby=secret
    leftauth=psk
    rightauth=psk
    left=<我方公网 IP>
    leftsubnet=<我方内网 IP>/24
    right=<对方公网 IP>
    rightsubne=<对方内网 IP>/24
    ike=3des-md5-modp1024
    esp=3des-md5-modp1024
    aggressive=no
    keyingtries=%forever
    ikelifetime=86400s
    lifetime=86400s
    #dpddelay=30s
    #dpdtimeout=120s
    dpdaction=restart
    ```
    cmlz
        13
    cmlz  
       2021-12-01 09:39:21 +08:00
    IPsec 是不会生成虚拟网卡的,没配过 strongswan ,但我的经验是 Linux 需要开启转发功能,在隧道建立后,添加静态路由,指定自己内网出口的下一跳为对方内网接口 IP ,这样才能连通两端内网。
    julyclyde
        14
    julyclyde  
       2021-12-01 13:38:19 +08:00
    阶段 1 、阶段 2 ,那肯定是 IKE/IPsec 了。如果是 ppp 系列的话需要用户名密码的

    不过似乎还应该给双方的 IP 段才能凑齐所有信息?
    你拿个 linux 过去连,然后看看日志信息吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2872 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:28 · PVG 22:28 · LAX 06:28 · JFK 09:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.