こんにちは、私は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:無効なパラメータ
大丈夫ですか?