Skip to content

cluster / firewall ​

31 operations.

GET /cluster/firewall ​

ts
proxmox.cluster.firewall.$get()

Directory index.

Returns an array of object.

GET /cluster/firewall/aliases ​

ts
proxmox.cluster.firewall.aliases.$get()

List aliases

Returns an array of object.

POST /cluster/firewall/aliases ​

ts
proxmox.cluster.firewall.aliases.$post()

Create IP or Network Alias.

Returns nothing.

ParameterTypeRequiredNotes
cidrstringyesNetwork/IP specification in CIDR format. — format IPorCIDR
commentstringformat pve-fw-comment-spec
namestringyesAlias name. — ≤ 64 chars

GET /cluster/firewall/aliases/{name} ​

ts
proxmox.cluster.firewall.aliases.$(name).$get()

Read alias.

Returns object.

ParameterTypeRequiredNotes
namestringyesAlias name. — ≤ 64 chars

PUT /cluster/firewall/aliases/{name} ​

ts
proxmox.cluster.firewall.aliases.$(name).$put()

Update IP or Network alias.

Returns nothing.

ParameterTypeRequiredNotes
cidrstringyesNetwork/IP specification in CIDR format. — format IPorCIDR
commentstringformat pve-fw-comment-spec
digeststringPrevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications. — ≤ 64 chars
namestringyesAlias name. — ≤ 64 chars
renamestringRename an existing alias. — ≤ 64 chars

DELETE /cluster/firewall/aliases/{name} ​

ts
proxmox.cluster.firewall.aliases.$(name).$delete()

Remove IP or Network alias.

Returns nothing.

ParameterTypeRequiredNotes
digeststringPrevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications. — ≤ 64 chars
namestringyesAlias name. — ≤ 64 chars

GET /cluster/firewall/groups ​

ts
proxmox.cluster.firewall.groups.$get()

List security groups.

Returns an array of object.

POST /cluster/firewall/groups ​

ts
proxmox.cluster.firewall.groups.$post()

Create new security group.

Returns nothing.

ParameterTypeRequiredNotes
commentstringformat pve-fw-comment-spec
digeststringPrevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications. — ≤ 64 chars
groupstringyesSecurity Group name. — ≤ 18 chars
renamestringRename/update an existing security group. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing group. — ≤ 18 chars

GET /cluster/firewall/groups/{group} ​

ts
proxmox.cluster.firewall.groups.$(group).$get()

List rules.

Returns an array of object.

ParameterTypeRequiredNotes
groupstringyesSecurity Group name. — ≤ 18 chars

POST /cluster/firewall/groups/{group} ​

ts
proxmox.cluster.firewall.groups.$(group).$post()

Create new rule.

Returns nothing.

ParameterTypeRequiredNotes
actionstringyesRule action ('ACCEPT', 'DROP', 'REJECT') or security group name. — ≤ 20 chars
commentstringDescriptive comment. — format pve-fw-comment-spec
deststringRestrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists. — format pve-fw-addr-spec, ≤ 512 chars
digeststringPrevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications. — ≤ 64 chars
dportstringRestrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\d+:\d+', for example '80:85', and you can use comma separated list to match several ports or ranges. — format pve-fw-dport-spec
enablenumberFlag to enable/disable a rule. — min 0
groupstringyesSecurity Group name. — ≤ 18 chars
icmp-typestringSpecify icmp-type. Only valid if proto equals 'icmp' or 'icmpv6'/'ipv6-icmp'. — format pve-fw-icmp-type-spec
ifacestringNetwork interface name. You have to use network configuration key names for VMs and containers ('net\d+'). Host related rules can use arbitrary strings. — format pve-iface, ≤ 20 chars
logemerg | alert | crit | err | warning | notice | info | debug | … (1 more)Log level for firewall rule.
macrostringUse predefined standard macro. — ≤ 128 chars
posnumberUpdate rule at position <pos>. — min 0
protostringIP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'. — format pve-fw-protocol-spec
sourcestringRestrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists. — format pve-fw-addr-spec, ≤ 512 chars
sportstringRestrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\d+:\d+', for example '80:85', and you can use comma separated list to match several ports or ranges. — format pve-fw-sport-spec
typein | out | forward | groupyesRule type.

DELETE /cluster/firewall/groups/{group} ​

ts
proxmox.cluster.firewall.groups.$(group).$delete()

Delete security group.

Returns nothing.

ParameterTypeRequiredNotes
groupstringyesSecurity Group name. — ≤ 18 chars

GET /cluster/firewall/groups/{group}/{pos} ​

ts
proxmox.cluster.firewall.groups.$(group).$(pos).$get()

Get single rule data.

Returns object.

ParameterTypeRequiredNotes
groupstringyesSecurity Group name. — ≤ 18 chars
posnumberUpdate rule at position <pos>. — min 0

PUT /cluster/firewall/groups/{group}/{pos} ​

ts
proxmox.cluster.firewall.groups.$(group).$(pos).$put()

Modify rule data.

Returns nothing.

ParameterTypeRequiredNotes
actionstringRule action ('ACCEPT', 'DROP', 'REJECT') or security group name. — ≤ 20 chars
commentstringDescriptive comment. — format pve-fw-comment-spec
deletestringA list of settings you want to delete. — format pve-configid-list
deststringRestrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists. — format pve-fw-addr-spec, ≤ 512 chars
digeststringPrevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications. — ≤ 64 chars
dportstringRestrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\d+:\d+', for example '80:85', and you can use comma separated list to match several ports or ranges. — format pve-fw-dport-spec
enablenumberFlag to enable/disable a rule. — min 0
groupstringyesSecurity Group name. — ≤ 18 chars
icmp-typestringSpecify icmp-type. Only valid if proto equals 'icmp' or 'icmpv6'/'ipv6-icmp'. — format pve-fw-icmp-type-spec
ifacestringNetwork interface name. You have to use network configuration key names for VMs and containers ('net\d+'). Host related rules can use arbitrary strings. — format pve-iface, ≤ 20 chars
logemerg | alert | crit | err | warning | notice | info | debug | … (1 more)Log level for firewall rule.
macrostringUse predefined standard macro. — ≤ 128 chars
movetonumberMove rule to new position <moveto>. Other arguments are ignored. — min 0
posnumberUpdate rule at position <pos>. — min 0
protostringIP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'. — format pve-fw-protocol-spec
sourcestringRestrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists. — format pve-fw-addr-spec, ≤ 512 chars
sportstringRestrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\d+:\d+', for example '80:85', and you can use comma separated list to match several ports or ranges. — format pve-fw-sport-spec
typein | out | forward | groupRule type.

DELETE /cluster/firewall/groups/{group}/{pos} ​

ts
proxmox.cluster.firewall.groups.$(group).$(pos).$delete()

Delete rule.

Returns nothing.

ParameterTypeRequiredNotes
digeststringPrevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications. — ≤ 64 chars
groupstringyesSecurity Group name. — ≤ 18 chars
posnumberUpdate rule at position <pos>. — min 0

GET /cluster/firewall/ipset ​

ts
proxmox.cluster.firewall.ipset.$get()

List IPSets

Returns an array of object.

POST /cluster/firewall/ipset ​

ts
proxmox.cluster.firewall.ipset.$post()

Create new IPSet

Returns nothing.

ParameterTypeRequiredNotes
commentstringformat pve-fw-comment-spec
digeststringPrevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications. — ≤ 64 chars
namestringyesIP set name. — ≤ 64 chars
renamestringRename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet. — ≤ 64 chars

GET /cluster/firewall/ipset/{name} ​

ts
proxmox.cluster.firewall.ipset.$(name).$get()

List IPSet content

Returns an array of object.

ParameterTypeRequiredNotes
namestringyesIP set name. — ≤ 64 chars

POST /cluster/firewall/ipset/{name} ​

ts
proxmox.cluster.firewall.ipset.$(name).$post()

Add IP or Network to IPSet.

Returns nothing.

ParameterTypeRequiredNotes
cidrstringyesNetwork/IP specification in CIDR format. — format IPorCIDRorAlias
commentstringformat pve-fw-comment-spec
namestringyesIP set name. — ≤ 64 chars
nomatchboolean

DELETE /cluster/firewall/ipset/{name} ​

ts
proxmox.cluster.firewall.ipset.$(name).$delete()

Delete IPSet

Returns nothing.

ParameterTypeRequiredNotes
forcebooleanDelete all members of the IPSet, if there are any.
namestringyesIP set name. — ≤ 64 chars

GET /cluster/firewall/ipset/{name}/{cidr} ​

ts
proxmox.cluster.firewall.ipset.$(name).$(cidr).$get()

Read IP or Network settings from IPSet.

Returns object.

ParameterTypeRequiredNotes
cidrstringyesNetwork/IP specification in CIDR format. — format IPorCIDRorAlias
namestringyesIP set name. — ≤ 64 chars

PUT /cluster/firewall/ipset/{name}/{cidr} ​

ts
proxmox.cluster.firewall.ipset.$(name).$(cidr).$put()

Update IP or Network settings

Returns nothing.

ParameterTypeRequiredNotes
cidrstringyesNetwork/IP specification in CIDR format. — format IPorCIDRorAlias
commentstringformat pve-fw-comment-spec
digeststringPrevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications. — ≤ 64 chars
namestringyesIP set name. — ≤ 64 chars
nomatchboolean

DELETE /cluster/firewall/ipset/{name}/{cidr} ​

ts
proxmox.cluster.firewall.ipset.$(name).$(cidr).$delete()

Remove IP or Network from IPSet.

Returns nothing.

ParameterTypeRequiredNotes
cidrstringyesNetwork/IP specification in CIDR format. — format IPorCIDRorAlias
digeststringPrevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications. — ≤ 64 chars
namestringyesIP set name. — ≤ 64 chars

GET /cluster/firewall/macros ​

ts
proxmox.cluster.firewall.macros.$get()

List available macros

Returns an array of object.

GET /cluster/firewall/options ​

ts
proxmox.cluster.firewall.options.$get()

Get Firewall options.

Returns object.

PUT /cluster/firewall/options ​

ts
proxmox.cluster.firewall.options.$put()

Set Firewall options.

Returns nothing.

ParameterTypeRequiredNotes
deletestringA list of settings you want to delete. — format pve-configid-list
digeststringPrevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications. — ≤ 64 chars
ebtablesbooleanEnable ebtables rules cluster wide. — default 1
enablenumberEnable or disable the firewall cluster wide. — min 0, default 0
log_ratelimitstringLog ratelimiting settings
policy_forwardACCEPT | DROPForward policy.
policy_inACCEPT | REJECT | DROPInput policy.
policy_outACCEPT | REJECT | DROPOutput policy.

GET /cluster/firewall/refs ​

ts
proxmox.cluster.firewall.refs.$get()

Lists possible IPSet/Alias reference which are allowed in source/dest properties.

Returns an array of object.

ParameterTypeRequiredNotes
typealias | ipsetOnly list references of specified type.

GET /cluster/firewall/rules ​

ts
proxmox.cluster.firewall.rules.$get()

List rules.

Returns an array of object.

POST /cluster/firewall/rules ​

ts
proxmox.cluster.firewall.rules.$post()

Create new rule.

Returns nothing.

ParameterTypeRequiredNotes
actionstringyesRule action ('ACCEPT', 'DROP', 'REJECT') or security group name. — ≤ 20 chars
commentstringDescriptive comment. — format pve-fw-comment-spec
deststringRestrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists. — format pve-fw-addr-spec, ≤ 512 chars
digeststringPrevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications. — ≤ 64 chars
dportstringRestrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\d+:\d+', for example '80:85', and you can use comma separated list to match several ports or ranges. — format pve-fw-dport-spec
enablenumberFlag to enable/disable a rule. — min 0
icmp-typestringSpecify icmp-type. Only valid if proto equals 'icmp' or 'icmpv6'/'ipv6-icmp'. — format pve-fw-icmp-type-spec
ifacestringNetwork interface name. You have to use network configuration key names for VMs and containers ('net\d+'). Host related rules can use arbitrary strings. — format pve-iface, ≤ 20 chars
logemerg | alert | crit | err | warning | notice | info | debug | … (1 more)Log level for firewall rule.
macrostringUse predefined standard macro. — ≤ 128 chars
posnumberUpdate rule at position <pos>. — min 0
protostringIP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'. — format pve-fw-protocol-spec
sourcestringRestrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists. — format pve-fw-addr-spec, ≤ 512 chars
sportstringRestrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\d+:\d+', for example '80:85', and you can use comma separated list to match several ports or ranges. — format pve-fw-sport-spec
typein | out | forward | groupyesRule type.

GET /cluster/firewall/rules/{pos} ​

ts
proxmox.cluster.firewall.rules.$(pos).$get()

Get single rule data.

Returns object.

ParameterTypeRequiredNotes
posnumberUpdate rule at position <pos>. — min 0

PUT /cluster/firewall/rules/{pos} ​

ts
proxmox.cluster.firewall.rules.$(pos).$put()

Modify rule data.

Returns nothing.

ParameterTypeRequiredNotes
actionstringRule action ('ACCEPT', 'DROP', 'REJECT') or security group name. — ≤ 20 chars
commentstringDescriptive comment. — format pve-fw-comment-spec
deletestringA list of settings you want to delete. — format pve-configid-list
deststringRestrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists. — format pve-fw-addr-spec, ≤ 512 chars
digeststringPrevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications. — ≤ 64 chars
dportstringRestrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\d+:\d+', for example '80:85', and you can use comma separated list to match several ports or ranges. — format pve-fw-dport-spec
enablenumberFlag to enable/disable a rule. — min 0
icmp-typestringSpecify icmp-type. Only valid if proto equals 'icmp' or 'icmpv6'/'ipv6-icmp'. — format pve-fw-icmp-type-spec
ifacestringNetwork interface name. You have to use network configuration key names for VMs and containers ('net\d+'). Host related rules can use arbitrary strings. — format pve-iface, ≤ 20 chars
logemerg | alert | crit | err | warning | notice | info | debug | … (1 more)Log level for firewall rule.
macrostringUse predefined standard macro. — ≤ 128 chars
movetonumberMove rule to new position <moveto>. Other arguments are ignored. — min 0
posnumberUpdate rule at position <pos>. — min 0
protostringIP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'. — format pve-fw-protocol-spec
sourcestringRestrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists. — format pve-fw-addr-spec, ≤ 512 chars
sportstringRestrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\d+:\d+', for example '80:85', and you can use comma separated list to match several ports or ranges. — format pve-fw-sport-spec
typein | out | forward | groupRule type.

DELETE /cluster/firewall/rules/{pos} ​

ts
proxmox.cluster.firewall.rules.$(pos).$delete()

Delete rule.

Returns nothing.

ParameterTypeRequiredNotes
digeststringPrevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications. — ≤ 64 chars
posnumberUpdate rule at position <pos>. — min 0