As PoC for CGNAT here was a hard limit of using only one translation rule for one internal pool https://github.com/vyos/vyos-1x/blob/9a5897682a6d7fb59e2e90eb50b87dbbe8babaea/src/conf_mode/nat_cgnat.py#L192-L195
Drop this limit and extend the usage number of the rules
This config has two external and two internal pools and should work until the pools are unique per rule.
set nat cgnat pool external ext-01 external-port-range '40000-60000' set nat cgnat pool external ext-01 per-user-limit port '5000' set nat cgnat pool external ext-01 range 192.0.2.1-192.0.2.2 set nat cgnat pool external ext-01 range 192.0.2.11/32 set nat cgnat pool external vyos-ext-02 external-port-range '2000-22000' set nat cgnat pool external vyos-ext-02 per-user-limit port '2000' set nat cgnat pool external vyos-ext-02 range 203.0.113.55/32 set nat cgnat pool internal int-01 range '100.64.0.0/29' set nat cgnat pool internal vyos-int-02 range '100.64.222.10-100.64.222.12' set nat cgnat rule 100 source pool 'int-01' set nat cgnat rule 100 translation pool 'ext-01' set nat cgnat rule 120 source pool 'vyos-int-02' set nat cgnat rule 120 translation pool 'vyos-ext-02'