summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
authorIgor Melnyk <igor_melnyk@ukr.net>2021-06-26 10:48:54 +0300
committerGitHub <noreply@github.com>2021-06-26 09:48:54 +0200
commit166d44b32813c9dd64c3857beaf5eac8382b2d6d (patch)
tree3e4b7bd63ada6ff76c40d12e576d8b163e1017d0 /interface-definitions
parent3ffe114e8e8916d142b82657bd982122e57d17ed (diff)
downloadvyos-1x-166d44b32813c9dd64c3857beaf5eac8382b2d6d.tar.gz
vyos-1x-166d44b32813c9dd64c3857beaf5eac8382b2d6d.zip
nat: T1083: add translation options for persistent/random mapping of address and port
Tested using: set destination rule 100 inbound-interface 'eth0' set destination rule 100 translation address '19.13.23.42' set destination rule 100 translation options address-mapping 'random' set destination rule 100 translation options port-mapping 'none' set source rule 1000 outbound-interface 'eth0' set source rule 1000 translation address '122.233.231.12' set source rule 1000 translation options address-mapping 'persistent' set source rule 1000 translation options port-mapping 'fully-random'
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/include/nat-translation-options.xml.i51
-rw-r--r--interface-definitions/nat.xml.in2
2 files changed, 53 insertions, 0 deletions
diff --git a/interface-definitions/include/nat-translation-options.xml.i b/interface-definitions/include/nat-translation-options.xml.i
new file mode 100644
index 000000000..defc8c0d5
--- /dev/null
+++ b/interface-definitions/include/nat-translation-options.xml.i
@@ -0,0 +1,51 @@
+<!-- include start from nat-translation-options.xml.i -->
+<node name="options">
+ <properties>
+ <help>Translation options</help>
+ </properties>
+ <children>
+ <leafNode name="address-mapping">
+ <properties>
+ <help>Address mapping options</help>
+ <completionHelp>
+ <list>persistent random</list>
+ </completionHelp>
+ <valueHelp>
+ <format>persistent</format>
+ <description>Gives a client the same source or destination-address for each connection</description>
+ </valueHelp>
+ <valueHelp>
+ <format>random</format>
+ <description>Random source or destination address allocation for each connection (defaut)</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(persistent|random)$</regex>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="port-mapping">
+ <properties>
+ <help>Port mapping options</help>
+ <completionHelp>
+ <list>random fully-random none</list>
+ </completionHelp>
+ <valueHelp>
+ <format>random</format>
+ <description>Randomize source port mapping</description>
+ </valueHelp>
+ <valueHelp>
+ <format>fully-random</format>
+ <description>Full port randomization</description>
+ </valueHelp>
+ <valueHelp>
+ <format>none</format>
+ <description>Do not apply port randomization (default)</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(random|fully-random|none)$</regex>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- include end -->
diff --git a/interface-definitions/nat.xml.in b/interface-definitions/nat.xml.in
index 9862f49b2..3cf3ba6aa 100644
--- a/interface-definitions/nat.xml.in
+++ b/interface-definitions/nat.xml.in
@@ -50,6 +50,7 @@
</properties>
</leafNode>
#include <include/nat-translation-port.xml.i>
+ #include <include/nat-translation-options.xml.i>
</children>
</node>
</children>
@@ -101,6 +102,7 @@
</properties>
</leafNode>
#include <include/nat-translation-port.xml.i>
+ #include <include/nat-translation-options.xml.i>
</children>
</node>
</children>