all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Alexandre Derumier <aderumier@odiso.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH v2 pve-docs 2/2] sdn : add subnet/ipam documentation
Date: Fri, 28 Aug 2020 14:40:17 +0200	[thread overview]
Message-ID: <20200828124017.11746-3-aderumier@odiso.com> (raw)
In-Reply-To: <20200828124017.11746-1-aderumier@odiso.com>

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
---
 pvesdn.adoc | 129 ++++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 120 insertions(+), 9 deletions(-)

diff --git a/pvesdn.adoc b/pvesdn.adoc
index ed8652d..4b17bff 100644
--- a/pvesdn.adoc
+++ b/pvesdn.adoc
@@ -64,6 +64,11 @@ On the web-interface  SDN feature have 4 main sections for the configuration
 
 * Controller: For complex setups to control Layer 3 routing
 
+* Subnets: Used to defined ip networks on Vnets.
+
+* Ipams: Allow to use external tools for ip managements (vm/ct ips)
+
+* Dns: Allow to define a dns server api for register vm/ct  hostname/ip addresses
 
 [[pvesdn_config_main_sdn]]
 SDN
@@ -117,13 +122,6 @@ VNet properties are:
 * VLAN Aware: Allow to add an extra VLAN tag in the virtual machine or
   container vNIC configurations or allow the guest OS to manage the VLAN's tag.
 
-* IPv4: an anycast IPv4 address, it will be configured on the underlying bridge
-  on each node part of the Zone. It's only useful for `bgp-evpn` routing.
-
-* IPv6: an anycast IPv6 address, it will be configured on the underlying bridge
-  on each node part of the Zone. It's only useful for `bgp-evpn` routing.
-
-
 [[pvesdn_config_controllers]]
 Controllers
 ~~~~~~~~~~~
@@ -149,8 +147,7 @@ Simple Zones
 This is the simplest plugin, it will create an isolated vnet bridge.
 This bridge is not linked to physical interfaces, VM traffic is only
 local to the node(s).
-It can be used for NAT or routed setup.
-
+It can be also used for NAT or routed setup.
 
 [[pvesdn_zone_plugin_vlan]]
 VLAN Zones
@@ -269,6 +266,120 @@ gateway, but, for example, sent traffic to external BGP routers, which handle
 (reverse) routing then dynamically you can use. For example
 `192.168.0.253,192.168.0.254'
 
+[[pvesdn_config_subnet]]
+Subnets
+~~~~~~~
+
+A Subnet allow to define an ip network (ipv4 or ipv6).
+
+It can be used to restrict ip addresses you can define on a specific vnet,
+assign routes/gateway on vnet in layer3 zones,
+enable snat on vnet in layer 3 zones,
+auto assign ips on vm/ct through ipam plugin && dns registration through dns plugins.
+
+
+Subnet properties are:
+
+* ID: a cidr network address. Ex: 10.0.0.0/8
+
+* Vnet: an associated vnet
+
+* Gateway: ip address for the default gateway of the network. 
+           On layer3 zones (simple/evpn plugins), it'll be deployed on the vnet.
+           
+* Snat: Optional, Enable Snat for layer3 zones (simple/evpn plugins) for this subnet.
+        The subnet source ip will be natted to server outgoing interface/ip.
+        On evpn zone, it's done only on evpn gateway-nodes.
+
+* Ipam: Optional, if you want to use an ipam tool for this subnet.
+        The subnet will be auto created in the ipam tool.
+
+* Dns: Optional, dns api server for forward zone.
+
+* Dnszone: Optional, dns domain name. Use to register hostname like  <hostname>.<domain>
+           The dns zone need to be already existing in dns server.
+
+* Dnszoneprefix: Optional, add a prefix to domain, like <hostname>.prefix.<domain>
+
+* ReverseDns: Optional, reverse dns api server for reverse zone.
+
+* ReverseDnsZone: Optional, reverse dns domaine name. ex: 0.168.192.in-addr.arpa
+                  The dns reverse zone need to be already existing in dns server.
+
+
+[[pvesdn_config_ipam]]
+Ipams
+~~~~~
+IPAM (IP address management) tools, are used to manage/assign ips on your devices on the network.
+It can be used to find free ip address when you create a vm/ct for example (not yet implemented).
+
+
+[[pvesdn_ipam_plugins]]
+Ipam Plugins
+------------
+
+[[pvesdn_ipam_plugin_pveipam]]
+PVEIpam plugin
+~~~~~~~~~~~~~~
+
+This is an internal ipam for your proxmox cluster if you don't have external ipam software
+
+
+PVEIpam properties are:
+
+* nothing, simply define and ID.
+
+[[pvesdn_ipam_plugin_phpipam]]
+PHPIpam plugin
+~~~~~~~~~~~~~~
+https://phpipam.net/
+
+You need to create an application in phpipam, and add an api token with admin permission
+
+PHPipam properties are:
+
+* Url: The rest api url : http://phpipam.domain.com/api/<appname>/
+* Token: your api token
+* Section: An integer id. Sections are group of subnets in phpipam. 
+           Default install have sectionid=1 for customers
+
+[[pvesdn_ipam_plugin_netbox]]
+Netbox Ipam plugin
+~~~~~~~~~~~~~~~~~~
+https://github.com/netbox-community/netbox
+
+you need to create an api token in netbox
+https://netbox.readthedocs.io/en/stable/api/authentication
+
+PHPipam properties are:
+
+* Url: The rest api url: http://yournetbox.domain.com/api
+* Token: your api token
+
+[[pvesdn_config_dns]]
+Dns
+~~~
+Dns is used to define a dns api server for registration of your hostname/ip address
+
+[[pvesdn_dns_plugin_powerdns]]
+Powerdns plugin
+~~~~~~~~~~~~~~~
+https://doc.powerdns.com/authoritative/http-api/index.html
+
+you need to enable webserver && api in your powerdns config:
+
+----
+api=yes
+api-key=arandomgeneratedstring
+webserver=yes
+webserver-port=8081
+----
+
+Powerdns properties are:
+
+* Url: The rest api url: http://yourpowerdnserver.domain.com:8081/api/v1/servers/localhost
+* key: the api key
+* ttl: default ttl for records
 
 [[pvesdn_local_deployment_monitoring]]
 Local Deployment Monitoring
-- 
2.20.1




      parent reply	other threads:[~2020-08-28 12:40 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-28 12:40 [pve-devel] [PATCH v2 pve-docs 0/2] simple zone + " Alexandre Derumier
2020-08-28 12:40 ` [pve-devel] [PATCH v2 pve-docs 1/2] sdn: add simple zone plugin documentation Alexandre Derumier
2020-08-28 12:40 ` Alexandre Derumier [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200828124017.11746-3-aderumier@odiso.com \
    --to=aderumier@odiso.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal