Skip to main content

A RESTful API for automated IPAM of a personal lab in vLab

Project description

This service replaces the existing static gateway used in vLab.

The goal of this service is to make it easier for users to access their lab by removing the need for the jumpbox. This is achieved by exposing a RESTful API on the gateway that can dynamically port-forward through the NAT firewall that runs on the gateway. Additionally, vLab clients can leverage this API to programmically connect users to a given resource. For example the vLab CLI client can potentially:

  1. Expose an interface like vlab connect windows --name <name of instance> --protocol=RDP

  2. Call the main vLab server to get the IP of the gateway

  3. Call the API on the gateway to get the port that maps to the specific component and protocol

  4. Evoke an application on the user’s machine that understands the specific protocol, and pre-populate the connection information.

Clients can also programmically create the port forwarding rules upon component creation. This would remove the need for users to manually port forwarding rules, but clients should not prevent users from inputting their own port forwarding rules.

Background Services

The IPAM service has two background processes:

vlab-worker

Periodically pings IPs stored in the IPAM database. This allows the service to identify “bad records” and relay that information to the user.

vlab-log-sender

Forwards firewall logs to a remote server. The default iptables config will log every time a package is FORWARDed. By forwarding the logs for remote processing, admins of vLab can answer business questions like, “Do they use that resource?”

vlab-ddns-updater

Runs on a regular cycle to send Dynamic DNS updates to the vLab DNS service.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

vlab_ipam_api-2019.7.3-py3-none-any.whl (40.2 kB view details)

Uploaded Python 3

File details

Details for the file vlab_ipam_api-2019.7.3-py3-none-any.whl.

File metadata

  • Download URL: vlab_ipam_api-2019.7.3-py3-none-any.whl
  • Upload date:
  • Size: 40.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.27.0 CPython/3.6.6

File hashes

Hashes for vlab_ipam_api-2019.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 41c262f0cb633de0e6fb2b8a5ce091ffbee87c52ff1a8f3f40c1da3444783966
MD5 0b78508192ee899aeb1b768131fe3ee0
BLAKE2b-256 bf4fcf2a8af183596f36f13c067ca69c74ee320a73d083fa8f24a36f29dc234c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page