以下を設定しようとしています。
networking.firewall.allowedTCPPortRanges = [ 80 81 5900];
ただし、次のエラーが発生します。
エラー:オプション値
networking.firewall.allowedTCPPortRanges.[definition 1-entry 1]' in
/etc/nixos/configuration.nix'は、「符号付き整数の属性セット」タイプではありません。
ここで定義されているようです。https://github.com/NixOS/nixos/blob/5f444a4d8d49a497bcfabe2544bda264c845653e/modules/services/networking/firewall.nix#L118ように:
networking.firewall.allowedTCPPorts = mkOption {
default = [];
example = [ 22 80 ];
type = types.listOf types.int;
description =
''
List of TCP ports on which incoming connections are
accepted.
'';
};
私が使用している構文にはどのような問題がありますか?
答え1
次のような名前の2つの属性がありますnetworking.firewall
。
- 許可されたTCPポート
- 許可されるTCPポート範囲
前者はリストなので、値が[80 81 5900]
受け入れられます。ただし、後者は次のように定義されたセットです。
allowedTCPPortRanges = mkOption {
type = types.listOf (types.attrsOf types.int);
default = [ ];
example = [ { from = 8999; to = 9003; } ];
description =
''
A range of TCP ports on which incoming connections are
accepted.
'';
};