例如 OpenWRT 和 DD-WRT 提供两个文件:
为什么一个是 .img 而另一个是 .bin?
我只选择哪一个是否重要,如果是,我应该什么时候选择哪个?
我最近买了一个路由器,刷了 OpenWRT,安装了 kmod-ipv6 和 radvd。我试图建立 IPv6 连接,但我只能从路由器 ping ipv6.google.com,不能从路由器后面的计算机。
我的路由器不受“官方”支持,即主干中没有补丁,所以我使用的是其他人 (@r31540) 的预编译固件。但是 radvd 配置脚本无法正常工作,因为它使用/lib/functions/network.sh在我的情况下不存在,因此我无法从/etc/config/radvd.
/64 子网2001:da8:205:406a::/64位于 eth0 上。
路由器后面的计算机有 IPv6 地址,但无法访问网络。
当前配置文件:
配置文件
interface br-lan {
AdvSendAdvert on;
prefix 2001:da8:205:406a::/64 {
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};
Run Code Online (Sandbox Code Playgroud)
/etc/config/network
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 'eth1'
option type 'bridge'
option proto 'static'
option dns '199.91.73.222 178.79.131.110'
option ipaddr '10.224.0.1' …Run Code Online (Sandbox Code Playgroud) 我有两个 centos/bind dns 服务器 -
masterdns.internal.example.com
secondarydns.internal.example.com
Run Code Online (Sandbox Code Playgroud)
如果配置桌面,我可以为每个桌面分配 DNS 地址,并且可以使用 FQDN 成功 ping 网络上的内部服务器。
问题出在我的 openwrt 路由器上,除了服务器的 IP 地址之外,我无法 ping 通任何内容。我有一种奇怪的感觉,这是因为 dnsmasq 使问题变得混乱,但我尝试禁用它,但没有解决问题。
尽管我已在界面中指定了 DNS 服务器,但似乎在路由到 DNS 服务器时存在问题。
在我的 openwrt 路由器上,我的 LAN 设置包含以下信息
ipaddr - 10.77.1.100
netmask - 255.255.255.0
gateway - 10.77.1.10
custom dns - 10.77.1.50, 10.77.1.51
Run Code Online (Sandbox Code Playgroud)
在 dhcp 和 dns 下
local domain - internal.example.com
DNS forwardings - 10.77.1.50, 10.77.1.51
Run Code Online (Sandbox Code Playgroud)
从我的 openwrt 路由器(IP 为 10.77.1.100)我可以 ping 到 10.77.1.50,但无法 ping 到以下任何一个 -
masterdns
masterdns.internal
masterdns.internal.example
masterdns.internal.example.com
Run Code Online (Sandbox Code Playgroud)
全部返回相同的失败"ping: bad address …
我想用网络摄像头、OpenWRT 路由器和闪存驱动器(或者可能是硬盘驱动器)来构建低成本的 IP 摄像机。
这并不难,但我想像过去 24 小时一样存储,因此实现循环缓冲区。
想到的第一件事是记录例如 1 小时长的记录并删除 24 小时的记录。
我想知道是否有一些简单的方法可以使用真正的循环缓冲区来做到这一点。意思是一个文件正好包含过去 24 小时。
因为如果我使用 24x1hour 文件,内存没有完全使用,因为我需要有 25 小时的内存。
如果我使用1分钟的视频,内存被完全使用,但是浏览1分钟的视频会很不方便。
或者有什么方便有效的方法来做这样的事情?
我想在我可爱的 Netgear R7000 上运行 OpenWRT,但不幸的是,Broadcom 尚未在 R7000 上发布用于 BCM4360 wifi 的开源内核模块(驱动程序)。OpenWRT 从不在其发行版中包含二进制闭源驱动程序,我尊重这一立场。所以如果我使用 OpenWRT 就没有 WIFI。
是否可以将内核模块从 DDWRT(完美运行)复制到 OpenWRT?如何?
我尝试将 wl.ko 文件复制到 OpenWRT 并在其上运行 insmod,但没有奏效。
OpenWRT 与任何其他操作系统一样,存在安全问题。例如,OpenSSL 似乎每个月都有新的错误。
我使用我的路由器作为终止点openvpn(在路由器上终止的少数外部点之一,而不是转发到另一台机器)。这具有包依赖性(例如 on openssl)。
有可用的补丁吗?我可以跑
opkg update
opkg list-upgradable
Run Code Online (Sandbox Code Playgroud)
并获得零结果。我假设这是因为默认存储库是静态的并且不会更新。
所以,最后,问题:
是否有适用于 OpenWRT 的更新,而无需将整个机器刷新到最新/最好的(测试版?)版本?
目前我的路由器面临一个非常奇怪的问题。我有TP-Link TL-WDR4300 rev。1.7 运行 OpenWRT 18.06.1。
问题最初出现在1-2个月前,当时我有OpenWRT 15.05,而路由器上的最后一次配置更改(升级到18.06.1之前)大约是一年前。
因此,1-2 个月前,我注意到某些网站无法在所有浏览器中的所有设备(带 iOS 的 iPhone、Android 手机、Ubuntu 笔记本电脑、Windows 笔记本电脑)上加载。但是,如果设备与 WiFi 断开连接并使用例如蜂窝网络,则网站会立即加载。
我的 ISP 是 Deutsche Telekom,没有加载的网站的一个很好的例子是https://telekom.de,通常预计可以访问。
我已经升级到最新的稳定版 OpenWRT 并开始调查这个问题。日志中没有丢弃的数据包或路由器上与问题相关的任何其他错误消息。Curl 能够直接在路由器上获取受影响网站 (telekom.de) 的内容:
root@OpenWrt:~# curl --tlsv1.0 -v https://telekom.de
> GET / HTTP/1.1
> Host: telekom.de
> User-Agent: curl/7.60.0
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Date: Sat, 01 Sep 2018 20:56:23 GMT
< Server: Apache
< Location: https://www.telekom.de/start
< Content-Length: 236
< Content-Type: text/html; charset=iso-8859-1
<
<!DOCTYPE HTML …Run Code Online (Sandbox Code Playgroud) 我的应用程序在 OpenWRT 上运行时遇到了问题,我将文件写入 RAM 中的 /tmp。即使df报告使用了大约 0%:
root@OpenWrt:/tmp# df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 576 212 364 37% /
/dev/root 2560 2560 0 100% /rom
tmpfs 14680 48 14632 0% /tmp
tmpfs 512 0 512 0% /dev
/dev/mtdblock3 576 212 364 37% /overlay
overlayfs:/overlay 576 212 364 37% /
Run Code Online (Sandbox Code Playgroud)
写入 3,640 个 0 字节文件后,出现错误“设备上没有剩余空间”。
谁能解释为什么会这样?在现实世界中,我通常不会遇到这样的情况,因为我会删除这些文件,但无论如何我都需要处理这种情况。
我的 OpenWRT 10.03.1 路由器 (Linksys WRT160NL) 忽略了我的 crontab(通过 System->Scheduled tasks 设置)。我想每晚重新启动路由器,因为几天后它往往会变得脆弱。所以我在我的任务中输入了这个:
0 5 * * * reboot
Run Code Online (Sandbox Code Playgroud)
我也试过
0 5 * * * root /sbin/reboot
Run Code Online (Sandbox Code Playgroud)
但这也被忽略了。是否需要进行某种设置,以便cron实际运行?当我通过 登录路由器ssh并运行时ps,我看不到任何cron进程。
我有一个几乎开箱即用的 openwrt 设置,尽管我遵循了“保护您的路由器指南”,因此设置了密码,在不同的端口上 ssh(因此通过默默无闻来确保安全)。但是,我看到一些奇怪的 IP 地址连接到 WAN 接口:
root@OpenWrt:~# cat /proc/net/arp
IP address HW type Flags HW address Mask Device
192.168.1.67 0x1 0x0 00:00:00:00:00:00 * eth0.2
192.168.1.115 0x1 0x0 00:00:00:00:00:00 * eth0.2
192.168.1.4 0x1 0x0 00:00:00:00:00:00 * eth0.2
192.168.1.1 0x1 0x2 00:1f:90:XX:XX:XX * eth0.2
...
Run Code Online (Sandbox Code Playgroud)
我知道 192.168.1.1 是我连接 OpenWRT 路由器的 ISP 路由器,但我不确定其他路由器是什么。他们还有一个奇怪的MAC地址。有谁知道那可能是什么?我的机顶盒有一个 192.168.1 地址,但它目前不是这些地址之一。是不是它在不同的时间被分配了不同的 IP 地址并最终出现在我的 ARP 表中?
我正在使用 BARRIER BREAKER (14.07-rc3, r42056)