找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 108310|回复: 1419

[N1盒子] N1安装Docker版openwrt做主路由、并结合Pihole配置smartdns做主DNS

 火... [复制链接]
发表于 2019-12-26 14:17 | 显示全部楼层 |阅读模式
本帖最后由 861078848 于 2020-1-1 21:21 编辑

自用笔记备份 笔记地址:N1安装Docker版openwrt做主路由、并结合Pihole配置smartdns做主DNS

本地环境
一、N1安装armbian5.9.1
二、安装docker
三、docker下安装Pihole容器、openwrt容器
四、Pihole 配置
五、smartdns配置
六、硬件设备/连接方式

一、N1安装armbian5.9.1
A.刷回电视盒子系统
1.先把USB对公线链接到电脑USB口与N1的第二个口(靠HDMI口),N1不要通电。
2.打开USB_Burning_Tool,导入固件WEBPAD大的2.2的线刷包,验证通过后,出现开始字样
3.勾选擦除FLASH,不要勾选擦除bootloader,USB_Burning_Tool点击开始运行刷机,3秒钟内速度让N1通电。
4.USB_Burning_Tool开始正常识别N1线刷模式,刷机开始。
5.烧录完成后,拔电重启,N1恢复了原来的样子,可以正常ADB连接,进入线刷,重新安装ARMBIAN。

B.刷armbian系统到U盘
1.用Win32DiskImager.exe工具先刷入Armbian_5.91_Aml-s905_Debian_buster_default_5.1.15_20190710.img到U盘。
2.将meson-gxl-s905d-phicomm-n1-k510-snail.dtb放入u盘中dtb文件夹呢
3.修改uEnv.ini:
dtb_name=/dtb/meson-gxl-s905d-phicomm-n1-k510-snail.dtb

C.进入线刷模式
1.路由器中找到类似:FC:7C:02:EA:33:32的MAC对应的ip地址。
2.然后进入线刷模式,成功进入线刷马上插入U盘,等待系统开机。

D.将系统刷入N1的emmc
进入armbian系统:帐号:root,密码:1234
执行:/root/install.sh
reboot,断电重启


二、安装docker
A.修改成国内源
nano /etc/apt/sources.list
deb http://mirrors.ustc.edu.cn/debian stretch main contrib non-freedeb http://mirrors.ustc.edu.cn/debian stretch-updates main contrib non-freedeb http://mirrors.ustc.edu.cn/debian stretch-backports main contrib non-freedeb http://mirrors.ustc.edu.cn/debian-security/ stretch/updates main contrib non-free

B.更新软件源
apt-get update

C.安装docker
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh --mirror Aliyun

D.设置docker开机自启动
systemctl start docker


三、docker下安装Pihole容器、openwrt容器
A.准备工作,设置网络环境
1.设置宿主机网络
vi /etc/network/interfaces
auto eth0iface eth0 inet manualauto macvlaniface macvlan inet staticaddress 192.168.1.3netmask 255.255.255.0gateway 192.168.1.1dns-nameservers 192.168.1.1pre-up ip link add macvlan link eth0 type macvlan mode bridgepost-down ip link del macvlan link eth0 type macvlan mode bridge

vi /etc/resolv.conf
# Generated by NetworkManagersearch lannameserver 192.168.1.1
设置不可更改 : chattr +i /etc/resolv.conf
设置macvlan网卡,首次需要设置,以后不需要设置
ip link set eth0 promisc on
docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 macnet

B.安装Pihole
docker pull pihole/pihole
docker run -d --name pihole --network macnet --ip 192.168.1.5 -e TZ="Asia/Shanghai" -v /mnt/pihole/pihole/:/etc/pihole/ -v /mnt/pihole/dnsmasq.d/:/etc/dnsmasq.d/ --dns=127.0.0.1 --dns=192.168.1.1 --restart always pihole/pihole:latest
设置密码:docker exec -it pihole pihole -a -p
注意:不要汉化,汉化之后无法设置dns地址#端口。
首次启动比较慢,需要等待10-15分钟,才能打开192.168.1.5管理页面。

C.安装openwrt
1.这边感谢梁非凡大神,使用梁非凡大神12月5日发的docker版openwrt镜像
2.将镜像openwrt-armvirt-64-default-rootfs.tar.gz上传到当前目录下,注意gz压缩格式
3.导入镜像:docker import openwrt-armvirt-64-default-rootfs.tar.gz openwrt:R9.12.5
4.运行容器:docker run --restart always --name openwrt -d --network macnet --privileged openwrt:R9.12.5 /sbin/init
5.进入openwrt容器:
获取openwrt对应的容器ID:docker ps
docker exec -it a19748c95b15 /bin/bash

6.设置openwrt容器的IP地址,vi /etc/config/network,N1拨号下面的user改你的宽带账号,password改你的宽带密码。
config interface 'loopback'        option ifname 'lo'        option proto 'static'        option ipaddr '127.0.0.1'        option netmask '255.0.0.0'config interface 'lan'        option ifname 'eth0'        option proto 'static'        option netmask '255.255.255.0'        option ipaddr '192.168.1.1'        option gateway '192.168.1.1'        option dns '223.6.6.6 119.29.29.29 114.114.114.114 180.76.76.76'config interface 'wan'        option ifname 'eth0'        option username 'user'        option password 'password'        option ipv6 'auto'        option metric '40'        option proto 'pppoe'        option delegate '0'
6.设置防火墙,vi /etc/firewall.user
# This file is interpreted as shell script.# Put your custom iptables rules here, they will# be executed with each firewall (re-)start.# Internal uci firewall chains are flushed and recreated on reload, so# put custom rules into the root chains e.g. INPUT or FORWARD or into the# special user chains, e.g. input_wan_rule or postrouting_lan_rule.iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53iptables -t nat -I POSTROUTING -o pppoe-wan -j MASQUERADE


四、Pihole 配置
A.设置dns服务器#端口
1.浏览器打开192.168.1.5,登录后台。
2.DNS中自定义设置为192.168.1.1#6053,这个ip和端口对应openwrt的ip和smartdns设置的端口。


五、smartdns 配置
A.局域网内DNS解析流程,分主路和备用两条DNS解析,并且两条dns线路独立,smartdns不做dnsmasq的上游服务器。主DNS出现问题时,备用DNS自动生效。
1.局域网主DNS解析流量:设备(手机、电脑等)-->PiHole(192.168.1.5)-->smartdns(192.168.1.1#6053)
1.1 smartdns会返回最快的解析结果
1.2 smartdns添加上游服务器,注意不要添加国外dns服务器,只添加国内dns服务器,如阿里云dns服务器(223.6.6.6)
1.3 另外添加本地dns(127.0.0.1),本地dns非常重要,如果不添加这条,当解析国外域名时,解析出来的ip是对于运营商ip响应最快的ip地址,例如www.google.com解析出来的对于本地运营商最快的ip地址(172.217.160.78美国IP),当实际访问网站时:本地运营商-->乳酸菌饮料服务器(HK)--->目标IP(172.217.160.78美国IP),乳酸菌饮料服务器到目标IP的速度并不是最快的,影响访问速度。如果添加上本地dns:那么当解析国外域名时,乳酸菌饮料会根据vps对于目标网站解析出响应最快的ip地址(172.217.24.196深圳旁边IP)。当实际访问网站时:本地运营商-->乳酸菌饮料服务器(HK)--->目标IP(172.217.24.196深圳旁边IP),此时访问速度会比较快。

2.局域网备用DNS解析流量:设备(手机、电脑等)-->openwrt(192.168.1.1#53)
2.1 主DNS失效或出错时,备用DNS会自动生效
2.2 备用DNS就是原本的dns,因为smartdns并没有做dnsmasq的上游服务器,因此即便smartdns出问题时,备用dns也不会受任何影响。
2.3 备用DNS国外流量自动走乳酸菌饮料,国内流量不走乳酸菌饮料。


B.局域网内DHCP自动分配给设备主用、备用两条DNS记录
192.168.1.5为主DNS,192.168.1.1为备用DNS。


C.smartdns配置截图及其他配置图
只修改基本设置和上游服务器,其他地方不做修改
乳酸菌饮料不修改,不做DNS转发器





D.smartdns配置结果测试
1.主用、备用DNS国内流量解析结果

2.主用、备用DNS国外流量解析结果



六、硬件设备
设备:斐讯N1、水星千兆交换机、移动光猫、腾达AC23
斐讯N1:armbian、openwrt、pihole
移动光猫:桥接
腾达AC23:AP
路由连接方式:光猫lan口连接交换机、斐讯N1连接交换机、腾达AC23的wan口连接交换机。
注意事项:所有设备都在同一个网段
openwrt:192.168.1.1
armbian:192.168.1.3
pihole:192.168.1.5
腾达AC23:192.168.1.6
光猫:192.168.1.2(光猫设置静态IP,并关闭DHCP)

点评

请问楼主,N1做旁路由,DHCP服务器高级设置要怎么填写呢?  发表于 2020-5-12 13:44
麻烦问下 N1的armdian是怎么实现上网的呢?我也是armdian+docker跑openwrt 其它设备都正常 唯独N1上不了网  发表于 2020-4-8 10:44

评分

参与人数 6恩山币 +7 收起 理由
侯少爷 + 1 这个年轻人不讲武德,耗子尾汁!
为失足少女开光 + 2 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
fyzklrr + 1 恩山全体路由党向你学习!
5asdfasdf + 1 强大的恩山!(以下重复1万次)
jiangpan + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
apple9704 + 1 面对这种帖子,我内心复杂,真不知道说什么好……

查看全部评分

只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2019-12-26 14:57 | 显示全部楼层
感谢分享,有空试试效果
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-12-26 15:04 | 显示全部楼层
那么详细的教程。。给力  思考一下
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-12-26 15:08 | 显示全部楼层
不错,写的很详细,收藏了
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-12-26 15:21 | 显示全部楼层
手机上看不明白,回去到电脑上看看
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-12-26 16:34 | 显示全部楼层
结合Pihole配置smartdns
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2019-12-26 16:35 | 显示全部楼层
这都要隐藏啊……
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-12-26 16:38 | 显示全部楼层
谢谢楼主分享
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-12-26 16:46 | 显示全部楼层
来试试这个固件
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-12-26 16:51 | 显示全部楼层
感谢楼主分享。。。。。。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-12-26 16:57 | 显示全部楼层
很腻害,刚好可以参考一下
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-12-26 17:13 | 显示全部楼层
很腻害,刚好可以参考一下
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-12-26 17:13 | 显示全部楼层
N1安装armbian5.9.1
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-12-26 17:14 | 显示全部楼层
一直想做主路由了,思考一下
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-12-26 17:18 | 显示全部楼层
N1做主路由接K2P的无线能满速?
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-10-15 03:53

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表