AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1662414
Accepted
pacoverflow
pacoverflow
Asked: 2021-07-14 17:30:04 +0800 CST2021-07-14 17:30:04 +0800 CST 2021-07-14 17:30:04 +0800 CST

Windows 机器上的 OpenVPN 网络适配器每 15 秒不断获取/丢失 IP 地址

  • 772

我有一个 Windows Server 2019 实例。我在上面安装了OpenVPN 2.4.9。这导致了一个名为“Local Area Connection / TAP-Windows Adapter V9”的新网络适配器,如控制面板中所示:

在此处输入图像描述

这台 Windows 机器充当 OpenVPN 客户端。这是机器上的 OpenVPN 客户端配置:

client
dev tap
proto tcp
remote x.x.x.x 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA512
cipher AES-256-CBC
ignore-unknown-option block-outside-dns
block-outside-dns
verb 3

另一台机器充当 OpenVPN 服务器。这是那台机器的 server.conf:

local x.x.x.x
port 1194
proto tcp
dev tap
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-crypt tc.key
topology subnet
server 10.8.0.0 255.255.0.0
ifconfig-pool-persist ipp.txt
client-config-dir /etc/openvpn/ccd
client-to-client
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem

我试图让 OpenVPN 服务器为 Windows Server 2019 机器分配一个静态 IP 地址 10.8.0.2。这是客户端的 OpenVPN 服务器的 /etc/openvpn/ccd 目录下的文件:

ifconfig-push 10.8.0.2 255.255.0.0

当 Windows Server 2019 上的 OpenVPN 客户端启动时,它似乎可以正常连接到 OpenVPN 服务器。这是 OpenVPN 客户端上的日志文件:

Wed Jul 14 01:15:02 2021 [server] Peer Connection Initiated with [AF_INET]x.x.x.x:1194
Wed Jul 14 01:15:03 2021 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
Wed Jul 14 01:15:03 2021 PUSH: Received control message: 'PUSH_REPLY,route-gateway 10.8.0.1,ping 10,ping-restart 120,ifconfig 10.8.0.2 255.255.0.0,peer-id 0,cipher AES-256-GCM'
Wed Jul 14 01:15:03 2021 OPTIONS IMPORT: timers and/or timeouts modified
Wed Jul 14 01:15:03 2021 OPTIONS IMPORT: --ifconfig/up options modified
Wed Jul 14 01:15:03 2021 OPTIONS IMPORT: route-related options modified
Wed Jul 14 01:15:03 2021 OPTIONS IMPORT: peer-id set
Wed Jul 14 01:15:03 2021 OPTIONS IMPORT: adjusting link_mtu to 1658
Wed Jul 14 01:15:03 2021 OPTIONS IMPORT: data channel crypto options modified
Wed Jul 14 01:15:03 2021 Data Channel: using negotiated cipher 'AES-256-GCM'
Wed Jul 14 01:15:03 2021 Outgoing Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
Wed Jul 14 01:15:03 2021 Incoming Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
Wed Jul 14 01:15:03 2021 interactive service msg_channel=0
Wed Jul 14 01:15:03 2021 open_tun
Wed Jul 14 01:15:03 2021 TAP-WIN32 device [Local Area Connection] opened: \\.\Global\{526EF9D3-DC84-41B0-B139-F1D4BAEFBF4F}.tap
Wed Jul 14 01:15:03 2021 TAP-Windows Driver Version 9.24 
Wed Jul 14 01:15:03 2021 Notified TAP-Windows driver to set a DHCP IP/netmask of 10.8.0.2/255.255.0.0 on interface {526EF9D3-DC84-41B0-B139-F1D4BAEFBF4F} [DHCP-serv: 10.8.0.0, lease-time: 31536000]
Wed Jul 14 01:15:03 2021 Successful ARP Flush on interface [11] {526EF9D3-DC84-41B0-B139-F1D4BAEFBF4F}
Wed Jul 14 01:15:03 2021 Block_DNS: WFP engine opened
Wed Jul 14 01:15:03 2021 Block_DNS: Using existing sublayer
Wed Jul 14 01:15:03 2021 Block_DNS: Added permit filters for exe_path
Wed Jul 14 01:15:03 2021 Block_DNS: Added block filters for all interfaces
Wed Jul 14 01:15:03 2021 Block_DNS: Added permit filters for TAP interface
Wed Jul 14 01:15:08 2021 TEST ROUTES: 0/0 succeeded len=-1 ret=0 a=0 u/d=down
Wed Jul 14 01:15:08 2021 Route: Waiting for TUN/TAP interface to come up...
Wed Jul 14 01:15:13 2021 TEST ROUTES: 0/0 succeeded len=-1 ret=0 a=0 u/d=down
Wed Jul 14 01:15:13 2021 Route: Waiting for TUN/TAP interface to come up...
Wed Jul 14 01:15:14 2021 TEST ROUTES: 0/0 succeeded len=-1 ret=0 a=0 u/d=down
Wed Jul 14 01:15:14 2021 Route: Waiting for TUN/TAP interface to come up...
Wed Jul 14 01:15:15 2021 TEST ROUTES: 0/0 succeeded len=-1 ret=0 a=0 u/d=down
Wed Jul 14 01:15:15 2021 Route: Waiting for TUN/TAP interface to come up...
Wed Jul 14 01:15:16 2021 TEST ROUTES: 0/0 succeeded len=-1 ret=0 a=0 u/d=down
Wed Jul 14 01:15:16 2021 Route: Waiting for TUN/TAP interface to come up...
Wed Jul 14 01:15:17 2021 TEST ROUTES: 0/0 succeeded len=-1 ret=0 a=0 u/d=down
Wed Jul 14 01:15:17 2021 Route: Waiting for TUN/TAP interface to come up...
Wed Jul 14 01:15:18 2021 TEST ROUTES: 0/0 succeeded len=0 ret=1 a=0 u/d=up
Wed Jul 14 01:15:18 2021 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Wed Jul 14 01:15:18 2021 Initialization Sequence Completed

如您所见,OpenVPN 客户端正在从 OpenVPN 服务器接收 10.8.0.2 IP 地址。但是,我ipconfig在命令行窗口中反复做,我看到的是每 15 秒,会发生以下情况:

  • “本地连接”适配器在几秒钟内获得 169.254.211.103 的 IP 地址
  • 然后“本地连接”适配器在一秒钟内获得 10.8.0.2 的 IP 地址。在这一秒内,10.8.0.1(OpenVPN 服务器)的 ping 将成功。
  • 然后“本地连接”适配器在接下来的 ~12 秒内不显示任何 IP 地址
  • 此过程每 15 秒重复一次

发生这种情况时,我可以看到控制面板中的适配器有时会更改为“正在识别...”:

在此处输入图像描述

如果 OpenVPN 客户端从 OpenVPN 服务器获取 10.8.0.2 地址,那么为什么适配器首先分配了 169.254.xx 地址?那为什么它只分配了 10.8.0.2 地址 1 秒就丢失了呢?

附加信息:

昨天之前,10.8.0.2 IP 地址实际上已分配给另一台机器 - 在 AWS 中运行的 Linux 实例。然后我做了以下事情:

  • 删除 AWS 中的 Linux 实例
  • 使用 OpenVPN 服务器上的Nyr OpenVPN openvpn-install.sh 脚本撤销该 Linux 客户端
  • 删除了 Linux 客户端的 OpenVPN 服务器的 /etc/openvpn/ccd 目录中的文件
  • 在 OpenVPN 服务器的 /etc/openvpn/ccd 目录中为 Windows Server 2019 机器添加了一个新文件,其 IP 地址为 10.8.0.2

我在 OpenVPN 服务器的 /etc/openvpn/ccd 目录中验证了 10.8.0.2 仅分配给 Windows Server 2019 机器,而不分配给任何其他机器。

我刚刚尝试让 OpenVPN 服务器将 10.8.0.11 分配给 Windows Server 2019 机器,它工作正常,完全没有问题。所以那个 10.8.0.2 地址有问题,可能是因为它以前被使用过。知道那可能是什么吗?

我希望能够使用 10.8.0.2 地址,因为我们已经编写了脚本,假设 10.8.0.2 将是静态 IP,并将这些脚本发送给第三方。如果可能的话,坚持使用 10.8.0.2 会更容易。

更多信息

我决定尝试从 OpenVPN 服务器上消除旧 Linux 客户端的任何痕迹:

  • 我从 /etc/openvpn/server/easy-rsa/pki/index.txt 文件中删除了它。
  • 我从 /etc/openvpn/server/easy-rsa/pki/revoked/certs_by_serial 目录中删除了它的证书。

我还注意到 OpenVPN 服务器的 /etc/openvpn/server/ipp.txt 文件包含旧 Linux 客户端与 10.8.0.2 的关联,以及 Windows Server 2019 客户端与错误 IP 地址的关联。我删除了 ipp.txt 文件。

然后我重新启动了 OpenVPN 服务器,并让 Windows 2019 Server 的 OpenVPN 客户端重新连接。不幸的是,我仍然得到与以前相同的行为。

更新:

几天没看Windows Server 2019的机器,现在又看了一遍。令人惊讶的是,它的 IP 地址为 10.8.0.2,而且从未消失。一切都按预期工作。我不知道为什么,因为我没有改变任何东西。

所以我在 Windows Server 2019 机器上重新启动了 OpenVPN 客户端,看看会发生什么,现在又回到了获取 169.254.xx 地址然后每 15 秒获取和丢失 10.8.0.2 地址的行为。

windows networking
  • 1 1 个回答
  • 336 Views

1 个回答

  • Voted
  1. Best Answer
    pacoverflow
    2021-10-08T12:30:52+08:002021-10-08T12:30:52+08:00

    这是一个 IP 地址冲突,如 Windows Server 2019 实例上的系统事件日志所示。

    我们有一些额外的 Linux 服务器运行 OpenVPN 客户端(不同于我在问题中提到的 Linux 客户端)。这些 Linux 服务器中的每一个都设置了一个 IP 地址为 10.8.0.2 的网桥。该网桥将 OpenVPN 客户端的 tap0 接口连接到连接到供应商设备的 eth1 接口。此设置允许在 Windows Server 2019 实例上运行的供应商软件连接到设备。

    我关闭了 Linux 服务器并重新启动了 Windows Server 2019 实例。Windows Server 2019 实例能够获得 10.8.0.2 而不会丢失它。然后我启动了 Linux 服务器,现在一切正常。Windows Server 2019 和 Linux 实例很高兴,在 Windows Server 上运行的软件能够通过 OpenVPN 连接到连接到 Linux 服务器的设备。

    因此,解决方案是确保 Windows Server 2019 实例在任何 Linux 实例设置其网桥之前启动。

    编辑:一个更简单的解决方案是重新启动 OpenVPN 服务器,然后立即在 Windows Server 2019 实例上启动 OpenVPN 客户端。在任何 Linux 实例能够重新连接到 OpenVPN 服务器之前,它将获得 10.8.0.2。

    • 0

相关问题

  • 批量重命名图像文件集

  • Python 的“pass”参数的批处理等价物是什么?

  • nc如何识别服务名称

  • 在 Windows 上与 Docker 守护进程通信

  • 资源管理器侧面板中的桌面外壳快捷方式

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 为什么通过电缆(同轴电缆)的千兆位/秒 Internet 连接不能像光纤一样提供对称速度? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve