summaryrefslogtreecommitdiff
path: root/data/templates/ocserv/ocserv_config.j2
blob: aa8897703bd96ea3f49d65665c91c4517305c56c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
### generated by vpn_openconnect.py ###

{% if listen_address is vyos_defined %}
listen-host = {{ listen_address }}
{% endif %}

tcp-port = {{ listen_ports.tcp }}
udp-port = {{ listen_ports.udp }}

run-as-user = nobody
run-as-group = daemon

{% if "radius" in accounting.mode %}
acct = "radius [config=/run/ocserv/radiusclient.conf]"
{% endif %}

{% if "radius" in authentication.mode %}
auth = "radius [config=/run/ocserv/radiusclient.conf{{ ',groupconfig=true' if authentication.radius.groupconfig is vyos_defined else '' }}]"
{% elif "local" in authentication.mode %}
{%     if authentication.mode.local == "password-otp" %}
auth = "plain[passwd=/run/ocserv/ocpasswd,otp=/run/ocserv/users.oath]"
{%     elif authentication.mode.local == "otp" %}
auth = "plain[otp=/run/ocserv/users.oath]"
{%     else %}
auth = "plain[/run/ocserv/ocpasswd]"
{%     endif %}
{% else %}
auth = "plain[/run/ocserv/ocpasswd]"
{% endif %}

{% if ssl.certificate is vyos_defined %}
server-cert = /run/ocserv/cert.pem
server-key = /run/ocserv/cert.key
{%     if ssl.passphrase is vyos_defined %}
key-pin = {{ ssl.passphrase }}
{%     endif %}
{% endif %}

{% if ssl.ca_certificate is vyos_defined %}
ca-cert = /run/ocserv/ca.pem
{% endif %}

socket-file = /run/ocserv/ocserv.socket
occtl-socket-file = /run/ocserv/occtl.socket
use-occtl = true
isolate-workers = true
keepalive = 300
dpd = 60
mobile-dpd = 300
switch-to-tcp-timeout = 30
tls-priorities = "NORMAL:%SERVER_PRECEDENCE:%COMPAT:-RSA:-VERS-SSL3.0:-ARCFOUR-128"
auth-timeout = 240
idle-timeout = 1200
mobile-idle-timeout = 1800
min-reauth-time = 3
cookie-timeout = 300
rekey-method = ssl
try-mtu-discovery = true
cisco-client-compat = true
dtls-legacy = true
max-ban-score = 80
ban-reset-time = 300

# The name to use for the tun device
device = sslvpn

# DNS settings
{% if network_settings.name_server is vyos_defined %}
{%     for dns in network_settings.name_server %}
dns = {{ dns }}
{%     endfor %}
{% endif %}
{% if network_settings.tunnel_all_dns is vyos_defined %}
{%     if "yes" in network_settings.tunnel_all_dns %}
tunnel-all-dns = true
{%     else %}
tunnel-all-dns = false
{%     endif %}
{% endif %}

# IPv4 network pool
{% if network_settings.client_ip_settings.subnet is vyos_defined %}
ipv4-network = {{ network_settings.client_ip_settings.subnet }}
{% endif %}

# IPv6 network pool
{% if network_settings.client_ipv6_pool.prefix is vyos_defined %}
ipv6-network = {{ network_settings.client_ipv6_pool.prefix }}
ipv6-subnet-prefix = {{ network_settings.client_ipv6_pool.mask }}
{% endif %}

{% if network_settings.push_route is vyos_defined %}
{%     for route in network_settings.push_route %}
route = {{ route }}
{%     endfor %}
{% endif %}

{% if network_settings.split_dns is vyos_defined %}
{%     for tmp in network_settings.split_dns %}
split-dns = {{ tmp }}
{%     endfor %}
{% endif %}

{% if authentication.group is vyos_defined %}
# Group settings
{%     for grp in authentication.group %}
select-group = {{ grp }}
{%     endfor %}
{% endif %}