找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 2176|回复: 2

[N1盒子] 【原创】配合OpenWRT的Armbian版本选择与痼疾解决方案

[复制链接]
本帖最后由 heq 于 2020-5-27 11:48 编辑

过去近一年时间跑docker版本的OpenWRT作为家里的主路由,总体来说非常满意。过程中先后试用了3个armbian,分别是

经过近一年的试用,基本选定第1个即官方5.77版本。原因都跟我现在的远程连接家庭网关方案有关,具体如下:
  • XQ7版对IPv6支持不够完善,具体表现在手机如果有IPv6地址,则首先试图的IPv6连接总是失败,只能通过远程网关的IPv4地址连接。因为现在IPv6基本普及,导致的结果就是先行试图的IPv6连接时间浪费。
  • flippy版对IPv6的支持很好,每次连接都是IPv6优先。但其firewall 支持不够完善,具体说就是container openwrt不能正确初始化netfilter的基本规则,导致的结果是远程连接家庭网关方案中/etc/firewall.user规则全部失效,手机连入家庭网关后无法普通上网。

但官版5.77自身也有几个痼疾,现在基本都得到了满意的处理。
  • 无线无极限解决了Ethernet MAC地址持续变化的问题,不过我一直未能试验成功。只能在interface中通过设定hwaddress解决。
  • Flippy解决了WiFi MAC地址相同的问题。不过这个方案我未能在他的新版Armbian中试验成功。
  • dmesg 充斥了
    1. ttyS ttyS0: tty_port_close_start: tty->count = 1 port count = 4
    复制代码
    这些信息其实在启用container openwrt 前不会发生,所以问题源自container openwrt。WiKi OpenWRT提供了解决方案。我的实践是只需屏蔽container openwrt中/etc/inittab的ttyS0即可解决。这个问题解决后,更换DTB长期运行过程中荷载仍会飙升至2.0的问题似乎也得到了解决。
    1. vi /etc/inittab
    2. ...
    3. #ttyS0::askfirst:/usr/libexec/login.sh
    4. ...
    复制代码

  • host与container firewall隔离不好,导致container openwrt重启firewall时,host 关于设定container DNS重定向规则被清除,container这侧DNS解析失败。解决方案是openwrt启动时保留初始重定向规则,重启firewall后再行加载。(这个问题在flippy版得到了很好的解决,无须下面的解决办法)
    1. # vi /etc/rc.local
    2. ...
    3. # inspired by S*S*-rules from Jian Chang <aa65535@live.com>
    4. export_docker_fwrule() {
    5.     FWI=$(uci get firewall.docker.path 2>/dev/null)
    6.     [ -n "$FWI" ] || return 0
    7.     cat <<-CAT > $FWI
    8.         iptables-save -c | grep -v DOCKER | iptables-restore -c
    9.         iptables-restore -n <<-EOF
    10.         $(iptables-save | grep -E "DOCKER|^\*|^COMMIT" |\
    11.                 sed -e "s/^-A \(OUTPUT\|PREROUTING\)/-I \1 1/" | sed -e ":begin;$!N;/\*\(mangle\|filter\)\nCOMMIT/d;tbegin;P;D")
    12.         EOF
    13. CAT
    14.     return $?
    15. }

    16. export_docker_fwrule

    17. exit 0
    复制代码


    1. # vi /etc/config/firewall
    2. config include 'docker'
    3.         option type 'script'
    4.         option path '/var/etc/docker.include'
    5.         option reload '1'
    复制代码


评分

参与人数 3恩山币 +3 收起 理由
tkg*** + 1 强大的恩山!(以下重复1万次)
Tw!*** + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
topgo*** + 1 我不回帖,只评个分!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
 楼主| | 显示全部楼层
本帖最后由 heq 于 2020-5-27 11:30 编辑

老调重弹:本帖没有设置回复可见,不在意热度,无意义回帖只会让大家看起来吃力。恳请大家不要回复纯粹感叹内容,感谢与客套也免了。
但热烈欢迎如下内容:

1 设置中错误与不明确、待改进的内容。
水平有限,有时还会忽略一些技术细节(往往对生手却是很重要的内容),我将根据反馈意见更改,方便更多人使用。

2 本设置的使用效果反馈

3 请基于客观考虑评分,加、扣分都欢迎,

4 赏钱喝杯咖啡
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

正在折腾,找到这个,mark一下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 05:20

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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