accounting proxy via tcp

belyj at belyj.eu belyj at belyj.eu
Mon Apr 20 19:14:32 CEST 2020


On 2020-04-20 18:26, Alan DeKok wrote:
> On Apr 20, 2020, at 10:33 AM, belyj at belyj.eu wrote:
>> 
>> Im trying to proxy NAS requests to freeradius via tcp. Authentication 
>> works, but accounting packets are still arriving via udp to radius.
>> 
>> NAS < udp > FR proxy < tcp > FR, is it possible? or am i missing 
>> something
> 
>   It's possible.
> 
>> radiusd: FreeRADIUS Version 3.0.21 (git #af428abda), for host 
>> x86_64-pc-linux-gnu
>> FreeRADIUS Version 3.0.21
>> 
>> proxy.conf
>> ...
>> sites-enabled/default
>> ...
>> 
> 
>   And a piece of a packet capture.
> 
>> 12:53:35.758094 IP (tos 0x0, ttl 57, id 53740, offset 0, flags [none], 
>> proto UDP (17), length 204)
>>    192.168.1.1.62825 > 192.168.1.100.2084: [udp sum ok] UDP, length 
>> 176
>> 12:53:36.760526 IP (tos 0x0, ttl 57, id 53771, offset 0, flags [none], 
>> proto UDP (17), length 178)
>>    192.168.1.1.17830 > 192.168.1.100.2084: [udp sum ok] UDP, length 
>> 150
> 
>   If only there was some kind of additional information which would
> tell you what the server is doing.
> 
>   http://wiki.freeradius.org/list-help
> 
>   Alan DeKok.
> 
> 
> 
> -
> List info/subscribe/unsubscribe? See 
> http://www.freeradius.org/list/users.html

im using freeradius proxy on server with openvpn as nas , when 
homeservers are configured with proto = udp, everything is working, when 
i switch to proto = tcp, i cannot see in debug on homeserver radius 
accounting requests, but i see via tcpdump that they arrives via udp, 
accounting only. From proxy logs i see that it is replicating to 
home_servers and they are configured to tcp only.

tcpdump: listening on enp2s0f0, link-type EN10MB (Ethernet), capture 
size 262144 bytes
17:07:42.425821 IP (tos 0x0, ttl 57, id 34730, offset 0, flags [DF], 
proto TCP (6), length 202)
     192.168.100.1.28105 > 192.168.1.100.2083: Flags [P.], cksum 0x23a6 
(correct), seq 1717016126:1717016276, ack 3810531399, win 58, options 
[nop,nop,TS val 1875309562 ecr 2069758564], length 150
17:07:42.435642 IP (tos 0x0, ttl 64, id 57902, offset 0, flags [none], 
proto TCP (6), length 119)
     192.168.1.100.2083 > 192.168.100.1.28105: Flags [P.], cksum 0xf5e1 
(incorrect -> 0xdd73), seq 1:68, ack 150, win 243, options [nop,nop,TS 
val 2069763400 ecr 1875309562], length 67
17:07:42.456393 IP (tos 0x0, ttl 57, id 34731, offset 0, flags [DF], 
proto TCP (6), length 52)
     192.168.100.1.28105 > 192.168.1.100.2083: Flags [.], cksum 0x1dc2 
(correct), seq 150, ack 68, win 58, options [nop,nop,TS val 1875309592 
ecr 2069763400], length 0
17:07:42.475237 IP (tos 0x0, ttl 57, id 21555, offset 0, flags [none], 
proto UDP (17), length 149)
     192.168.100.1.5892 > 192.168.1.100.2084: [udp sum ok] UDP, length 
121
17:07:44.361665 IP (tos 0x0, ttl 57, id 21855, offset 0, flags [none], 
proto UDP (17), length 179)
     192.168.100.1.63682 > 192.168.1.100.2084: [udp sum ok] UDP, length 
151

attaching proxy server debug output

FreeRADIUS Version 3.0.21
Copyright (C) 1999-2019 The FreeRADIUS server project and contributors
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE
You may redistribute copies of FreeRADIUS under the terms of the
GNU General Public License
For more information about these matters, see the file named COPYRIGHT
Starting - reading configuration files ...
including dictionary file /usr/share/freeradius/dictionary
including dictionary file /usr/share/freeradius/dictionary.dhcp
including dictionary file /usr/share/freeradius/dictionary.vqp
including dictionary file /etc/freeradius/dictionary
including configuration file /etc/freeradius/radiusd.conf
including configuration file /etc/freeradius/proxy.conf
including configuration file /etc/freeradius/clients.conf
including files in directory /etc/freeradius/mods-enabled/
including configuration file /etc/freeradius/mods-enabled/always
including configuration file /etc/freeradius/mods-enabled/attr_filter
including configuration file /etc/freeradius/mods-enabled/cache_eap
including configuration file /etc/freeradius/mods-enabled/chap
including configuration file /etc/freeradius/mods-enabled/date
including configuration file /etc/freeradius/mods-enabled/detail
including configuration file /etc/freeradius/mods-enabled/detail.log
including configuration file /etc/freeradius/mods-enabled/digest
including configuration file 
/etc/freeradius/mods-enabled/dynamic_clients
including configuration file /etc/freeradius/mods-enabled/eap
including configuration file /etc/freeradius/mods-enabled/echo
including configuration file /etc/freeradius/mods-enabled/exec
including configuration file /etc/freeradius/mods-enabled/expiration
including configuration file /etc/freeradius/mods-enabled/expr
including configuration file /etc/freeradius/mods-enabled/files
including configuration file /etc/freeradius/mods-enabled/linelog
including configuration file /etc/freeradius/mods-enabled/logintime
including configuration file /etc/freeradius/mods-enabled/mschap
including configuration file /etc/freeradius/mods-enabled/ntlm_auth
including configuration file /etc/freeradius/mods-enabled/pap
including configuration file /etc/freeradius/mods-enabled/passwd
including configuration file /etc/freeradius/mods-enabled/preprocess
including configuration file /etc/freeradius/mods-enabled/radutmp
including configuration file /etc/freeradius/mods-enabled/realm
including configuration file /etc/freeradius/mods-enabled/replicate
including configuration file /etc/freeradius/mods-enabled/soh
including configuration file /etc/freeradius/mods-enabled/sradutmp
including configuration file /etc/freeradius/mods-enabled/unix
including configuration file /etc/freeradius/mods-enabled/unpack
including configuration file /etc/freeradius/mods-enabled/utf8
including files in directory /etc/freeradius/policy.d/
including configuration file /etc/freeradius/policy.d/rfc7542
including configuration file /etc/freeradius/policy.d/operator-name
including configuration file 
/etc/freeradius/policy.d/moonshot-targeted-ids
including configuration file /etc/freeradius/policy.d/filter
including configuration file /etc/freeradius/policy.d/eap
including configuration file /etc/freeradius/policy.d/dhcp
including configuration file /etc/freeradius/policy.d/debug
including configuration file /etc/freeradius/policy.d/cui
including configuration file /etc/freeradius/policy.d/control
including configuration file /etc/freeradius/policy.d/canonicalization
including configuration file /etc/freeradius/policy.d/accounting
including configuration file /etc/freeradius/policy.d/abfab-tr
including files in directory /etc/freeradius/sites-enabled/
including configuration file /etc/freeradius/sites-enabled/status
including configuration file /etc/freeradius/sites-enabled/default
main {
  security {
  	user = "freerad"
  	group = "freerad"
  	allow_core_dumps = no
  }
	name = "freeradius"
	prefix = "/usr"
	localstatedir = "/var"
	logdir = "/var/log/freeradius"
	run_dir = "/var/run/freeradius"
}
main {
	name = "freeradius"
	prefix = "/usr"
	localstatedir = "/var"
	sbindir = "/usr/sbin"
	logdir = "/var/log/freeradius"
	run_dir = "/var/run/freeradius"
	libdir = "/usr/lib/freeradius"
	radacctdir = "/var/log/freeradius/radacct"
	hostname_lookups = no
	max_request_time = 20
	cleanup_delay = 3
	max_requests = 32768
	pidfile = "/var/run/freeradius/freeradius.pid"
	checkrad = "/usr/sbin/checkrad"
	debug_level = 0
	proxy_requests = yes
  log {
  	stripped_names = no
  	auth = no
  	auth_badpass = no
  	auth_goodpass = no
  	colourise = yes
  	msg_denied = "You are already logged in - access denied"
  }
  resources {
  }
  security {
  	max_attributes = 200
  	reject_delay = 1.000000
  	status_server = yes
  }
}
radiusd: #### Loading Realms and Home Servers ####
  proxy server {
  	retry_delay = 5
  	retry_count = 3
  	default_fallback = no
  	dead_time = 120
  	wake_all_if_all_dead = no
  }
  home_server testserver1 {
  	ipaddr = 192.168.1.100
  	port = 2083
  	type = "auth+acct"
  	proto = "tcp"
  	secret = <<< secret >>>
  	response_window = 30.000000
  	response_timeouts = 1
  	max_outstanding = 65536
  	zombie_period = 40
  	status_check = "none"
  	ping_interval = 30
  	check_timeout = 4
  	num_answers_to_alive = 3
  	revive_interval = 300
   limit {
   	max_connections = 16
   	max_requests = 0
   	lifetime = 0
   	idle_timeout = 0
   }
   coa {
   	irt = 2
   	mrt = 16
   	mrc = 5
   	mrd = 30
   }
  }
Ignoring "response_window = 30.000000", forcing to "response_window = 
20.000000"
  home_server testserver2 {
  	ipaddr = 192.168.1.10
  	port = 2084
  	type = "acct"
  	proto = "tcp"
  	secret = <<< secret >>>
  	response_window = 30.000000
  	response_timeouts = 1
  	max_outstanding = 65536
  	zombie_period = 40
  	status_check = "none"
  	ping_interval = 30
  	check_timeout = 4
  	num_answers_to_alive = 3
  	revive_interval = 300
   limit {
   	max_connections = 16
   	max_requests = 0
   	lifetime = 0
   	idle_timeout = 0
   }
   coa {
   	irt = 2
   	mrt = 16
   	mrc = 5
   	mrd = 30
   }
  }
Ignoring "response_window = 30.000000", forcing to "response_window = 
20.000000"
  home_server_pool testserver1 {
	home_server = testserver1
  }
  realm testserver1 {
	acct_pool = testserver1
  }
  home_server_pool testserver2 {
	home_server = testserver2
  }
  realm testserver2 {
	acct_pool = testserver2
  }
  home_server_pool auth_pool {
	type = keyed-balance
	home_server = testserver1
  }
  realm auth_pool {
	auth_pool = auth_pool
  }
  realm LOCAL {
  }
radiusd: #### Loading Clients ####
  client localhost {
  	ipaddr = 192.168.100.1
  	require_message_authenticator = no
  	secret = <<< secret >>>
   limit {
   	max_connections = 16
   	lifetime = 0
   	idle_timeout = 30
   }
  }
Debugger not attached
systemd watchdog is disabled
  # Creating Auth-Type = mschap
  # Creating Auth-Type = digest
  # Creating Auth-Type = eap
  # Creating Auth-Type = PAP
  # Creating Auth-Type = CHAP
  # Creating Auth-Type = MS-CHAP
radiusd: #### Instantiating modules ####
  modules {
   # Loaded module rlm_always
   # Loading module "reject" from file 
/etc/freeradius/mods-enabled/always
   always reject {
   	rcode = "reject"
   	simulcount = 0
   	mpp = no
   }
   # Loading module "fail" from file /etc/freeradius/mods-enabled/always
   always fail {
   	rcode = "fail"
   	simulcount = 0
   	mpp = no
   }
   # Loading module "ok" from file /etc/freeradius/mods-enabled/always
   always ok {
   	rcode = "ok"
   	simulcount = 0
   	mpp = no
   }
   # Loading module "handled" from file 
/etc/freeradius/mods-enabled/always
   always handled {
   	rcode = "handled"
   	simulcount = 0
   	mpp = no
   }
   # Loading module "invalid" from file 
/etc/freeradius/mods-enabled/always
   always invalid {
   	rcode = "invalid"
   	simulcount = 0
   	mpp = no
   }
   # Loading module "userlock" from file 
/etc/freeradius/mods-enabled/always
   always userlock {
   	rcode = "userlock"
   	simulcount = 0
   	mpp = no
   }
   # Loading module "notfound" from file 
/etc/freeradius/mods-enabled/always
   always notfound {
   	rcode = "notfound"
   	simulcount = 0
   	mpp = no
   }
   # Loading module "noop" from file /etc/freeradius/mods-enabled/always
   always noop {
   	rcode = "noop"
   	simulcount = 0
   	mpp = no
   }
   # Loading module "updated" from file 
/etc/freeradius/mods-enabled/always
   always updated {
   	rcode = "updated"
   	simulcount = 0
   	mpp = no
   }
   # Loaded module rlm_attr_filter
   # Loading module "attr_filter.post-proxy" from file 
/etc/freeradius/mods-enabled/attr_filter
   attr_filter attr_filter.post-proxy {
   	filename = "/etc/freeradius/mods-config/attr_filter/post-proxy"
   	key = "%{Realm}"
   	relaxed = no
   }
   # Loading module "attr_filter.pre-proxy" from file 
/etc/freeradius/mods-enabled/attr_filter
   attr_filter attr_filter.pre-proxy {
   	filename = "/etc/freeradius/mods-config/attr_filter/pre-proxy"
   	key = "%{Realm}"
   	relaxed = no
   }
   # Loading module "attr_filter.access_reject" from file 
/etc/freeradius/mods-enabled/attr_filter
   attr_filter attr_filter.access_reject {
   	filename = "/etc/freeradius/mods-config/attr_filter/access_reject"
   	key = "%{User-Name}"
   	relaxed = no
   }
   # Loading module "attr_filter.access_challenge" from file 
/etc/freeradius/mods-enabled/attr_filter
   attr_filter attr_filter.access_challenge {
   	filename = "/etc/freeradius/mods-config/attr_filter/access_challenge"
   	key = "%{User-Name}"
   	relaxed = no
   }
   # Loading module "attr_filter.accounting_response" from file 
/etc/freeradius/mods-enabled/attr_filter
   attr_filter attr_filter.accounting_response {
   	filename = 
"/etc/freeradius/mods-config/attr_filter/accounting_response"
   	key = "%{User-Name}"
   	relaxed = no
   }
   # Loaded module rlm_cache
   # Loading module "cache_eap" from file 
/etc/freeradius/mods-enabled/cache_eap
   cache cache_eap {
   	driver = "rlm_cache_rbtree"
   	key = "%{%{control:State}:-%{%{reply:State}:-%{State}}}"
   	ttl = 15
   	max_entries = 0
   	epoch = 0
   	add_stats = no
   }
   # Loaded module rlm_chap
   # Loading module "chap" from file /etc/freeradius/mods-enabled/chap
   # Loaded module rlm_date
   # Loading module "date" from file /etc/freeradius/mods-enabled/date
   date {
   	format = "%b %e %Y %H:%M:%S %Z"
   	utc = no
   }
   # Loading module "wispr2date" from file 
/etc/freeradius/mods-enabled/date
   date wispr2date {
   	format = "%Y-%m-%dT%H:%M:%S"
   	utc = no
   }
   # Loaded module rlm_detail
   # Loading module "detail" from file 
/etc/freeradius/mods-enabled/detail
   detail {
   	filename = 
"/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d"
   	header = "%t"
   	permissions = 384
   	locking = no
   	escape_filenames = no
   	log_packet_header = no
   }
   # Loading module "auth_log" from file 
/etc/freeradius/mods-enabled/detail.log
   detail auth_log {
   	filename = 
"/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d"
   	header = "%t"
   	permissions = 384
   	locking = no
   	escape_filenames = no
   	log_packet_header = no
   }
   # Loading module "reply_log" from file 
/etc/freeradius/mods-enabled/detail.log
   detail reply_log {
   	filename = 
"/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/reply-detail-%Y%m%d"
   	header = "%t"
   	permissions = 384
   	locking = no
   	escape_filenames = no
   	log_packet_header = no
   }
   # Loading module "pre_proxy_log" from file 
/etc/freeradius/mods-enabled/detail.log
   detail pre_proxy_log {
   	filename = 
"/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/pre-proxy-detail-%Y%m%d"
   	header = "%t"
   	permissions = 384
   	locking = no
   	escape_filenames = no
   	log_packet_header = no
   }
   # Loading module "post_proxy_log" from file 
/etc/freeradius/mods-enabled/detail.log
   detail post_proxy_log {
   	filename = 
"/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/post-proxy-detail-%Y%m%d"
   	header = "%t"
   	permissions = 384
   	locking = no
   	escape_filenames = no
   	log_packet_header = no
   }
   # Loaded module rlm_digest
   # Loading module "digest" from file 
/etc/freeradius/mods-enabled/digest
   # Loaded module rlm_dynamic_clients
   # Loading module "dynamic_clients" from file 
/etc/freeradius/mods-enabled/dynamic_clients
   # Loaded module rlm_eap
   # Loading module "eap" from file /etc/freeradius/mods-enabled/eap
   eap {
   	default_eap_type = "md5"
   	timer_expire = 60
   	ignore_unknown_eap_types = no
   	cisco_accounting_username_bug = no
   	max_sessions = 32768
   }
   # Loaded module rlm_exec
   # Loading module "echo" from file /etc/freeradius/mods-enabled/echo
   exec echo {
   	wait = yes
   	program = "/bin/echo %{User-Name}"
   	input_pairs = "request"
   	output_pairs = "reply"
   	shell_escape = yes
   }
   # Loading module "exec" from file /etc/freeradius/mods-enabled/exec
   exec {
   	wait = no
   	input_pairs = "request"
   	shell_escape = yes
   	timeout = 10
   }
   # Loaded module rlm_expiration
   # Loading module "expiration" from file 
/etc/freeradius/mods-enabled/expiration
   # Loaded module rlm_expr
   # Loading module "expr" from file /etc/freeradius/mods-enabled/expr
   expr {
   	safe_characters = 
"@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: 
/äéöüàâæçèéêëîïôœùûüaÿÄÉÖÜßÀÂÆÇÈÉÊËÎÏÔŒÙÛÜŸ"
   }
   # Loaded module rlm_files
   # Loading module "files" from file /etc/freeradius/mods-enabled/files
   files {
   	filename = "/etc/freeradius/mods-config/files/authorize"
   	acctusersfile = "/etc/freeradius/mods-config/files/accounting"
   	preproxy_usersfile = "/etc/freeradius/mods-config/files/pre-proxy"
   }
   # Loaded module rlm_linelog
   # Loading module "linelog" from file 
/etc/freeradius/mods-enabled/linelog
   linelog {
   	filename = "/var/log/freeradius/linelog"
   	escape_filenames = no
   	syslog_severity = "info"
   	permissions = 384
   	format = "This is a log message for %{User-Name}"
   	reference = "messages.%{%{reply:Packet-Type}:-default}"
   }
   # Loading module "log_accounting" from file 
/etc/freeradius/mods-enabled/linelog
   linelog log_accounting {
   	filename = "/var/log/freeradius/linelog-accounting"
   	escape_filenames = no
   	syslog_severity = "info"
   	permissions = 384
   	format = ""
   	reference = "Accounting-Request.%{%{Acct-Status-Type}:-unknown}"
   }
   # Loaded module rlm_logintime
   # Loading module "logintime" from file 
/etc/freeradius/mods-enabled/logintime
   logintime {
   	minimum_timeout = 60
   }
   # Loaded module rlm_mschap
   # Loading module "mschap" from file 
/etc/freeradius/mods-enabled/mschap
   mschap {
   	use_mppe = yes
   	require_encryption = no
   	require_strong = no
   	with_ntdomain_hack = yes
    passchange {
    }
   	allow_retry = yes
   	winbind_retry_with_normalised_username = no
   }
   # Loading module "ntlm_auth" from file 
/etc/freeradius/mods-enabled/ntlm_auth
   exec ntlm_auth {
   	wait = yes
   	program = "/path/to/ntlm_auth --request-nt-key --domain=MYDOMAIN 
--username=%{mschap:User-Name} --password=%{User-Password}"
   	shell_escape = yes
   }
   # Loaded module rlm_pap
   # Loading module "pap" from file /etc/freeradius/mods-enabled/pap
   pap {
   	normalise = yes
   }
   # Loaded module rlm_passwd
   # Loading module "etc_passwd" from file 
/etc/freeradius/mods-enabled/passwd
   passwd etc_passwd {
   	filename = "/etc/passwd"
   	format = "*User-Name:Crypt-Password:"
   	delimiter = ":"
   	ignore_nislike = no
   	ignore_empty = yes
   	allow_multiple_keys = no
   	hash_size = 100
   }
   # Loaded module rlm_preprocess
   # Loading module "preprocess" from file 
/etc/freeradius/mods-enabled/preprocess
   preprocess {
   	huntgroups = "/etc/freeradius/mods-config/preprocess/huntgroups"
   	hints = "/etc/freeradius/mods-config/preprocess/hints"
   	with_ascend_hack = no
   	ascend_channels_per_line = 23
   	with_ntdomain_hack = no
   	with_specialix_jetstream_hack = no
   	with_cisco_vsa_hack = no
   	with_alvarion_vsa_hack = no
   }
   # Loaded module rlm_radutmp
   # Loading module "radutmp" from file 
/etc/freeradius/mods-enabled/radutmp
   radutmp {
   	filename = "/var/log/freeradius/radutmp"
   	username = "%{User-Name}"
   	case_sensitive = yes
   	check_with_nas = yes
   	permissions = 384
   	caller_id = yes
   }
   # Loaded module rlm_realm
   # Loading module "IPASS" from file /etc/freeradius/mods-enabled/realm
   realm IPASS {
   	format = "prefix"
   	delimiter = "/"
   	ignore_default = no
   	ignore_null = no
   }
   # Loading module "suffix" from file /etc/freeradius/mods-enabled/realm
   realm suffix {
   	format = "suffix"
   	delimiter = "#"
   	ignore_default = no
   	ignore_null = no
   }
   # Loading module "realmpercent" from file 
/etc/freeradius/mods-enabled/realm
   realm realmpercent {
   	format = "suffix"
   	delimiter = "%"
   	ignore_default = no
   	ignore_null = no
   }
   # Loading module "ntdomain" from file 
/etc/freeradius/mods-enabled/realm
   realm ntdomain {
   	format = "prefix"
   	delimiter = "\"
   	ignore_default = no
   	ignore_null = no
   }
   # Loaded module rlm_replicate
   # Loading module "replicate" from file 
/etc/freeradius/mods-enabled/replicate
   # Loaded module rlm_soh
   # Loading module "soh" from file /etc/freeradius/mods-enabled/soh
   soh {
   	dhcp = yes
   }
   # Loading module "sradutmp" from file 
/etc/freeradius/mods-enabled/sradutmp
   radutmp sradutmp {
   	filename = "/var/log/freeradius/sradutmp"
   	username = "%{User-Name}"
   	case_sensitive = yes
   	check_with_nas = yes
   	permissions = 420
   	caller_id = no
   }
   # Loaded module rlm_unix
   # Loading module "unix" from file /etc/freeradius/mods-enabled/unix
   unix {
   	radwtmp = "/var/log/freeradius/radwtmp"
   }
Creating attribute Unix-Group
   # Loaded module rlm_unpack
   # Loading module "unpack" from file 
/etc/freeradius/mods-enabled/unpack
   # Loaded module rlm_utf8
   # Loading module "utf8" from file /etc/freeradius/mods-enabled/utf8
   instantiate {
   # Instantiating module "expiration" from file 
/etc/freeradius/mods-enabled/expiration
   # Instantiating module "logintime" from file 
/etc/freeradius/mods-enabled/logintime
   }
   # Instantiating module "reject" from file 
/etc/freeradius/mods-enabled/always
   # Instantiating module "fail" from file 
/etc/freeradius/mods-enabled/always
   # Instantiating module "ok" from file 
/etc/freeradius/mods-enabled/always
   # Instantiating module "handled" from file 
/etc/freeradius/mods-enabled/always
   # Instantiating module "invalid" from file 
/etc/freeradius/mods-enabled/always
   # Instantiating module "userlock" from file 
/etc/freeradius/mods-enabled/always
   # Instantiating module "notfound" from file 
/etc/freeradius/mods-enabled/always
   # Instantiating module "noop" from file 
/etc/freeradius/mods-enabled/always
   # Instantiating module "updated" from file 
/etc/freeradius/mods-enabled/always
   # Instantiating module "attr_filter.post-proxy" from file 
/etc/freeradius/mods-enabled/attr_filter
reading pairlist file /etc/freeradius/mods-config/attr_filter/post-proxy
   # Instantiating module "attr_filter.pre-proxy" from file 
/etc/freeradius/mods-enabled/attr_filter
reading pairlist file /etc/freeradius/mods-config/attr_filter/pre-proxy
   # Instantiating module "attr_filter.access_reject" from file 
/etc/freeradius/mods-enabled/attr_filter
reading pairlist file 
/etc/freeradius/mods-config/attr_filter/access_reject
   # Instantiating module "attr_filter.access_challenge" from file 
/etc/freeradius/mods-enabled/attr_filter
reading pairlist file 
/etc/freeradius/mods-config/attr_filter/access_challenge
   # Instantiating module "attr_filter.accounting_response" from file 
/etc/freeradius/mods-enabled/attr_filter
reading pairlist file 
/etc/freeradius/mods-config/attr_filter/accounting_response
   # Instantiating module "cache_eap" from file 
/etc/freeradius/mods-enabled/cache_eap
rlm_cache (cache_eap): Driver rlm_cache_rbtree (module rlm_cache_rbtree) 
loaded and linked
   # Instantiating module "detail" from file 
/etc/freeradius/mods-enabled/detail
   # Instantiating module "auth_log" from file 
/etc/freeradius/mods-enabled/detail.log
rlm_detail (auth_log): 'User-Password' suppressed, will not appear in 
detail output
   # Instantiating module "reply_log" from file 
/etc/freeradius/mods-enabled/detail.log
   # Instantiating module "pre_proxy_log" from file 
/etc/freeradius/mods-enabled/detail.log
   # Instantiating module "post_proxy_log" from file 
/etc/freeradius/mods-enabled/detail.log
   # Instantiating module "eap" from file 
/etc/freeradius/mods-enabled/eap
    # Linked to sub-module rlm_eap_md5
    # Linked to sub-module rlm_eap_leap
    # Linked to sub-module rlm_eap_gtc
    gtc {
    	challenge = "Password: "
    	auth_type = "PAP"
    }
    # Linked to sub-module rlm_eap_tls
    tls {
    	tls = "tls-common"
    }
    tls-config tls-common {
    	verify_depth = 0
    	ca_path = "/etc/freeradius/certs"
    	pem_file_type = yes
    	private_key_file = "/etc/freeradius/certs/server.pem"
    	certificate_file = "/etc/freeradius/certs/server.pem"
    	ca_file = "/etc/freeradius/certs/ca.pem"
    	private_key_password = <<< secret >>>
    	dh_file = "/etc/freeradius/certs/dh"
    	fragment_size = 1024
    	include_length = yes
    	auto_chain = yes
    	check_crl = no
    	check_all_crl = no
    	cipher_list = "DEFAULT"
    	cipher_server_preference = no
    	ecdh_curve = "prime256v1"
    	disable_tlsv1 = yes
    	disable_tlsv1_1 = yes
    	tls_max_version = "1.2"
    	tls_min_version = "1.2"
     cache {
     	enable = no
     	lifetime = 24
     	max_entries = 255
     }
     verify {
     	skip_if_ocsp_ok = no
     }
     ocsp {
     	enable = no
     	override_cert_url = yes
     	url = "http://127.0.0.1/ocsp/"
     	use_nonce = yes
     	timeout = 0
     	softfail = no
     }
    }
Please use tls_min_version and tls_max_version instead of disable_tlsv1
Please use tls_min_version and tls_max_version instead of 
disable_tlsv1_2
    # Linked to sub-module rlm_eap_ttls
    ttls {
    	tls = "tls-common"
    	default_eap_type = "md5"
    	copy_request_to_tunnel = no
    	use_tunneled_reply = no
    	virtual_server = "inner-tunnel"
    	include_length = yes
    	require_client_cert = no
    }
tls: Using cached TLS configuration from previous invocation
    # Linked to sub-module rlm_eap_peap
    peap {
    	tls = "tls-common"
    	default_eap_type = "mschapv2"
    	copy_request_to_tunnel = no
    	use_tunneled_reply = no
    	proxy_tunneled_request_as_eap = yes
    	virtual_server = "inner-tunnel"
    	soh = no
    	require_client_cert = no
    }
tls: Using cached TLS configuration from previous invocation
    # Linked to sub-module rlm_eap_mschapv2
    mschapv2 {
    	with_ntdomain_hack = no
    	send_error = no
    }
   # Instantiating module "files" from file 
/etc/freeradius/mods-enabled/files
reading pairlist file /etc/freeradius/mods-config/files/authorize
reading pairlist file /etc/freeradius/mods-config/files/accounting
reading pairlist file /etc/freeradius/mods-config/files/pre-proxy
   # Instantiating module "linelog" from file 
/etc/freeradius/mods-enabled/linelog
   # Instantiating module "log_accounting" from file 
/etc/freeradius/mods-enabled/linelog
   # Instantiating module "mschap" from file 
/etc/freeradius/mods-enabled/mschap
rlm_mschap (mschap): using internal authentication
   # Instantiating module "pap" from file 
/etc/freeradius/mods-enabled/pap
   # Instantiating module "etc_passwd" from file 
/etc/freeradius/mods-enabled/passwd
rlm_passwd: nfields: 3 keyfield 0(User-Name) listable: no
   # Instantiating module "preprocess" from file 
/etc/freeradius/mods-enabled/preprocess
reading pairlist file /etc/freeradius/mods-config/preprocess/huntgroups
reading pairlist file /etc/freeradius/mods-config/preprocess/hints
   # Instantiating module "IPASS" from file 
/etc/freeradius/mods-enabled/realm
   # Instantiating module "suffix" from file 
/etc/freeradius/mods-enabled/realm
   # Instantiating module "realmpercent" from file 
/etc/freeradius/mods-enabled/realm
   # Instantiating module "ntdomain" from file 
/etc/freeradius/mods-enabled/realm
  } # modules
radiusd: #### Loading Virtual Servers ####
server { # from file /etc/freeradius/radiusd.conf
} # server
server default { # from file /etc/freeradius/sites-enabled/default
  # Loading authenticate {...}
  # Loading authorize {...}
  # Loading preacct {...}
  # Loading accounting {...}
  # Loading post-proxy {...}
  # Loading post-auth {...}
} # server default
radiusd: #### Opening IP addresses and Ports ####
listen {
   	type = "auth"
   	ipaddr = 192.168.100.1
   	port = 1812
    limit {
    	max_connections = 16
    	lifetime = 0
    	idle_timeout = 30
    }
}
listen {
   	type = "acct"
   	ipaddr = 192.168.100.1
   	port = 1813
    limit {
    	max_connections = 16
    	lifetime = 0
    	idle_timeout = 30
    }
}
Listening on auth address 192.168.100.1 port 1812 bound to server 
default
Listening on acct address 192.168.100.1 port 1813 bound to server 
default
Ready to process requests
(0) Received Access-Request Id 154 from 192.168.100.1:63832 to 
192.168.100.1:1812 length 115
(0)   User-Name = "ovpnuser"
(0)   User-Password = "iesu5aePah7meeC9"
(0)   NAS-Port = 1
(0)   Calling-Station-Id = "10.10.0.10"
(0)   NAS-Identifier = "ovpn"
(0)   Acct-Session-Id = "3B9DA6D951A4404C25D45A00A6A4ED04"
(0) # Executing section authorize from file 
/etc/freeradius/sites-enabled/default
(0)   authorize {
(0)     update control {
(0)       EXPAND %{NAS-IPv6-Address} %{NAS-IP-Address} %{NAS-Port} 
%{User-Name} %{Calling-Station-Id}
(0)          -->   1 ovpnuser 10.10.0.10
(0)       &Load-Balance-Key :=   1 ovpnuser 10.10.0.10
(0)       Proxy-To-Realm := 'auth_pool'
(0)     } # update control = noop
(0)     [preprocess] = ok
(0)     [chap] = noop
(0)     [mschap] = noop
(0)     [digest] = noop
(0) suffix: Checking for suffix after "#"
(0) suffix: No '#' in User-Name = "ovpnuser", looking up realm NULL
(0) suffix: No such realm "NULL"
(0)     [suffix] = noop
(0) eap: No EAP-Message, not doing EAP
(0)     [eap] = noop
(0)     [expiration] = noop
(0)     [logintime] = noop
(0)     [pap] = noop
(0)   } # authorize = ok
(0) Starting proxy to home server 192.168.1.100 port 2083
(0) server default {
(0) }
Listening on proxy (192.168.100.1, 52419) -> home_server (192.168.1.100, 
2083)
(0) Proxying request to home server 192.168.1.100 port 2083 timeout 
20.000000
(0) Sent Access-Request Id 180 from 192.168.100.1:52419 to 
192.168.1.100:2083 length 150
(0)   User-Name = "ovpnuser"
(0)   User-Password = "iesu5aePah7meeC9"
(0)   NAS-Port = 1
(0)   Calling-Station-Id = "10.10.0.10"
(0)   NAS-Identifier = "ovpn"
(0)   Acct-Session-Id = "3B9DA6D951A4404C25D45A00A6A4ED04"
(0)   Event-Timestamp = "Apr 20 2020 16:38:26 UTC"
(0)   NAS-IP-Address = 192.168.100.1
(0)   Message-Authenticator := 0x00
(0)   Proxy-State = 0x313534
Waking up in 0.3 seconds.
(0) Marking home server 192.168.1.100 port 2083 alive
(0) Clearing existing &reply: attributes
(0) Received Access-Accept Id 180 from 192.168.1.100:2083 to 
192.168.100.1:52419 length 67
(0)   Proxy-State = 0x313534
(0)   Service-Type = Framed-User
(0)   Framed-Protocol = PPP
(0)   Framed-MTU = 1500
(0)   Framed-Compression = Van-Jacobson-TCP-IP
(0)   Acct-Interim-Interval = 480
(0)   Framed-IP-Netmask = 255.255.255.255
(0)   Idle-Timeout = 600
(0) server default {
(0)   # Executing section post-proxy from file 
/etc/freeradius/sites-enabled/default
(0)     post-proxy {
(0) eap: No pre-existing handler found
(0)       [eap] = noop
(0)     } # post-proxy = noop
(0) }
(0) Found Auth-Type = Accept
(0) Auth-Type = Accept, accepting the user
(0) # Executing section post-auth from file 
/etc/freeradius/sites-enabled/default
(0)   post-auth {
(0)     update {
(0)       No attributes updated for RHS &session-state:
(0)     } # update = noop
(0)     [exec] = noop
(0)     policy remove_reply_message_if_eap {
(0)       if (&reply:EAP-Message && &reply:Reply-Message) {
(0)       if (&reply:EAP-Message && &reply:Reply-Message)  -> FALSE
(0)       else {
(0)         [noop] = noop
(0)       } # else = noop
(0)     } # policy remove_reply_message_if_eap = noop
(0)   } # post-auth = noop
(0) Sent Access-Accept Id 154 from 192.168.100.1:1812 to 
192.168.100.1:63832 length 0
(0)   Service-Type = Framed-User
(0)   Framed-Protocol = PPP
(0)   Framed-MTU = 1500
(0)   Framed-Compression = Van-Jacobson-TCP-IP
(0)   Acct-Interim-Interval = 480
(0)   Framed-IP-Netmask = 255.255.255.255
(0)   Idle-Timeout = 600
(0) Finished request
(1) Received Accounting-Request Id 247 from 192.168.100.1:27136 to 
192.168.100.1:1813 length 109
(1)   User-Name = "ovpnuser"
(1)   NAS-Port = 1
(1)   Framed-IP-Address = 10.7.7.2
(1)   Calling-Station-Id = "10.10.0.10"
(1)   NAS-Identifier = "ovpn"
(1)   Acct-Status-Type = Start
(1)   Acct-Session-Id = "3B9DA6D951A4404C25D45A00A6A4ED04"
(1) # Executing section preacct from file 
/etc/freeradius/sites-enabled/default
(1)   preacct {
(1)     [preprocess] = ok
(1)     policy acct_unique {
(1)       update request {
(1)         &Tmp-String-9 := "ai:"
(1)       } # update request = noop
(1)       if (("%{hex:&Class}" =~ /^%{hex:&Tmp-String-9}/) && 	    
("%{string:&Class}" =~ /^ai:([0-9a-f]{32})/i)) {
(1)       EXPAND %{hex:&Class}
(1)          -->
(1)       EXPAND ^%{hex:&Tmp-String-9}
(1)          --> ^61693a
(1)       if (("%{hex:&Class}" =~ /^%{hex:&Tmp-String-9}/) && 	    
("%{string:&Class}" =~ /^ai:([0-9a-f]{32})/i))  -> FALSE
(1)       else {
(1)         update request {
(1)           EXPAND 
%{md5:%{User-Name},%{Acct-Session-ID},%{%{NAS-IPv6-Address}:-%{NAS-IP-Address}},%{NAS-Identifier},%{NAS-Port-ID},%{NAS-Port}}
(1)              --> 0a4224d834d37e28ce7e7e835ba515ab
(1)           &Acct-Unique-Session-Id := 
0a4224d834d37e28ce7e7e835ba515ab
(1)         } # update request = noop
(1)       } # else = noop
(1)     } # policy acct_unique = noop
(1) suffix: Checking for suffix after "#"
(1) suffix: No '#' in User-Name = "ovpnuser", looking up realm NULL
(1) suffix: No such realm "NULL"
(1)     [suffix] = noop
(1)     [files] = noop
(1)   } # preacct = ok
(1) # Executing section accounting from file 
/etc/freeradius/sites-enabled/default
(1)   accounting {
(1)     update control {
(1)       Replicate-To-Realm += testserver1
(1)       Replicate-To-Realm += testserver2
(1)     } # update control = noop
(1) replicate: Replicating list 'request' to Realm 'testserver1'
(1) replicate: Replicating list 'request' to Realm 'testserver2'
(1)     [replicate] = ok
(1)     [exec] = noop
(1) attr_filter.accounting_response: EXPAND %{User-Name}
(1) attr_filter.accounting_response:    --> ovpnuser
(1) attr_filter.accounting_response: Matched entry DEFAULT at line 12
(1)     [attr_filter.accounting_response] = updated
(1)     [ok] = ok
(1)   } # accounting = updated
(1) Sent Accounting-Response Id 247 from 192.168.100.1:1813 to 
192.168.100.1:27136 length 0
(1) Finished request
(1) Cleaning up request packet ID 247 with timestamp +21





More information about the Freeradius-Users mailing list