summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
authorjjakob <jernej.jakob@gmail.com>2020-04-11 11:45:14 +0200
committerjjakob <jernej.jakob@gmail.com>2020-04-13 14:30:20 +0200
commitbb36bdec1506c7fbf57b786c907b0c7cd5efc117 (patch)
treeb4fd8dda4eeb91fccb0a9544b30f4832cb1a8690 /interface-definitions
parent1cf1cb506e6c868f0e1159c8056ea1bba815e5a8 (diff)
downloadvyos-1x-bb36bdec1506c7fbf57b786c907b0c7cd5efc117.tar.gz
vyos-1x-bb36bdec1506c7fbf57b786c907b0c7cd5efc117.zip
openvpn: T2235: add custom server pool handling
- add config options and logic for server client-ip-pool - add function for determining default IPs for the server in different configurations - verify for pool IPs and maximum subnet prefix length - move remote netmask logic for client ifconfig-push to use new function - add topology 'net30' , set it as default (as it already was) - replace generic ip_* with IPv4* where necessary - print warning to console when server client IP is in server pool - fix server subnet help field
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/interfaces-openvpn.xml.in54
1 files changed, 52 insertions, 2 deletions
diff --git a/interface-definitions/interfaces-openvpn.xml.in b/interface-definitions/interfaces-openvpn.xml.in
index 92bac3fab..d926876f7 100644
--- a/interface-definitions/interfaces-openvpn.xml.in
+++ b/interface-definitions/interfaces-openvpn.xml.in
@@ -444,6 +444,52 @@
</leafNode>
</children>
</tagNode>
+ <node name="client-ip-pool">
+ <properties>
+ <help>Pool of client IP addresses</help>
+ </properties>
+ <children>
+ <leafNode name="start">
+ <properties>
+ <help>First IP address in the pool</help>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>IPv4 address</description>
+ </valueHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="stop">
+ <properties>
+ <help>Last IP address in the pool</help>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>IPv4 address</description>
+ </valueHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="subnet-mask">
+ <properties>
+ <help>Subnet mask pushed to dynamic clients.
+ If not set the server subnet mask will be used.
+ Only used with topology subnet or device type tap.
+ Not used with bridged interfaces.</help>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>IPv4 subnet mask</description>
+ </valueHelp>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
<leafNode name="domain-name">
<properties>
<help>DNS suffix to be pushed to all clients</help>
@@ -501,7 +547,7 @@
<help>Server-mode subnet (from which client IPs are allocated)</help>
<valueHelp>
<format>ipv4net</format>
- <description>IPv4 address and prefix length</description>
+ <description>IPv4 network and prefix length</description>
</valueHelp>
<constraint>
<validator name="ipv4-prefix"/>
@@ -512,9 +558,13 @@
<properties>
<help>Topology for clients</help>
<completionHelp>
- <list>point-to-point subnet</list>
+ <list>net30 point-to-point subnet</list>
</completionHelp>
<valueHelp>
+ <format>net30</format>
+ <description>net30 topology</description>
+ </valueHelp>
+ <valueHelp>
<format>point-to-point</format>
<description>Point-to-point topology</description>
</valueHelp>