+OpenWRT双软路由配置方法及DNS缓存|UPnP等常用功能拓展)
在本次的方案中我通过PVE虚拟化安装了RouterOS(ROS)与OpenWRT双软路由其中ROS将作为主路由负责拨号上网等路由器基本功能以及DNS缓存、UPnP等常见ROS拓展功能。OpenWRT将作为旁路由实现远程唤醒、负载均衡、ddns等功能。OpenWRT旁路由192.168.1.202Router OS主路由192.168.1.203一、ROS主路由配置首先使用winbox连接ROS管理界面。1第一步设置网口和地址进入管理界面后在interface菜单下查看ROS网卡通过上下行数据特征区分lan口和wan口Tx和Rx有数据的是lan口并标识网卡名称。接着在ip菜单下进入addresses选项指定lan口ip地址这里将lan口ip地址指定为192.168.1.203并计算后填入正确网段。这里值得注意的是对于多网口设备还需要使用网桥功能拓展lan口由于演示设备并无多余网口因此这里仅作文字说明搭建网桥bridge——bridge——add new——apply——ok为网桥依次添加网口bridge——Ports——add new——依次在interface选项下添加网口——apply——ok2第二步创建PPPOE拨号在interface中新增PPPOE Client,在General选项卡下指定wan口拨号在Dial Out选项卡下指定拨号用户和密码。其中如勾选Use peer DNS将自动获取运营商DNS一般我们选择手动填写因此这里暂时不予勾选。当PPPOE接口前出现R(unning)字样代表成功拨号网络已联通。3第三步防火墙的NAT设置在ip菜单下进入firewall选项在NAT标签页下新建规则修改action标签页下开启伪装masquerade4第四步创建DHCP服务在ip菜单下为lan口新建DHCP server指定DHCP地址段范围以及DHCP网关此时我们暂时按照单路由配置方式指定Ros网关为自己的IP在后续的双软路由配置中另行更改。指定DHCP分配范围值得注意的是如果是手动创建DHCP这一步我们需要通过ip菜单下的pool中创建地址池并在DHCP server中的DHCP选项卡下add new与地址池绑定。配置一个有效的DNS服务器5第五步开启ROS的DNS缓存在完成上述网络配置后为发挥ROS功能可以开启DNS缓存以提升上网体验。在开启ROS的DNS缓存后客户端的DNS地址为ROS的IP地址当客户端发送DNS请求至ROS后ROS在其缓存查找记录有记录直接返回客户端无记录将通过DNS服务器地址向上查询得到结果后再发送客户端并将结果缓存下次直接从缓存调取。1.将ROS设置为局域网的DNS服务器在ip菜单下进入DHCP server,编辑networks标签下DHCP的网络设置该配置即下发到客户端上的所有网络配置。为使用DNS缓存我们需要将ROS的DNS服务器指定为ROS自身的IP地址。2.允许ROS远程响应DNS请求在完成上述配置后ROS虽然是局域网的DNS服务器但是其本身不带域名解析的功能因此需要在ip菜单下选择DNS,为ROS配置有效DNS并允许其远程响应请求。6第六步开启UPnP为提升下载速度我们通常还将开启ROS的UPnP功能。对于一般的使用者来讲简单的把UPnP理解为自动端口映射就可以了。它就是一种基于TCP/IP协议的针对设备彼此间的通讯而制订的新的Internet协议目的在于将所有联入Internet中的设备实现不受网关阻碍的相互通信。在路由器下面开通UPnP一般认为能够提升网速。具体而言在ip菜单下进入UPnP,勾选全部选项后前往接口配置规则。为lan口选择内部类型为wan口选择外部类型。此时UPnP将正常工作。二、OpenWRT旁路由及双软路由配置在这一架构中上网设备的上网请求首先将到达ROS主路由再通过虚拟机内部的交换机到达旁路由待旁路由处理完数据后送回主路由后数据进入外网。1第一步修改旁路由配置修改lan口配置协议静态地址IPV4 地址192.168.1.202即旁路由ip地址子网掩码: 255.255.255.0网关填为上级路由 IP这里我们指向ROS主路由即192.168.1.203广播把上级路由网段 IP 最后一段改为 255或0DNS 地址填写正确的可以解析的ip地址关闭旁路由的 DHCP 功能 打钩忽略此接口关闭旁路由防火墙2第二步修改主路由配置1.修改ROS主路由DHCP网关在ip菜单下进入DHCP server,编辑networks标签下DHCP的网络设置将ROS主路由DHCP网关修改为旁路由OpenWRT的地址。2.修改ROS主路由DNS服务器在ip菜单下选择DNS,将ROS远程请求的DNS地址修改为旁路由OpenWRT的IP地址。此时双软路由就真正连通了。读到这里相信一部分粉丝已经对网络环境中DNS的走向蒙圈了这里稍作梳理。首先由于ROS被设置为了局域网的DNS服务器因此客户端的DNS地址为ROS的IP地址。当客户端发送DNS请求至ROS后ROS在其缓存查找记录有记录直接返回客户端无记录将通过DNS服务器地址向上查询此时的DNS服务器为OpenWRT旁路由的IP地址。由于在OpenWRT旁路由的Lan口设置中填写了真实有效的DNS地址因此网络得以连通。当然当开启OpenWRT旁路由某些服务时DNS有可能被再次接管。三、 OpenWRT旁路由常见应用这里主要介绍etherwake唤醒、拓展ddns解析商两个功能。1远程唤醒OpenWrt可以安装wol或etherwake实现网络唤醒功能前提是你的主机需要支持网络唤醒opkg update opkg install wol opkg install etherwake#唤醒方法etherwake-bF0:76:1C:E1:EA:D82ddns解析旁路由设置ddns解决主路由器ddns服务商少的问题。以上图家庭拓扑为例当前动态公网ip的ddns服务部署在NAS上如果NAS意外断电解析域名将无法解析获得ip地址从而导致远程访问的中断而Mesh路由器上ddns服务商常常不支持自定义域名的接入因此在上述组网方案基础上可以借助软路由长期在线的优势拓展ddns解析商弥补NAS意外断电后ddns解析失败的问题。由于旁路由没有wan口获取IP因此这里通过api请求形式获取公网ip地址http://ip.3322.net/至此本文也就进入尾声了。希望本文能够起到抛砖引玉之效也欢迎大家的批评交流。如果您有任何疑问或者好的建议期待你的留言、评论与关注