For NetOrk/netork#1344: whether a container's port is reachable from the internet is also decided by the host's own firewall.
get_host_firewall() reads nft -j list ruleset as root; the tables iptables-nft manages come from iptables-save, because nft shows -m conntrack/-m set only as an opaque xt. A legacy iptables is kept beside nft's tables.
One shape: chains with family, table, hook, priority, policy; rules as matches (iifname, saddr, dport, ct_state, …) and a verdict. A condition not modelled is an unknown match with its text.
No root, no reading: HostFirewallUnavailable.
Checked against edge-gw's real ruleset (only the ipset and addrtype matches stay unknown).
For NetOrk/netork#1344: whether a container's port is reachable from the internet is also decided by the host's own firewall.
- `get_host_firewall()` reads `nft -j list ruleset` as root; the tables iptables-nft manages come from `iptables-save`, because nft shows `-m conntrack`/`-m set` only as an opaque `xt`. A legacy iptables is kept beside nft's tables.
- One shape: chains with family, table, hook, priority, policy; rules as matches (`iifname`, `saddr`, `dport`, `ct_state`, …) and a verdict. A condition not modelled is an `unknown` match with its text.
- No root, no reading: `HostFirewallUnavailable`.
- Checked against edge-gw's real ruleset (only the ipset and `addrtype` matches stay `unknown`).
Version 4.21.0. Prio: P3 (as netOrk #1344).
get_host_firewall() reads `nft -j list ruleset` as root and returns every
chain with its family, table, hook, priority and policy, and every rule as
matches and a verdict. Rules iptables-nft wrote show their extensions in nft's
JSON only as an opaque `xt`, so the tables iptables manages are taken from
iptables-save instead; a legacy iptables is kept beside nft's tables, since
both apply. A condition the parse does not model is an `unknown` match with
its text, never left out. Without root neither tool can be read, and
HostFirewallUnavailable is raised rather than a host without rules.
A driver supplies only _run_host_firewall_command(command, privileged=).
Version 4.21.0.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
For NetOrk/netork#1344: whether a container's port is reachable from the internet is also decided by the host's own firewall.
get_host_firewall()readsnft -j list rulesetas root; the tables iptables-nft manages come fromiptables-save, because nft shows-m conntrack/-m setonly as an opaquext. A legacy iptables is kept beside nft's tables.iifname,saddr,dport,ct_state, …) and a verdict. A condition not modelled is anunknownmatch with its text.HostFirewallUnavailable.addrtypematches stayunknown).Version 4.21.0. Prio: P3 (as netOrk #1344).