În prezent lucrez la construirea unei soluții RADIUS Proxy cu RHEL și FreeRADIUS.Deoarece mă aștept să integrez soluția cu sute de clienți RADIUS și servere RADIUS, funcția proxy de tărâm din FreeRADIUS acoperă o parte din cazuri de utilizare și, în cele din urmă, vom întâlni nume de utilizator care nu vor avea un UID sau tărâm în el, așa că m-am gândit la identificarea și proxy-ul clienților RADIUS după IP-ul surselor lor. Am căutat pe Internet săptămâna trecută cum să o fac și încă nu găsesc exemple relevante sau linii de cod despre cum să o fac. Iată ce am până acum:
Pentru pachetul de solicitare RADIUS care se așteaptă, am următoarele linii de cod în /etc/raddb/clients.conf:
client vpnserver {
ipaddr = 10.10.10.200
secret = RADIUS123!
}
În fișierul /etc/raddb/proxy.conf, am următoarele linii de cod:
home_server mfaserver1 {
tip = auth
ipaddr = 10.10.10.10
port = 1812
secret = RADIUS123!
}
home_server_pool mfaserver1_pool {
tip = fail-over
home_server = mfaserver1
}
home_server mfaserver2 {
tip = auth
ipaddr = 10.10.10.20
port = 1812
secret = RADIUS123!
}
home_server_pool mfaserver2_pool {
tip = fail-over
home_server = mfaserver2
}
tărâm mfa1 {
auth_pool = mfaserver1_pool
}
În fișierul /etc/raddb/sites-enabled/default, am următoarele linii de cod în secțiunea „autorizați {}” sub „preprocesare”:
autoriza {
preproces
dacă (&Packet-Src-IP-Address == 10.10.10.200) {
controlul actualizării {
Home-Server-Pool := "mfaserver2_pool"
}
}
Așa că folosesc numele de utilizator „numedeutilizator@mfa1” și fără liniile de cod din fișierul /etc/raddb/sites-enabled/default, starea domeniului funcționează corect și trimite pachetul de solicitare RADIUS către mfaserver1 fără probleme.
Cu liniile de cod adăugate în fișierul /etc/raddb/sites-enabled/default, vreau în continuare ca numele de utilizator să aibă tărâmul eliminat, dar să suprascrieți condiția de proxy pentru a spune că, indiferent de tărâmul din numele de utilizator, proxy pachetul de solicitare RADIUS la mfaserver2 pentru că ați venit de la acea sursă IP. Deși, cu multe teste efectuate, nu se întâmplă nimic și cererea de pachet RADIUS este în continuare transmisă către mfaserver1, indiferent.
Scriu liniile de cod potrivite pentru a face asta? Este în dosarul potrivit? Trebuie să adaug linii de cod suplimentare într-un alt fișier în /etc/raddb/?