如何修复 OpenWRT opkg Failed to send request: Operation not permitted

问题:

在 OpenWRT 中运行 opkg update 或其他 opkg 命令时,你看到这些错误消息:

opkg_error.txt
Failed to send request: Operation not permitted

完整日志示例:

opkg_full_error_log.txt
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/packages/Packages.gz
Failed to send request: Operation not permitted
*** Failed to download the package list from http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/packages/Packages.gz

Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/kmods/4.14.209-1-b84a5a29b1d5ae1dc33ccf9ba292ca1d/Packages.gz
Failed to send request: Operation not permitted
*** Failed to download the package list from http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/kmods/4.14.209-1-b84a5a29b1d5ae1dc33ccf9ba292ca1d/Packages.gz

[...]

解决方案

此问题通常由未设置 DNS 服务器引起。

首先,使用以下命令检查你是否有互联网访问

ping_ip.sh
ping 1.1.1.1

输出应该看起来像这样(否则,你没有互联网访问):

ping_ip_output.txt
root@OpenWrt:~# ping 1.1.1.1
PING 1.1.1.1 (1.1.1.1): 56 data bytes
64 bytes from 1.1.1.1: seq=0 ttl=59 time=36.078 ms
64 bytes from 1.1.1.1: seq=1 ttl=59 time=33.538 ms
64 bytes from 1.1.1.1: seq=2 ttl=59 time=33.350 ms

现在尝试 ping techoverflow.net

ping_bad_address.txt
root@OpenWrt:~# ping techoverflow.net
ping: bad address 'techoverflow.net'

这验证你有互联网连接但没有 DNS。

现在进入 LuCI,转到网络/接口并编辑每个接口。将使用自定义 DNS 服务器设置为:

dns_server_1.txt
1.1.1.1

dns_server_2.txt
1.0.0.1

对于某些接口这可能不可行,因为它们有不同的 IP 地址配置(在这种情况下,只需继续处理其他接口)。接口的配置现在应该看起来像这样:

显示自定义 DNS 服务器配置的 OpenWRT LuCI 接口

不要忘记保存并应用

之后,重试 opkg update,现在应该看起来像这样:

opkg_update_success.txt
root@OpenWrt:~# opkg update
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_core
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/packages/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/kmods/4.14.209-1-b84a5a29b1d5ae1dc33ccf9ba292ca1d/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_kmods
Downloading http://downloads.openwrt.org/releases/19.07.5/targets/ath79/generic/kmods/4.14.209-1-b84a5a29b1d5ae1dc33ccf9ba292ca1d/Packages.sig
Signature check passed.
[...]

Check out similar posts by category: Networking