-Urejate pravilo #{{ index }}. V pravilih lahko uporabljate imena območij IP, prikazana spodaj. Seznam pravil.
-
+Urejate pravilo #{{ index }} (seznam pravil). Pravila so vključena v nftables filter chain na požarnem zidu. Povzetek filtrov najdemo v dokumentaciji.
+
+
+
+Promet z naslova src iz zunanjega omrežja na naslov dst na notranjem dovolimo z
+
+
iif @outside oif @inside ip saddr src ip daddr dst accept
+
+
+Za naslova src in dst lahko uporabimo definirana omrežja, prikazana v spodnji tabeli. Za omrežje net
uporabimo oznaki @net
in @net/6
za naslove IPv4 in IPv6. Da npr. preprečimo povezave iz omrežja classroom
izven omrežja FRI, uporabimo pravili
+
+
iif @inside ip saddr @classroom ip daddr != @fri drop
+iif @inside ip6 saddr @classroom/6 ip6 daddr != @fri/6 drop
+
+
-Območje | IP | IPv6
+ | Omrežje
+ | IP
+ | IPv6
+ | VPN
|
-{% for network, addresses in ipsets.items() %}
+{% for name, data in ipsets.items() %}
-{{ network }}
- | {{ addresses.ip|join(' ')|safe }}
- | {{ addresses.ip6|join(' ')|safe }}
+ | {{ name }}
+ | {{ data.ip|join(' ')|safe }}
+ | {{ data.ip6|join(' ')|safe }}
+ | {{ data.vpn }}
{% endfor %}
|
diff --git a/web/templates/rules/index.html b/web/templates/rules/index.html
index a0a638b..fe62c35 100644
--- a/web/templates/rules/index.html
+++ b/web/templates/rules/index.html
@@ -2,10 +2,12 @@
{% block content %}
-Urejate prioritete pravil za požarni zid. Pravilo odstranite tako, da izbrišete pripadajočo številko. V zadnji vrstici lahko dodate novo pravilo.
+Urejate posredovalna pravila. Pravila razvrstimo s stolpcem N. Če vrednost pobrišemo, pravilo odstranimo.
diff --git a/web/templates/rules/manage.html b/web/templates/rules/manage.html
index 4ceaaf0..bc770fb 100644
--- a/web/templates/rules/manage.html
+++ b/web/templates/rules/manage.html
@@ -1,20 +1,33 @@
{% extends 'base.html' %}
+{% block header %}
+
+{% endblock %}
+
{% block content %}
Tu lahko vklopite in izklopite posamezna pravila za požarni zid.
+
{% endblock %}
diff --git a/web/templates/vpn/index.html b/web/templates/vpn/index.html
index a65bdad..473704d 100644
--- a/web/templates/vpn/index.html
+++ b/web/templates/vpn/index.html
@@ -2,24 +2,33 @@
{% block content %}
-Za oddeljano povezavo v omrežje FRI namestite WireGuard, ustvarite ključ in sledite napotkom za posamezni sistem.
+Za VPN oziroma oddeljano povezavo v omrežje FRI uporabljamo WireGuard. Več informacij o uporabi in nastavitvah VPN najdete v dokumentaciji.
+
+
+Za priklop v omrežje spodaj ustvarite nov ključ in prenesite izpisano datoteko. Nato sledite napotkom za posamezni sistem.
Windows / Mac
-Zaženite WireGuard, kliknite Import tunnel(s) from file in izberite preneseno datoteko z nastavitvami. VPN nato (de)aktivirate s klikom na gumb (De)activate.
+Namestite in zaženite WireGuard za Windows ali Mac. Kliknite Import tunnel(s) from file in izberite preneseno datoteko z nastavitvami wg-fri.conf
. VPN nato aktivirate oziroma deaktivirate s klikom na gumb (De)activate.
Android / iOS
-Zaženite WireGuard, izberite Scan from QR code in skenirajte kodo, prikazano ob izdelavi novega ključa.
+Namestite WireGuard za Android ali iOS. Zaženite WireGuard, dodajte novo povezavo z Import from file in izberite preneseno datoteko z nastavitvami.
+
+
+Ključ lahko ustvarite tudi na računalniku in ga v telefon dodate s Scan from QR code s kodo, prikazano ob novem ključu.
Linux / BSD
-Nastavitve shranite (kot skrbnik) v /etc/wireguard/wg-fri.conf
. VPN nato (de)aktivirate s sudo wg-quick up wg-fri
oz. sudo wg-quick down wg-fri
. Povezavo lahko uvozite tudi v NetworkManager ali podobno.
+Nastavitve shranite (kot skrbnik) v /etc/wireguard/wg-fri.conf
. VPN nato (de)aktivirate s sudo wg-quick up wg-fri
oz. sudo wg-quick down wg-fri
.
+
+
+Povezavo lahko uvozite tudi v NetworkManager z ukazom nmcli connection import type wireguard file wg-fri.conf
.
@@ -27,19 +36,21 @@ Nastavitve shranite (kot skrbnik) v /etc/wireguard/wg-fri.conf
. VPN
@@ -47,7 +58,7 @@ Vnesite poljubno oznako in kliknite Ustvari ključ. Če vklopite prvo o
Nastavitve za povezavo so izpisane spodaj. Zasebni ključ varujte enako skrbno kot geslo, s katerim ste se prijavili; priporočena je raba šifriranega diska. Za nov ključ osvežite to stran.
@@ -57,9 +68,9 @@ V nastavitvah lahko dodate ali odstranite vnose AllowedIPs
. Ti dolo
-Obstoječi ključi
+Ključi
-Za vsako napravo ustvarite nov ključ. Ključe, ki jih ne uporabljate, lahko tukaj odstranite. Trenutno so registrirani ključi:
+Če ključa ne uporabljamo, smo ga izgubili ali so nam ga ukradli, ga tukaj odstranimo. Trenutno so registrirani ključi:
diff --git a/web/vpn.py b/web/vpn.py
index 8a5b818..ce82fe4 100644
--- a/web/vpn.py
+++ b/web/vpn.py
@@ -50,7 +50,7 @@ def new():
server_pubkey = subprocess.run([f'wg pubkey'], input=settings.get('wg_key'),
text=True, capture_output=True, shell=True).stdout.strip()
- host = ipaddress.ip_interface(settings.get('wg_net', '10.0.0.1/24'))
+ host = ipaddress.ip_interface(settings.get('wg_net') or '10.0.0.1/24')
ip6 = None
with db.locked():
# Find a free address for the new key.
@@ -63,7 +63,7 @@ def new():
else:
return flask.Response('no more available IP addresses', status=500, mimetype='text/plain')
now = datetime.datetime.utcnow()
- name = re.sub('[^\w ]', '', flask.request.json.get('name', ''))
+ name = re.sub('[^-._A-Za-z0-9]', '', flask.request.json.get('name', ''))
keys[str(ip)] = {
'key': pubkey,
@@ -80,7 +80,7 @@ def new():
# Template arguments.
args = {
'server': settings.get('wg_endpoint'),
- 'port': settings.get('wg_port', '51820'),
+ 'port': settings.get('wg_port') or '51820',
'server_key': server_pubkey,
'pubkey': pubkey,
'ip': str(ip),
@@ -88,7 +88,7 @@ def new():
'timestamp': now,
'name': name,
'dns': settings.get('wg_dns') if flask.request.json.get('use_dns', True) else False,
- 'allowed_nets': settings.get('wg_allowed_nets', []),
+ 'allowed_nets': settings.get('wg_allowed_nets', ''),
'add_default': flask.request.json.get('add_default', False),
}
return flask.render_template('vpn/wg-fri.conf', **args)