当前位置: 首页 > article >正文

软路由折腾 | OpenWrt安装后基础配置指南:联网设置与DNS优化

在PVE中安装OpenWrt教程


一、网络基础配置

1. 确认网络接口角色

OpenWrt旁路由通常仅需配置LAN口,无需WAN口。其流量通过主路由转发,因此需确保:

  • 物理连接:OpenWrt的LAN口(如eth0)桥接到主路由的局域网(通过PVE的vmbr1
  • IP规划:旁路由IP需与主路由同网段(如主路由192.168.1.1,旁路由设为192.168.1.2

2. 验证初始网络连通性

  1. 登录OpenWrt管理界面
    浏览器访问旁路由IP(如http://192.168.1.2),使用默认用户名root和密码(初始为空或password,需首次登录后修改)。

  2. 检查接口状态
    前往 网络 → 接口,确认LAN接口已获取正确IP且显示“已连接”。

  3. 测试基础网络
    在OpenWrt的 系统 → TTYD终端 或SSH中执行:

    ping 223.5.5.5  # 测试IPv4连通性
    ping 2400:3200::1  # 测试IPv6连通性(若主路由支持)
    

二、配置旁路由联网

1. 关闭DHCP服务(关键步骤)

  • 路径:网络 → 接口 → LAN → 修改 → DHCP服务器
    • 勾选 忽略此接口
    • 保存并应用

目的:避免与主路由DHCP冲突,确保客户端IP仍由主路由分配。


2. 设置网关与DNS

  1. 手动指定网关

    • 路径:网络 → 接口 → LAN → 修改 → 常规设置
      • IPv4网关:填写主路由IP(如192.168.1.1
      • IPv6网关:若主路由支持IPv6,填写主路由IPv6地址(可选)
  2. 自定义DNS服务器

    • 路径:网络 → 接口 → LAN → 修改 → 高级设置
      • DNS服务器:填写主路由IP或公共DNS(如223.5.5.5, 8.8.8.8
      • 取消勾选 使用对端通告的DNS服务器

3. 防火墙配置

  • 路径:网络 → 防火墙 → 自定义规则
    • 添加以下规则(解决旁路由流量转发问题):
    iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
    
    • 保存并应用

三、DNS高级优化

1. 启用DNS转发与缓存加速

  1. 修改Dnsmasq配置

    • 路径:网络 → DHCP和DNS → 常规设置
      • DNS转发:填入上游DNS(如127.0.0.1#5053,配合AdGuard Home使用)
      • 勾选 本地服务器缓存应答结果
  2. 调整缓存大小

    • 编辑文件 /etc/dnsmasq.conf,添加:
      cache-size=10000  # 缓存条目数(默认150,建议提升至5000以上)
      min-cache-ttl=600  # 最小缓存时间(秒)
      

2. 配置DNS-over-TLS(加密DNS)

  1. 安装https-dns-proxy插件

    opkg update
    opkg install https-dns-proxy
    
  2. 配置加密DNS服务

    • 路径:服务 → Internet → HTTPS DNS Proxy
      • 启用服务,选择DNS提供商(如Cloudflare、Google)
      • 监听端口设为5053(避免与Dnsmasq默认端口53冲突)
  3. 修改Dnsmasq上游

    • 路径:网络 → DHCP和DNS → 常规设置
      • DNS转发127.0.0.1#5053

3. 广告过滤(AdGuard Home)

  1. 安装AdGuard Home

    opkg update
    opkg install adguardhome
    
  2. 初始化配置

    • 访问 http://192.168.1.2:3000 完成初始化,设置监听端口为53(需关闭Dnsmasq的53端口)
    • 上游DNS:填写加密DNS地址(如tls://dns.google
  3. 同步Dnsmasq配置

    • 路径:网络 → DHCP和DNS → 常规设置
      • DNS转发127.0.0.1:5353(AdGuard Home默认端口)

四、客户端配置

1. 手动指定网关与DNS

  • Windows/Mac/Linux
    在网络设置中手动设置IP地址,网关和DNS均指向旁路由IP(192.168.1.2)。

2. 主路由DHCP全局推送(推荐)

  • 主路由后台(以TP-Link为例):
    进入DHCP设置 → 默认网关/DNS服务器 → 填写旁路由IP 192.168.1.2

五、验证与排错

1. 测试DNS解析

nslookup google.com 192.168.1.2  # 检查旁路由DNS是否响应
dig +trace openwrt.org  # 查看完整DNS解析路径

2. 常见问题处理

  • 无法上网

    • 检查旁路由防火墙是否放行流量(网络 → 防火墙 → 通信规则)。
    • 确认主路由未开启IP/MAC绑定导致旁路由被拦截。
  • DNS解析失败

    • 重启Dnsmasq服务:/etc/init.d/dnsmasq restart
    • 检查上游DNS是否可达:ping 223.5.5.5

六、安全加固建议

  1. 修改默认密码

    passwd  # SSH中执行
    
  2. 禁用SSH密码登录(启用密钥认证)

    • 编辑 /etc/ssh/sshd_config
      PermitRootLogin prohibit-password
      PasswordAuthentication no
      
  3. 定期更新软件包

    opkg update && opkg list-upgradable | opkg upgrade
    

通过以上配置,您的OpenWrt旁路由已具备基础联网能力、DNS优化及安全防护。后续可根据需求安装科学上网插件(如PassWall)、流量监控(nlbwmon)等扩展功能,实现更复杂的网络管理需求。

相关文章:

软路由折腾 | OpenWrt安装后基础配置指南:联网设置与DNS优化

在PVE中安装OpenWrt教程 一、网络基础配置 1. 确认网络接口角色 OpenWrt旁路由通常仅需配置LAN口,无需WAN口。其流量通过主路由转发,因此需确保: 物理连接:OpenWrt的LAN口(如eth0)桥接到主路由的局域网&…...

设置默认构建变体 Build Variant

Android Studio在打开项目时有时会把我设置好的build Variant改为默认的变体,没注意的话可能打完包才发现打错了,浪费时间。因此,有必要通过代码设置一个我想要的默认变体。 代码其实很简单,只要在变体下面加上isDefault true即可…...

【大模型】DeepSeek使用与原理解析:从V3到R1

文章目录 一、引言二、使用与测评1.7大R1使用技巧2.官网实测 发展历程三、Deepseek MoE:专家负载均衡 (2024年1月)四、GRPO:群体相对策略优化(DeepSeek-Math,2024年4月)五、三代注意力&#xff…...

DAY04 Object、Date类、DateFormat类、Calendar类、Math类、System类

学习目标 能够说出Object类的特点是所有类的祖宗类,任意的一个类都直接或者间接的继承了Object类,都可以使用Object类中的方法Animal extends Object:直接继承Cat extends Animal:间接继承 能够重写Object类的toString方法altinsert,选择toString 能够重写Object类的equals方法…...

oracle 19c安装DBRU补丁时报错CheckSystemSpace的处理

oracle 19c的补丁目前已经发布到19.26版本了,数据库补丁安装也是数据库运维中的一个常见工作;近期在一个安装补丁的环境遇到了Prerequisite check "CheckSystemSpace" failed.错误,看起来是磁盘剩余空间不足的告警;按以…...

图像生成GAN和风格迁移

文章目录 摘要abstract1.生成对抗网络 GAN1.1 算法步骤 2.风格迁移2.1 损失函数2.2 论文阅读2.2.1 简介2.2.2 方法2.2.3 实验2.2.4 结论 3.总结 摘要 本周学习了生成对抗网络(GAN)与风格迁移技术在图像生成中的应用。首先介绍了GAN模型中生成器与判别器…...

golangAPI调用deepseek

目录 1.deepseek官方API调用文档1.访问格式2.curl组装 2.go代码1. config 配置2.模型相关3.错误处理4.deepseekAPI接口实现5. 调用使用 3.响应实例 1.deepseek官方API调用文档 1.访问格式 现在我们来解析这个curl 2.curl组装 // 这是请求头要加的参数-H "Content-Type:…...

【第15章:量子深度学习与未来趋势—15.3 量子深度学习在图像处理、自然语言处理等领域的应用潜力分析】

一、开篇:为什么我们需要关注这场"量子+AI"的世纪联姻? 各位技术爱好者们,今天我们要聊的这个话题,可能是未来十年最值得押注的技术革命——量子深度学习。这不是简单的"1+1=2"的物理叠加,而是一场可能彻底改写AI发展轨迹的范式转移。 想象这样一个…...

JAVA安全—Shiro反序列化DNS利用链CC利用链AES动态调试

前言 讲了FastJson反序列化的原理和利用链,今天讲一下Shiro的反序列化利用,这个也是目前比较热门的。 原生态反序列化 我们先来复习一下原生态的反序列化,之前也是讲过的,打开我们写过的serialization_demo。代码也很简单&…...

LangChain大模型应用开发:提示词工程应用与实践

介绍 大家好,博主又来给大家分享知识了。今天给大家分享的内容是LangChain提示词工程应用与实践。 在如今火热的大语言模型应用领域里,LangChain可是一个相当强大且实用的工具。而其中的提示词(Prompt),更是我们与语言模型进行有效沟通的关…...

【数据结构入门 65 题】目录

目录 1 函数题2 编程题3 数据结构实现 1 函数题 6-1 单链表逆转 6-2~6-6 线性表基本操作 6-7 在一个数组中实现两个堆栈 6-8 求二叉树高度 6-9 二叉树的遍历 6-10 二分查找 6-11 先序输出叶结点 6-12 二叉搜索树的操作集 2 编程题 3 数据结构实现 栈和队列...

osgearth控件显示中文(八)

当前自己知道的方法大概有以下两种: (一)直接转成utf8 其实在前面的文章中已经有了。 osgEarth::Annotation::PlaceNode *pn = new osgEarth::Annotation::PlaceNode(GeoPoint(geoSRS, 110, 34), String2UTF8("中国"), style);std::wstring String2Wstring(con…...

2025 N1CTF crypto 复现

近一个月都没有学习了,一些比赛也没有打,很惭愧自己还是处在刚放假时的水平啊,马上开学了,抓紧做一些训练来康复。 CheckIn import os from Crypto.Util.number import * from secret import FLAGp, q getPrime(512), getPrime…...

Windows Defender Control--禁用Windows安全中心

Windows Defender Control--禁用Windows安全中心 链接:https://pan.xunlei.com/s/VOJDuy2ZEqswU4sEgf12JthZA1?pwdtre6#...

mount 出现 2038 问题

在 linux 上挂载 ext4 文件系统时出现了 2038 年问题,如下: [ 236.388500] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null) [ 236.388560] ext4 filesystem being mounted at /root/tmp supports timestamps until 2…...

langchain+不同模型api使用教程

目录 一、Langchainopenai1. gpt-4o2. o13. o3-mini 二、Anthropic1.claude-3-5-sonnet-latest 三、四、 一、Langchainopenai langchain_community 可能是一个较旧的库,或者它的版本与 OpenAI 的最新 API 不兼容。OpenAI 的 API 可能会更新,而 langcha…...

【第12章:深度学习与伦理、隐私—12.4 深度学习与伦理、隐私领域的未来挑战与应对策略】

凌晨三点的自动驾驶测试场,AI系统突然在暴雨中做出惊人决策——它选择撞向隔离带而不是紧急变道,因为算法推演发现隔离带后的应急车道站着五个工程师。这个惊悚的伦理困境,揭开了深度学习伦理危机最尖锐的冰山一角。 一、潘多拉魔盒已开:深度学习伦理的四大原罪 1.1 数据原…...

2. 图片性能优化

图片性能优化 图片懒加载 如何判断图片出现在了当前视口 &#xff08;即如何判断我们能够看到图片&#xff09;如何控制图片的加载 原生实现 <img src"shanyue.jpg" loading"lazy" />loading"lazy" 延迟加载图像&#xff0c;直到它和视…...

Java与DeepSeek的完美结合:开启高效智能编程新时代 [特殊字符]

一、DeepSeek&#xff1a;Java开发者的智能编程伙伴 &#x1f916; 1.1 DeepSeek是什么&#xff1f; DeepSeek是一款AI驱动的智能编程工具&#xff0c;通过深度学习和自然语言处理技术&#xff0c;为Java开发者提供&#xff1a; 智能代码补全&#xff1a;根据上下文预测代码 …...

RL--2

强化学习当中最难的两个点是&#xff1a; 1.reward delay&#xff1b; 2.agent的行为会影响到之后看到的东西&#xff0c;所以agent要学会探索世界&#xff1b; 关于强化学习的不同类型&#xff0c;可以分为以下三种&#xff1a; 一种是policy based&#xff1a;可以理解为它是…...

SpringMVC新版本踩坑[已解决]

问题&#xff1a; 在使用最新版本springMVC做项目部署时&#xff0c;浏览器反复500&#xff0c;如下图&#xff1a; 异常描述&#xff1a; 类型异常报告 消息Request processing failed: java.lang.IllegalArgumentException: Name for argument of type [int] not specifie…...

2025 pwn_A_childs_dream

文章目录 fc/sfc mesen下载和使用推荐 fc/sfc https://www.mesen.ca/docs/ mesen2安装&#xff0c;vscode安装zg 任天堂yyds w d 左右移动 u结束游戏 i崩溃或者卡死了 L暂停 D658地方有个flag 发现DEEE会使用他。且只有这个地方&#xff0c;maybe会输出flag&#xff0c;应…...

pandas(11 分类数据和数据可视化)

前面内容&#xff1a;pandas(10 日期和Timedelta) 目录 一、Python Pandas 分类数据 1.1 pd.Categorical() 1.2 describe() 1.3 获取类别的属性 1.4 分类操作 1.5 分类数据的比较 二、Python Pandas 数据可视化 2.1 基础绘图&#xff1a;plot 2.2 条形图 2.3 直方…...

Redis 03章——10大数据类型概述

一、which10 &#xff08;1&#xff09;一图 &#xff08;2&#xff09;提前声明 这里说的数据类型是value的数据类型&#xff0c;key的类型都是字符串 官网&#xff1a;Understand Redis data types | Docs &#xff08;3&#xff09;分别是 1.3.1redis字符串&#xff0…...

bps是什么意思

本文来自DeepSeek "bps" 是 "bits per second" 的缩写&#xff0c;表示每秒传输的比特数&#xff0c;用于衡量数据传输速率。1 bps 即每秒传输 1 比特。 常见单位 bps&#xff1a;比特每秒 Kbps&#xff1a;千比特每秒&#xff08;1 Kbps 1,000 bps&am…...

撕碎QT面具(1):Tab Widget转到某个Tab页

笔者未系统学过C语法&#xff0c;仅有Java基础&#xff0c;具体写法仿照于大模型以及其它博客。自我感觉&#xff0c;如果会一门对象语言&#xff0c;没必要先刻意学C&#xff0c;因为自己具有对象语言的基础&#xff0c;等需要用什么再学也不迟。毕竟不是专门学C去搞算法。 1…...

PCL源码分析:点云数学形态学操作

文章目录 一、简介二、源码分析三、实现效果参考资料一、简介 基本原理:使用结构元素(通常为滤波的窗口)的窗口模板作为处理单元,利用形态学中的膨胀与腐蚀相组合即可达到滤波的效果。 点云数据中的数学形态学运算其实和二维图像上的运算非常相似,图像上像素有x,y和亮度值…...

项目版本号生成

需求 项目想要生成一个更新版本号&#xff0c;格式为v2.0.20250101。 其中v2.0为版本号&#xff0c;更新时进行配置&#xff1b;20250101为更新日期&#xff0c;版本更新时自动生成。 实现思路 创建一个配置文件version.properties&#xff0c;在其中配置版本号&#xff1b…...

rtsp rtmp 跟 http 区别

一 会话管理 与SDP 1. RTSP&#xff08;Real Time Streaming Protocol&#xff09; (1) 是否需要建立会话&#xff1f; 需要显式会话。 RTSP 是基于会话的协议&#xff0c;客户端与服务端通过 SETUP、PLAY、TEARDOWN 等命令明确控制会话生命周期。 会话标识&#xff1a;通过…...

善筹网设计与实现(代码+数据库+LW)

摘 要 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是可操作性等各个方面来讲&#xff0c;遇到了互联网时代才发现能补上自…...