forked from uncloud/uncloud
[vpn] make a vpn creat-able!
[15:40] line:~% http -a nicoschottelius:$(pass ungleich.ch/nico.schottelius@ungleich.ch) http://localhost:8000/net/vpn/ network_size=48 wireguard_public_key=$(wg genkey | wg pubkey) HTTP/1.1 201 Created Allow: GET, POST, HEAD, OPTIONS Content-Length: 206 Content-Type: application/json Date: Sun, 12 Apr 2020 13:40:26 GMT Server: WSGIServer/0.2 CPython/3.7.3 Vary: Accept X-Content-Type-Options: nosniff X-Frame-Options: DENY { "extra_data": null, "network": "2a0a:e5c1:203::", "order": null, "owner": 30, "status": "PENDING", "uuid": "8f977a8f-e06a-4346-94ae-8f525df58b7b", "wireguard_public_key": "JvCuUTZHm9unasJkGsLKN0Bf/hu6ZSIv7dnIGPyJ6xA=" }
This commit is contained in:
parent
b55254b9b1
commit
85b4d70592
4 changed files with 100 additions and 50 deletions
|
|
@ -12,11 +12,6 @@ import logging
|
|||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
wireguard_template="""
|
||||
[Interface]
|
||||
ListenPort = 51820
|
||||
PrivateKey = {privatekey}
|
||||
"""
|
||||
|
||||
peer_template="""
|
||||
# {username}
|
||||
|
|
@ -44,21 +39,6 @@ class Command(BaseCommand):
|
|||
configs = []
|
||||
|
||||
for pool in VPNPool.objects.filter(vpn_hostname=hostname):
|
||||
pool_config = {
|
||||
'private_key': pool.wireguard_private_key,
|
||||
'subnetwork_size': pool.subnetwork_size,
|
||||
'config_file': '/etc/wireguard/{}.conf'.format(pool.network),
|
||||
'peers': []
|
||||
}
|
||||
|
||||
for vpnnetwork in VPNNetworkReservation.objects.filter(vpnpool=pool):
|
||||
pool_config['peers'].append({
|
||||
'vpnnetwork': "{}/{}".format(vpnnetwork.address,
|
||||
pool_config['subnetwork_size']),
|
||||
'public_key': vpnnetwork.wireguard_public_key,
|
||||
}
|
||||
)
|
||||
|
||||
configs.append(pool_config)
|
||||
|
||||
print(configs)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue