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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
### generated by accel_l2tp.py ###
[modules]
log_syslog
l2tp
chap-secrets
{% for proto in auth_proto %}
{{ proto }}
{% endfor %}
{% if auth_mode == 'radius' %}
radius
{% endif %}
ippool
shaper
ipv6pool
ipv6_nd
ipv6_dhcp
[core]
thread-count={{ thread_cnt }}
[common]
{% if max_concurrent_sessions is vyos_defined %}
max-starting={{ max_concurrent_sessions }}
{% endif %}
[log]
syslog=accel-l2tp,daemon
copy=1
level=5
{% if dnsv4 %}
[dns]
{% for dns in dnsv4 %}
dns{{ loop.index }}={{ dns }}
{% endfor %}
{% endif %}
{% if dnsv6 %}
[ipv6-dns]
{% for dns in dnsv6 %}
{{ dns }}
{% endfor %}
{% endif %}
{% if wins %}
[wins]
{% for server in wins %}
wins{{ loop.index }}={{ server }}
{% endfor %}
{% endif %}
[l2tp]
verbose=1
ifname=l2tp%d
ppp-max-mtu={{ mtu }}
mppe={{ ppp_mppe }}
{% if outside_addr %}
bind={{ outside_addr }}
{% endif %}
{% if lns_shared_secret %}
secret={{ lns_shared_secret }}
{% endif %}
{% if lns_host_name %}
host-name={{ lns_host_name }}
{% endif %}
{% if default_pool is vyos_defined %}
ip-pool={{ default_pool }}
{% endif %}
[client-ip-range]
0.0.0.0/0
{# Common IP pool definitions #}
{% include 'accel-ppp/config_ip_pool.j2' %}
{% if auth_mode == 'local' %}
[chap-secrets]
chap-secrets={{ chap_secrets_file }}
{% elif auth_mode == 'radius' %}
[radius]
verbose=1
{% for r in radius_server %}
server={{ r.server }},{{ r.key }},auth-port={{ r.port }},acct-port={{ r.acct_port }},req-limit=0,fail-time={{ r.fail_time }}
{% endfor %}
{% if radius_dynamic_author.server is vyos_defined %}
dae-server={{ radius_dynamic_author.server }}:{{ radius_dynamic_author.port }},{{ radius_dynamic_author.key }}
{% endif %}
{% if radius_acct_interim_interval is vyos_defined %}
acct-interim-interval={{ radius_acct_interim_interval }}
{% endif %}
{% if radius_acct_inter_jitter %}
acct-interim-jitter={{ radius_acct_inter_jitter }}
{% endif %}
acct-timeout={{ radius_acct_tmo }}
timeout={{ radius_timeout }}
max-try={{ radius_max_try }}
{% if radius_nas_id %}
nas-identifier={{ radius_nas_id }}
{% endif %}
{% if radius_nas_ip %}
nas-ip-address={{ radius_nas_ip }}
{% endif %}
{% if radius_source_address %}
bind={{ radius_source_address }}
{% endif %}
{% endif %}
{% if gateway_address is vyos_defined %}
gw-ip-address={{ gateway_address }}
{% endif %}
[ppp]
verbose=1
check-ip=1
single-session=replace
lcp-echo-timeout={{ ppp_echo_timeout }}
lcp-echo-interval={{ ppp_echo_interval }}
lcp-echo-failure={{ ppp_echo_failure }}
{% if ccp_disable %}
ccp=0
{% endif %}
{% if ppp_ipv6 is vyos_defined %}
ipv6={{ ppp_ipv6 }}
{% else %}
{{ 'ipv6=allow' if client_ipv6_pool_configured else '' }}
{% endif %}
{% if ppp_ipv6_intf_id is vyos_defined %}
ipv6-intf-id={{ ppp_ipv6_intf_id }}
{% endif %}
{% if ppp_ipv6_peer_intf_id is vyos_defined %}
ipv6-peer-intf-id={{ ppp_ipv6_peer_intf_id }}
{% endif %}
ipv6-accept-peer-intf-id={{ "1" if ppp_ipv6_accept_peer_intf_id else "0" }}
{% if client_ipv6_pool %}
[ipv6-pool]
{% for p in client_ipv6_pool %}
{{ p.prefix }},{{ p.mask }}
{% endfor %}
{% for p in client_ipv6_delegate_prefix %}
delegate={{ p.prefix }},{{ p.mask }}
{% endfor %}
{% endif %}
{% if client_ipv6_delegate_prefix %}
[ipv6-dhcp]
verbose=1
{% endif %}
{% if radius_shaper_attr %}
[shaper]
verbose=1
attr={{ radius_shaper_attr }}
{% if radius_shaper_vendor %}
vendor={{ radius_shaper_vendor }}
{% endif %}
{% endif %}
[cli]
tcp=127.0.0.1:2004
sessions-columns=ifname,username,calling-sid,ip,{{ ip6_column | join(',') }}{{ ',' if ip6_column }}rate-limit,type,comp,state,rx-bytes,tx-bytes,uptime
|