Luci openWRT UCIファイアウォールルールは場所番号なしで更新されます。

Luci openWRT UCIファイアウォールルールは場所番号なしで更新されます。

こんにちは、私はUCIを介してファイアウォールルールを更新できるコードを見つけようとしました。

現在、新しいルールを追加する方法は次のとおりです。

uci add firewall rule
uci set firewall.@rule[21].name='B Macbook Air'
uci set firewall.@rule[21].src='lan'
uci set firewall.@rule[21].family='ipv4'
uci set firewall.@rule[21].src_ip='192.168.1.227'
uci set firewall.@rule[21].src_mac='00:00:00:00:00:00'
uci set firewall.@rule[21].dest='wan'
uci set firewall.@rule[21].proto='all'
uci set firewall.@rule[21].target='REJECT'
uci set firewall.@rule[21].enabled='1'
uci commit firewall

これで正しいルールが作成されます。ルーシー(ブランチ(git-22.347.45520-d30ab74)):

ここに画像の説明を入力してください。

有効または無効にするためにルールのいずれかを更新する方法は次のとおりです。

uci set firewall.@rule[21].name="B Macbook Air"
uci set firewall.@rule[21].enabled="1"
uci commit firewall

期待どおりに機能しますが、場所([21]など)を知らなくてもファイアウォールルール名のみを呼び出す方法があるかどうか疑問に思います。

このように:

uci set [email protected]="B Macbook Air"
uci set [email protected]="1"
uci commit firewall

しかし、もちろん、上記のアプローチは機能しません。与えられたエラーは

root@turris:~# uci 設定[Eメール保護]="B MacBook Air"

uci:無効なパラメータ

大丈夫ですか?

関連情報