gpt4 book ai didi

cisco - 如何使用 Cisco Anyconnect 在 WSL 2 中获得网络和 X11 转发?

转载 作者:行者123 更新时间:2023-12-05 06:05:30 30 4
gpt4 key购买 nike

所以我可以在 WSL2 中使用 X11 转发,例如 How to set up working X11 forwarding on WSL2 .然后我在连接到 Cisco AnyConnect 服务器后无法让网络正常运行,但我使用例如 WSL 2 Cisco AnyConnect Networking Workaround 解决了这个问题。 .这包括手动设置/etc/resolv.conf 以包含我需要的 DNS 名称服务器,尽管 X11 的 DISPLAY 变量随后应通过 this answer 设置。到 X11 问题。

但是一旦我连接到 AnyConnect,我就不能再转发 X11 应用程序,它甚至包括 vim,除非我添加 -X 参数(看起来很奇怪,但我知道什么)。这些应用程序不会在显示设置中显示错误,它们只是不显示。一旦我断开与 VPN 的连接,相同的命令就可以正常工作。无论需要进行的网络设置如何,都会发生这种情况,所以我认为它只与 AnyConnect 本身有关,但也许我需要运行其他 Powershell 命令以便显示正常工作?有什么想法吗?

最佳答案

我在我的 WSL2 环境中也有同样的担忧。通过 Cisco AnyConnect 打开 VPN 连接后,我在 DISPLAY 环境变量中为 X11 转发设置的默认网络接口(interface)(我从/etc/resolv.conf 中检索 - 与 the one you pointed out 相同的方法)不再可访问。

然后我寻找任何可从 WSL2 端 ping 通并且具有可访问的 6000 端口的 Windows 网络接口(interface)(因为这个端口似乎是默认用于与 X 服务器(如 VcXsrv)建立 X11 连接的端口)。幸运的是,我在 VPN 上找到了为 Windows 主机打开的虚拟网络接口(interface),它符合以下条件:

Name                       : Ethernet 2
InterfaceDescription : Cisco AnyConnect Secure Mobility Client Virtual Miniport Adapter for Windows x64
InterfaceIndex : 4
MacAddress : [...]
MediaType : 802.3
PhysicalMediaType : Unspecified
InterfaceOperationalStatus : Up
AdminStatus : Up
LinkSpeed(Mbps) : 862.4
MediaConnectionState : Connected
ConnectorPresent : False
DriverInformation : [...]

为了能够从 WSL2 端使用它,我使用了以下 Powershell 命令来检索接口(interface)的 IP 地址:

Get-NetAdapter |
Where-Object InterfaceDescription -like "*AnyConnect*Virtual*Adapter*" |
Get-NetIPAddress -AddressFamily IPv4 |
Select-Object -ExpandProperty IPAddress

可以将其包装到 WSL2 的 Powershell 调用中,如下所示:

/mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe -Command '<the_command_above>'

一旦我得到这个 IP 地址,我只需要用它重新导出我的 DISPLAY 环境变量:

export DISPLAY="<vpn_ip_address>:0"

就是这样,我可以再次享受 X11 转发回来的乐趣了!

关于cisco - 如何使用 Cisco Anyconnect 在 WSL 2 中获得网络和 X11 转发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66002099/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com