首先是N1盒子刷openwrt(F大版固件)做旁路网关(非路由 )的教学 刷openwrt网关模式原贴地址:https://www.right.com.cn/forum/thread-5512947-1-1.html
找到F大主帖地址:https://www.right.com.cn/forum/thread-4076037-1-1.html
请注意,这里是旁路网关模式,和路由模式的区别以及功能测试请看原贴,本贴仅进行教学。
推荐刷+o的版本,5内核的,6总是有一些奇奇怪怪的问题 使用 balenaEtcher刷入镜像到U盘 (U盘先用Diskgenius删除所有分区,再一键新建1个分区,格式选 fat32,默认大小) 刷入后插入离HDMI口最近的那个USB槽,然后插入电源,此时默认从U盘中启动 (有些N1盒子需要降级才能使用,或者是进入系统界面,这个时候需要接上键盘进行设定,具体方法可以自行搜索) 启动后默认地址是( 192.168.1.1 ,账号 root密码 password) 打开服务-ttyd终端,账户和密码与后台密码相同1.输入 ./in后按 tab自动补全 2.选 113.选 1 (出现 read-only的报错,证明U盘有问题,换个U盘重新来)
N1启动后连接WIFI或者网线,浏览器输入 192.168.1.1进入后台 找到 网络-接口-LAN——基本设置 协议=静态协议 IPv4地址=你的本机地址 IPv4网关=你的主路由IP IPv4广播=不填写 使用自定义的DNS服务器=你的主路由IP 往下滑动,找到 基本设置-忽略此接口,打上勾 IPv6设置=全部选已禁用(IPv6代理容易出现问题) 网络-防火墙-防火墙区域设置-关掉启用SYN-flood防御 网络-防火墙-防火墙区域设置-入站数据、出站数据、转发-全部改成接受 至此,它已经是一个合格的旁路网关了
接下来我们开始给不同设备设置不同网关
dnsmasq 设置给不同设备使用不同网关
这个配置解决了传统旁路网关造成的代理问题以及设置麻烦问题 传统的旁路网关有两个模式,第一个是在主路由的wan口-高级设置-DHCP 选项里添加 3,x.x.x.x 6,x.x.x.x 这样DHCP下的所有机器都会使用x.x.x.x为网关和DNS,这就造成了家里有些设备本不需要代理的(例如小米音箱,小米净化器等一众智能设备),博主家里有人在银行上班,类似的国企企业有些程序或者软件使用会影响延迟和网速,甚至有些不允许打开,造成不必要的麻烦。 第二个就是直接在终端设备上手动修改dns和网关,但是这样太麻烦了win和手机都还好,但是一些类似xbox手柄,switch等设备,添加起来特别麻烦,需要一个个的去设置。 而采用dnsmasq的设置,则能够在一个地方,同时修改多台设备,设置完成后添加设备时只需要添加一串命令就好了。 在主路由!在主路由!在主路由!(重要的事情说三遍)
/etc/dnsmasq.conf 增加下面三行 log-dhcp log-queries log-facility=/tmp/dnsmasq.log
openwrt 上 dnsmasq 配置文件是 /var/etc/dnsmasq.conf.cfg01411c vim /var/etc/dnsmasq.conf.cfg01411c 更改 :conf-file=/etc/dnsmasq.conf vim /etc/dnsmasq.conf 添加/更改为resolv-file=/etc/resolv.dnsmasq.conf vim /etc/config/dhcp 观察其中配置项 resolvfile 我这里是/tmp/resolv.conf.auto(每个人的不一样) vim /tmp/resolv.conf.auto 复制全部内容 vim /etc/resolv.dnsmasq.conf 将刚刚复制的东西全部粘贴进去 然后保存退出 再次vim /etc/config/dhcp 将 option resolvfile '/tmp/resolv.conf.auto' 改成 option resolvfile '/etc/resolv.dnsmasq.conf' 再打开/etc/dnsmasq.conf 添加以下下文本 dhcp-host=MAC-ADDRESS,set:Rule-name,IP,NAME,infinite
dhcp-option=tag:Rule-name,option:dns-server,DNS
dhcp-option=tag:Rule-name,option:router,GATEWAY 其中 MAC-ADDRESS, IP, NAME是你要设置的上网机器的地址,ip,和名字,infinite是永久租约,当然也可以设置成12h,或者10m Rule-name是规则名字,每加一个设备就要换一个规则名字 DNS和 GATEWAY都设置为旁路网关的ip 保存后退出 dnsmasq --test 查看是否为OK 尝试 /etc/init.d/dnsmasq restart IF 重启 dnsmasq 服务,不报错的话 cat /tmp/dnsmasq.log 查看日志,显示有 reading /etc/resolv.dnsmasq.conf using nameserver x.x.x.x#53 using nameserver x.x.x.x#53 using nameserver x.x.x.x#53 using nameserver x.x.x.x#53 read /etc/hosts - 4 addresses 则证明dnsmasq启动成功 IF 重启 dnsmasq服务,报错且为udhcpc: no lease, failing /etc/init.d/dnsmasq stop dnsmasq -C /etc/dnsmasq.conf --log-debug IF 继续报错 dnsmasq: failed to create listening socket for port 53: Address in use 53端口被占用,查看dnsmasq 状态 /etc/init.d/dnsmasq status 显示如果是 inactive 打开你的openwrt 在 网络-DHCP/DNS-HOSTS和解析文件,先查看是否解析文件已变成/etc/resolv.dnsmasq.conf 然后滚轮滑下到下面,点击保存并应用 再次查看log cat /tmp/dnsmasq.log 此时已正常 电脑或者手机上重连网络即可获取新网关和dns地址
|