一次 DNS 端口引发的代理网络和公司内网冲突问题

最近在工作中遇到了一个比较头疼的问题:

公司的 安全准入客户端 和本地开发常用的 网络代理工具 无法同时运行。

现象是这样的:

  • 只要 安全准入客户端 一启动,本地工具就会失效,一些开发常用资源网站无法访问;

  • 一旦关闭安全客户端,访问工具恢复正常,但公司内网系统又连接不上。

两者就像"水火不容",每天都要手动切换,开发效率非常低。


问题排查

经过排查,发现问题核心在于 DNS 端口冲突。

安全准入客户端启动后会 占用系统的 53 端口(DNS 默认端口) ,而本地代理工具默认也会监听 53 端口用于 DNS 解析。

因此两个程序会出现端口竞争:

复制代码
安全准入客户端:占用 53 端口
代理工具:默认监听 53 端口

结果就是 其中一个 DNS 服务无法正常工作。

既然两个程序不能同时监听同一个端口,那么解决思路就很简单:

让代理工具改用其他端口监听 DNS。


解决思路

我的解决方案分为两个步骤:

1️⃣ 修改代理工具 DNS 监听端口

2️⃣ 使用虚拟网卡模式统一转发流量

这样既不会影响公司内网访问,也不会影响日常开发资源访问。


第一步:修改代理工具 DNS 监听端口

找到代理工具的配置文件(通常是 config.yaml)。

在 dns 配置部分进行修改。

💡 建议在修改之前 备份原始配置文件。

复制代码
dns:
  enable: true
  listen: '127.0.0.1:1053'       # 修改 DNS 监听端口,避开 53
  ipv6: false                    # 建议关闭 IPv6
  enhanced-mode: fake-ip         # 提升解析兼容性
  
  nameserver:
    - 'https://example-dns1/dns-query'
    - 'https://example-dns2/dns-query'
    
  fallback:
    - 'https://example-dns3/dns-query'
    - 'https://example-dns4/dns-query'
    - 'tls://8.8.8.8:853'
    - 'tls://1.1.1.1:853'
    
  fallback-filter:
    geoip: true
    geoip-code: CN
    ipcidr:
      - '240.0.0.0/4'
      
  nameserver-policy:
    '+.example.com': 'https://example-dns/dns-query'

关键修改点只有一个:

复制代码
listen: '127.0.0.1:1053'

也就是:

将 DNS 监听端口从 53 改为 1053。

这样就不会再与安全客户端产生端口冲突。


YAML 配置注意事项

如果你不熟悉 YAML,需要特别注意:

1️⃣ 缩进必须使用空格,不能使用 Tab

2️⃣ 列表建议使用标准块结构

3️⃣ 修改前一定要 备份配置文件


第二步:开启虚拟网卡模式

修改配置后,需要重新加载配置文件。

启动成功后一般会看到类似日志:

复制代码
DNS server started on 127.0.0.1:1053

接下来开启 虚拟网卡模式(TUN Mode)。

该模式会创建一个 虚拟网络接口,用于统一转发系统流量到代理内核进行处理。

这样:

  • 内网流量 → 走安全客户端

  • 外网开发资源 → 走代理工具

二者可以同时工作。

同时建议:

关闭 IPv6

可以减少部分企业网络环境中的路由异常。


第三步:验证

最后进行验证:

1️⃣ 同时启动 安全准入客户端 和 代理工具

2️⃣ 访问公司 内网系统

3️⃣ 访问常用 开发资源网站

如果两者都可以正常访问,说明问题已经解决。


总结

这次问题本质其实很简单:

DNS 端口冲突(53 端口)

解决思路就是:

避免端口冲突+ 使用虚拟网卡统一流量

通过修改代理工具 DNS 监听端口并开启虚拟网卡模式,就可以让两种网络环境同时正常工作。


最后提醒

如果你对 YAML 或网络配置不熟悉:

修改前一定要备份原始配置文件。

虽然在我的环境中测试没有问题,但任何底层网络配置修改都存在一定风险。

相关推荐
数字新视界5 分钟前
机房动环监控系统在提升数据中心能效与安全中的应用探索
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
AntsData27 分钟前
用 12K+ 条亚马逊评论信号,定位机械键盘下一版该改什么
java·大数据·计算机外设
code2cat34 分钟前
【随笔】连续批处理:长短请求怎样在迭代之间补位
java·人工智能·后端·大语言模型·vllm
最强小杰37 分钟前
DeepSeek V4 Flash + Codex CLI 接入教程:原生 Responses API 适配,从配置到跑通收藏这篇就够了(2026)
java·前端·python·ai
bksczm42 分钟前
MySQL之存储引擎
数据库·mysql
Flynn Liang1 小时前
Spring AI 2.0 深度解析:ChatClient、Advisor 链与 MCP——Java 工程师的 AI 落地最优解
java·人工智能·spring·大模型·架构设计·spring ai
灿飞1 小时前
Kotlin与Java虚拟机六:基础与类型系统:一切皆对象,但对象有代价
java·kotlin
计算机毕设定制辅导-无忧学长1 小时前
《基于微信小程序健康习惯激励系统设计与实现》
java·spring boot·mysql·微信小程序·uniapp·健康习惯激励系统
大模型最新论文速读1 小时前
text-to-sql:从学术玩具到生产落地
数据库·sql
ManageEngineITSM2 小时前
工单分类怎么设计?类别、子类别与自动分派的实用方法
大数据·服务器·数据库·人工智能·分类·数据挖掘