Progress with networking

This commit is contained in:
Nico Schottelius 2020-01-15 13:26:05 +01:00
parent 8a451ff4ff
commit 1b5a3f6d2e
3 changed files with 25 additions and 0 deletions

View File

@ -23,3 +23,14 @@ You need to have python3 installed.
python -m venv venv
. ./venv/bin/activate
./bin/uncloud-run-reinstall
Install os requirements
-----------------------
Install the following software packages: **dnsmasq**.
If you already have a working IPv6 SLAAC and DNS setup,
this step can be skipped.
Note that you need at least one /64 IPv6 network to run uncloud.

View File

@ -3,12 +3,18 @@ import argparse
from uncloud.hack.vm import VM
from uncloud.hack.config import Config
from uncloud.hack.mac import MAC
from uncloud import UncloudException
arg_parser = argparse.ArgumentParser('hack', add_help=False)
#description="Commands that are unfinished - use at own risk")
arg_parser.add_argument('--create-vm', action='store_true')
arg_parser.add_argument('--last-used-mac', action='store_true')
arg_parser.add_argument('--get-new-mac', action='store_true')
arg_parser.add_argument('--management-network', help="IPv6 management network")
arg_parser.add_argument('--run-dns-ra', action='store_true',
help="Provide router advertisements and DNS resolution via dnsmasq")
def main(arguments):
@ -26,3 +32,7 @@ def main(arguments):
if arguments['get_new_mac']:
print(MAC(config).get_next())
if arguments['run_dns_ra']:
if not arguments['management_network']:
raise UncloudException("Providing DNS/RAs requires a /64 IPv6 network. You can use fd00::/64 for testing (non production!)")

View File

@ -19,3 +19,7 @@ class VXLANBridge(object):
class DNSRA(object):
def __init__(self):
pass
class Firewall(object):
pass