Cisco Anyconnect 导致 wsl2 网络连接异常问题处理

编程知识 更新时间:2023-04-20 09:25:12

说明

搭建wsl环境时遇到网络和vpn冲突问题,早前在电脑上使用docker、虚机时也都遇到,查阅材料发现解决办法。在这里简单描述下原理和处理步骤,以做备忘。

原文详见链接:https://gist.github/pyther/b7c03579a5ea55fe431561b502ec1ba8

PS:Cisco anyconnect常用于企业vpn服务,本文旨在解决远程开发过程中本地冲突问题。


概述

Anyconnect在链接后会根据vpn服务器的配置下发路由策略和dns策略,在本地存在wsl或者docker容器的情况下,因虚拟网络策略与vpn策略冲突导致网络异常,主要由两点引起:

  1. 路由优先级问题。新创建的端口metric小于veth网卡,造成路由错误。
  2. dns解析问题。未连接vpn情况下是通过本地网关递归解析,vpn连接后造成本地递归失效(按说不应该失效,怀疑有其他坑待查),走vpn分配的dns服务器做解析即可。

处理方法

1、调整接口metric值

Cisco anyconnect 连接的情况下,用管理员权限打开powershell,输入以下命令调整vpn端口的metric值,降低vpn引入路由的优先级。

Get-NetAdapter | Where-Object {$_.InterfaceDescription -Match "Cisco AnyConnect"} | Set-NetIPInterface -InterfaceMetric 6000

完成后,可以在wsl里ping一个ip地址试试看,正常情况下网络已经通了。

ping 114.114.114.114

2、设置WSL里的路由

首先获得vpn分配的dns服务器地址,在管理员权限的powershell里输入:

(Get-NetAdapter | Where-Object InterfaceDescription -like "Cisco AnyConnect*" | Get-DnsClientServerAddress).ServerAddresses

10.10.0.124
10.10.0.132

更新wsl里的域名配置文件,大部分linux发行版都是修改/etc/resolv.conf,如果用了其他版本相应调整下。

cat /etc/resolv.conf
nameserver 10.10.0.124
nameserver 10.10.0.132

完成后进行测试,可通。

ping www.baidu

更多推荐

Cisco Anyconnect 导致 wsl2 网络连接异常问题处理

本文发布于:2023-04-15 21:32:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/645e2c16c1fd5189a6310b654ef2eac3.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:异常   网络   Cisco   Anyconnect

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 79109文章数
  • 14阅读数
  • 0评论数