Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Czy freeRADIUS umozliwia przydzial predkosci polaczenia dla poszczegolnych uzytkownikow? Czy konfigurujac freeRADIUS musze wylaczyc dhcp skoro freeRADIUS oferuje dhcp?
Offline
A gdzie tego Radiusa podpinasz?
Sam Radius potrafi przekazywać dowolne parametry w odpowiedzi,
które możesz wykorzystać jako zmienne w różnych skryptach.
Przykład:
radtest -t chap test test localhost 0 {hasełko_do_radiusa}
Sending Access-Request of id 82 to 127.0.0.1 port 1812
User-Name = "test"
CHAP-Password = 0x5226f21d336fe4b5984678de625098928d
NAS-IP-Address = 127.0.0.1
NAS-Port = 0
Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=82, length=32
[b]Framed-IP-Address = 192.168.2.229
Framed-IP-Netmask = 255.255.255.0[/b][/quote]
Adres i maska są przekazane z tablicy radreply bazy radiusa,
które siedzi w Mysql - MariaDB, gdzie wyglądają tak:Kod:
MariaDB [radius]> select * from radius.radreply where username like 'test'; +----+----------+-------------------+----+---------------+ | id | username | attribute | op | value | +----+----------+-------------------+----+---------------+ | 5 | test | Framed-IP-Address | = | 192.168.2.229 | | 6 | test | Framed-IP-Netmask | = | 255.255.255.0 | +----+----------+-------------------+----+---------------+ 2 rows in set (0.01 sec)To by było na tyle
;-)Ostatnio edytowany przez Jacekalex (2013-12-17 00:58:45)
W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem para bellum ;) | Pozdrawiam :)
Offline
zainstalowaloem freeRadis + mysql + daloradius. zastanawiam sie gdzie mozna skonfigurowac przydzial lacza dla poszczegolnego uzytkownika lub grupy? czy w takiej konfiguracji jak mam mozna to zrobic?
Offline
Radius jest serwerem uwierzytelnienia, z którego korzystają inne usługi sieciowe.
Co konkretnie korzysta z uwierzytelnienia w tym Radiusie?
Przecież Radius nie ma żadnego wbudowanego narzędzia do zarządzania ustawieniami sieci.
Ostatnio edytowany przez Jacekalex (2013-12-17 12:51:35)
Offline
z DHCP znalazlem juz odpowiedz. Myslalem ze RADIUS sam rozdaje IP ale nie. DHCP musi byc wlaczone zeby RADIUS dzialal przy mojej konfiguracji. Niestety stanalem przed zadaniem, ktore mnie przerasta. A mianowicie musze przebudowac istniejaca siec WiFi. Do tej pory bylo tak:
Provider ---> modem ---> router ---> switch --- APki.
Router dawal dhcp a uwierzytelnienie bylo tylko przez AP na zasadzie klucza do WiFi. Wymagania wzrosly do tego poziomu, ze musze miec 2 grupy uzytkownikow: normalny i VIP. Zwykly uzytkownik powinien miec niski przydzial lacza, natomiast VIP mowi sam za siebie. Wiec po 3ch tygodniach czytania na forach zainstalowalem freeRadius + mysql + daloradius i zastanawiam sie gdzie i jak to skonfigurowac?
Zalozylem takze inne tematy bo mimo w/w musze zrobic load balancing... no i rece mi opadly jako, ze ostatni raz z linuxem mialem do czynienia 10 lat temu :)))))
Offline
Jak to zrobić z DHCP - pojęcia nie mam.
Jakbyś kombinował z serwerem pppoe, to tam masz możliwość naskrobania skrypta w /etc/ppp/ip-up.d - który przy podniesieniu nowego interfejsu (zalogowanie pacjenta) może dostać wszystkie atrybuty radiusa i zrobić dowolną akcję.
Przy DHCP chyba w ogóle nie potrzeba radiusa, robisz pary ip-mac - i potem po ip ustalasz pasmo dla każdego pacjenta.
Względnie adresy IP-mac i hasła możesz trzymać w radiusie, a dla poszczególnych IP zrobić statyczną konfigurację, i "VIP" wsadzić do innej klasy adresowej, np jedna grupa do 10.0.8.0/24 a druga do 10.0.9.0/24.
Potem kolejki i priorytety łatwiej konfigurować.
Zdaje się, że monowall (dystrybucja na routery) ma wbudowany mechanizm ustalania prędkości do i od pacjenta na podstawie odp radiusa, ale nie próbowałem tego na razie.
Ostatnio edytowany przez Jacekalex (2013-12-18 00:18:24)
Offline
musze skorzystac z RADIUSa poniewaz siec dla gosci to hotel wiec nie moge bazowac na MAC adresach.
Poradzilem sobie z poprzednim problemem ale mam nastepny. Po konfiguracji freeRADIUSa i uruchomieniu freeradius -X wpisuje polecenie do przetestowania radiusa ale wywala mi blad:
no response from server
root@RADIUS:~# radtest alice passme 127.0.0.1 0 dandruff Sending Access-Request of id 123 to 127.0.0.1 port 1812 User-Name = "alice" User-Password = "passme" NAS-IP-Address = 192.168.1.1 NAS-Port = 0 Message-Authenticator = 0x00000000000000000000000000000000 Sending Access-Request of id 123 to 127.0.0.1 port 1812 User-Name = "alice" User-Password = "passme" NAS-IP-Address = 192.168.1.1 NAS-Port = 0 Message-Authenticator = 0x00000000000000000000000000000000 Sending Access-Request of id 123 to 127.0.0.1 port 1812 User-Name = "alice" User-Password = "passme" NAS-IP-Address = 192.168.1.1 NAS-Port = 0 Message-Authenticator = 0x00000000000000000000000000000000 radclient: no response from server for ID 123 socket 3
ponizej logi z uruchomienia freeradius -X
root@RADIUS:/etc/freeradius# freeradius -X FreeRADIUS Version 2.1.12, for host i486-pc-linux-gnu, built on Dec 16 2012 at 22:03:33 Copyright (C) 1999-2009 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 v2. Starting - reading configuration files ... 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/modules/ including configuration file /etc/freeradius/modules/krb5 including configuration file /etc/freeradius/modules/realm including configuration file /etc/freeradius/modules/policy including configuration file /etc/freeradius/modules/sradutmp including configuration file /etc/freeradius/modules/preprocess including configuration file /etc/freeradius/modules/always including configuration file /etc/freeradius/modules/expr including configuration file /etc/freeradius/modules/expiration including configuration file /etc/freeradius/modules/inner-eap including configuration file /etc/freeradius/modules/sqlcounter_expire_on_login including configuration file /etc/freeradius/modules/digest including configuration file /etc/freeradius/modules/smsotp including configuration file /etc/freeradius/modules/redis including configuration file /etc/freeradius/modules/detail.example.com including configuration file /etc/freeradius/modules/linelog including configuration file /etc/freeradius/modules/ldap including configuration file /etc/freeradius/modules/echo including configuration file /etc/freeradius/modules/checkval including configuration file /etc/freeradius/modules/attr_filter including configuration file /etc/freeradius/modules/acct_unique including configuration file /etc/freeradius/modules/dynamic_clients including configuration file /etc/freeradius/modules/logintime including configuration file /etc/freeradius/modules/rediswho including configuration file /etc/freeradius/modules/mac2vlan including configuration file /etc/freeradius/modules/opendirectory including configuration file /etc/freeradius/modules/mschap including configuration file /etc/freeradius/modules/pam including configuration file /etc/freeradius/modules/smbpasswd including configuration file /etc/freeradius/modules/perl including configuration file /etc/freeradius/modules/ntlm_auth including configuration file /etc/freeradius/modules/radutmp including configuration file /etc/freeradius/modules/counter including configuration file /etc/freeradius/modules/otp including configuration file /etc/freeradius/modules/files including configuration file /etc/freeradius/modules/sql_log including configuration file /etc/freeradius/modules/etc_group including configuration file /etc/freeradius/modules/unix including configuration file /etc/freeradius/modules/ippool including configuration file /etc/freeradius/modules/mac2ip including configuration file /etc/freeradius/modules/detail including configuration file /etc/freeradius/modules/cui including configuration file /etc/freeradius/modules/attr_rewrite including configuration file /etc/freeradius/modules/wimax including configuration file /etc/freeradius/modules/replicate including configuration file /etc/freeradius/modules/passwd including configuration file /etc/freeradius/modules/soh including configuration file /etc/freeradius/modules/exec including configuration file /etc/freeradius/modules/detail.log including configuration file /etc/freeradius/modules/chap including configuration file /etc/freeradius/modules/pap including configuration file /etc/freeradius/eap.conf including configuration file /etc/freeradius/sql.conf including configuration file /etc/freeradius/sql/mysql/dialup.conf including configuration file /etc/freeradius/policy.conf including files in directory /etc/freeradius/sites-enabled/ including configuration file /etc/freeradius/sites-enabled/default including configuration file /etc/freeradius/sites-enabled/inner-tunnel main { user = "freerad" group = "freerad" allow_core_dumps = no } including dictionary file /etc/freeradius/dictionary 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 = 30 cleanup_delay = 5 max_requests = 1024 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 } security { max_attributes = 200 reject_delay = 1 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 localhost { ipaddr = 127.0.0.1 port = 1812 type = "auth" secret = "testing123" response_window = 20 max_outstanding = 65536 require_message_authenticator = yes zombie_period = 40 status_check = "status-server" ping_interval = 30 check_interval = 30 num_answers_to_alive = 3 num_pings_to_alive = 3 revive_interval = 120 status_check_timeout = 4 coa { irt = 2 mrt = 16 mrc = 5 mrd = 30 } } home_server_pool my_auth_failover { type = fail-over home_server = localhost } realm example.com { auth_pool = my_auth_failover } realm LOCAL { } radiusd: #### Loading Clients #### client localhost { ipaddr = 172.0.0.1 require_message_authenticator = no secret = "dandruff" nastype = "other" } radiusd: #### Instantiating modules #### instantiate { Module: Linked to module rlm_exec Module: Instantiating module "exec" from file /etc/freeradius/modules/exec exec { wait = no input_pairs = "request" shell_escape = yes } Module: Linked to module rlm_expr Module: Instantiating module "expr" from file /etc/freeradius/modules/expr Module: Linked to module rlm_expiration Module: Instantiating module "expiration" from file /etc/freeradius/modules/expiration expiration { reply-message = "Password Has Expired " } Module: Linked to module rlm_logintime Module: Instantiating module "logintime" from file /etc/freeradius/modules/logintime logintime { reply-message = "You are calling outside your allowed timespan " minimum-timeout = 60 } } radiusd: #### Loading Virtual Servers #### server { # from file /etc/freeradius/radiusd.conf modules { Module: Creating Auth-Type = digest Module: Creating Post-Auth-Type = REJECT Module: Checking authenticate {...} for more modules to load Module: Linked to module rlm_pap Module: Instantiating module "pap" from file /etc/freeradius/modules/pap pap { encryption_scheme = "auto" auto_header = no } Module: Linked to module rlm_chap Module: Instantiating module "chap" from file /etc/freeradius/modules/chap Module: Linked to module rlm_mschap Module: Instantiating module "mschap" from file /etc/freeradius/modules/mschap mschap { use_mppe = yes require_encryption = no require_strong = no with_ntdomain_hack = no allow_retry = yes } Module: Linked to module rlm_digest Module: Instantiating module "digest" from file /etc/freeradius/modules/digest Module: Linked to module rlm_unix Module: Instantiating module "unix" from file /etc/freeradius/modules/unix unix { radwtmp = "/var/log/freeradius/radwtmp" } Module: Linked to module rlm_eap Module: Instantiating module "eap" from file /etc/freeradius/eap.conf eap { default_eap_type = "md5" timer_expire = 60 ignore_unknown_eap_types = no cisco_accounting_username_bug = no max_sessions = 4096 } Module: Linked to sub-module rlm_eap_md5 Module: Instantiating eap-md5 Module: Linked to sub-module rlm_eap_leap Module: Instantiating eap-leap Module: Linked to sub-module rlm_eap_gtc Module: Instantiating eap-gtc gtc { challenge = "Password: " auth_type = "PAP" } Module: Linked to sub-module rlm_eap_tls Module: Instantiating eap-tls tls { rsa_key_exchange = no dh_key_exchange = yes rsa_key_length = 512 dh_key_length = 512 verify_depth = 0 CA_path = "/etc/freeradius/certs" pem_file_type = yes private_key_file = "/etc/freeradius/certs/server.key" certificate_file = "/etc/freeradius/certs/server.pem" CA_file = "/etc/freeradius/certs/ca.pem" private_key_password = "whatever" dh_file = "/etc/freeradius/certs/dh" random_file = "/dev/urandom" fragment_size = 1024 include_length = yes check_crl = no cipher_list = "DEFAULT" make_cert_command = "/etc/freeradius/certs/bootstrap" ecdh_curve = "prime256v1" cache { enable = no lifetime = 24 max_entries = 255 } verify { } ocsp { enable = no override_cert_url = yes url = "http://127.0.0.1/ocsp/" } } Module: Linked to sub-module rlm_eap_ttls Module: Instantiating eap-ttls ttls { default_eap_type = "md5" copy_request_to_tunnel = no use_tunneled_reply = no virtual_server = "inner-tunnel" include_length = yes } Module: Linked to sub-module rlm_eap_peap Module: Instantiating eap-peap peap { 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 } Module: Linked to sub-module rlm_eap_mschapv2 Module: Instantiating eap-mschapv2 mschapv2 { with_ntdomain_hack = no send_error = no } Module: Checking authorize {...} for more modules to load Module: Linked to module rlm_preprocess Module: Instantiating module "preprocess" from file /etc/freeradius/modules/preprocess preprocess { huntgroups = "/etc/freeradius/huntgroups" hints = "/etc/freeradius/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 } Module: Linked to module rlm_realm Module: Instantiating module "suffix" from file /etc/freeradius/modules/realm realm suffix { format = "suffix" delimiter = "@" ignore_default = no ignore_null = no } Module: Linked to module rlm_files Module: Instantiating module "files" from file /etc/freeradius/modules/files files { usersfile = "/etc/freeradius/users" acctusersfile = "/etc/freeradius/acct_users" preproxy_usersfile = "/etc/freeradius/preproxy_users" compat = "no" } Module: Linked to module rlm_sql Module: Instantiating module "sql" from file /etc/freeradius/sql.conf sql { driver = "rlm_sql_mysql" server = "localhost" port = "" login = "radius" password = "radpass" radius_db = "radius" read_groups = yes sqltrace = no sqltracefile = "/var/log/freeradius/sqltrace.sql" readclients = no deletestalesessions = yes num_sql_socks = 5 lifetime = 0 max_queries = 0 sql_user_name = "%{User-Name}" default_user_profile = "" nas_query = "SELECT id, nasname, shortname, type, secret, server FROM nas" authorize_check_query = "SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id" authorize_reply_query = "SELECT id, username, attribute, value, op FROM radreply WHERE username = '%{SQL-User-Name}' ORDER BY id" authorize_group_check_query = "SELECT id, groupname, attribute, Value, op FROM radgroupcheck WHERE groupname = '%{Sql-Group}' ORDER BY id" authorize_group_reply_query = "SELECT id, groupname, attribute, value, op FROM radgroupreply WHERE groupname = '%{Sql-Group}' ORDER BY id" accounting_onoff_query = " UPDATE radacct SET acctstoptime = '%S', acctsessiontime = unix_timestamp('%S') - unix_timestamp(acctstarttime), acctterminatecause = '%{Acct-Terminate-Cause}', acctstopdelay = %{%{Acct-Delay-Time}:-0} WHERE acctstoptime IS NULL AND nasipaddress = '%{NAS-IP-Address}' AND acctstarttime <= '%S'" accounting_update_query = " UPDATE radacct SET framedipaddress = '%{Framed-IP-Address}', acctsessiontime = '%{Acct-Session-Time}', acctinputoctets = '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', acctoutputoctets = '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}' WHERE acctsessionid = '%{Acct-Session-Id}' AND username = '%{SQL-User-Name}' AND nasipaddress = '%{NAS-IP-Address}'" accounting_update_query_alt = " INSERT INTO radacct (acctsessionid, acctuniqueid, username, realm, nasipaddress, nasportid, nasporttype, acctstarttime, acctsessiontime, acctauthentic, connectinfo_start, acctinputoctets, acctoutputoctets, calledstationid, callingstationid, servicetype, framedprotocol, framedipaddress, acctstartdelay, xascendsessionsvrkey) VALUES ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', DATE_SUB('%S', INTERVAL (%{%{Acct-Session-Time}:-0} + %{%{Acct-Delay-Time}:-0}) SECOND), '%{Acct-Session-Time}', '%{Acct-Authentic}', '', '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}', '%{Called-Station-Id}', '%{Calling-Station-Id}', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', '0', '%{X-Ascend-Session-Svr-Key}')" accounting_start_query = " INSERT INTO radacct (acctsessionid, acctuniqueid, username, realm, nasipaddress, nasportid, nasporttype, acctstarttime, acctstoptime, acctsessiontime, acctauthentic, connectinfo_start, connectinfo_stop, acctinputoctets, acctoutputoctets, calledstationid, callingstationid, acctterminatecause, servicetype, framedprotocol, framedipaddress, acctstartdelay, acctstopdelay, xascendsessionsvrkey) VALUES ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', '%S', NULL, '0', '%{Acct-Authentic}', '%{Connect-Info}', '', '0', '0', '%{Called-Station-Id}', '%{Calling-Station-Id}', '', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', '%{%{Acct-Delay-Time}:-0}', '0', '%{X-Ascend-Session-Svr-Key}')" accounting_start_query_alt = " UPDATE radacct SET acctstarttime = '%S', acctstartdelay = '%{%{Acct-Delay-Time}:-0}', connectinfo_start = '%{Connect-Info}' WHERE acctsessionid = '%{Acct-Session-Id}' AND username = '%{SQL-User-Name}' AND nasipaddress = '%{NAS-IP-Address}'" accounting_stop_query = " UPDATE radacct SET acctstoptime = '%S', acctsessiontime = '%{Acct-Session-Time}', acctinputoctets = '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', acctoutputoctets = '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}', acctterminatecause = '%{Acct-Terminate-Cause}', acctstopdelay = '%{%{Acct-Delay-Time}:-0}', connectinfo_stop = '%{Connect-Info}' WHERE acctsessionid = '%{Acct-Session-Id}' AND username = '%{SQL-User-Name}' AND nasipaddress = '%{NAS-IP-Address}'" accounting_stop_query_alt = " INSERT INTO radacct (acctsessionid, acctuniqueid, username, realm, nasipaddress, nasportid, nasporttype, acctstarttime, acctstoptime, acctsessiontime, acctauthentic, connectinfo_start, connectinfo_stop, acctinputoctets, acctoutputoctets, calledstationid, callingstationid, acctterminatecause, servicetype, framedprotocol, framedipaddress, acctstartdelay, acctstopdelay) VALUES ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port}', '%{NAS-Port-Type}', DATE_SUB('%S', INTERVAL (%{%{Acct-Session-Time}:-0} + %{%{Acct-Delay-Time}:-0}) SECOND), '%S', '%{Acct-Session-Time}', '%{Acct-Authentic}', '', '%{Connect-Info}', '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}', '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}', '%{Called-Station-Id}', '%{Calling-Station-Id}', '%{Acct-Terminate-Cause}', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', '0', '%{%{Acct-Delay-Time}:-0}')" group_membership_query = "SELECT groupname FROM radusergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority" connect_failure_retry_delay = 60 simul_count_query = "" simul_verify_query = "SELECT radacctid, acctsessionid, username, nasipaddress, nasportid, framedipaddress, callingstationid, framedprotocol FROM radacct WHERE username = '%{SQL-User-Name}' AND acctstoptime IS NULL" postauth_query = "INSERT INTO radpostauth (username, pass, reply, authdate) VALUES ( '%{User-Name}', '%{%{User-Password}:-%{Chap-Password}}', '%{reply:Packet-Type}', '%S')" safe-characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /" } rlm_sql (sql): Driver rlm_sql_mysql (module rlm_sql_mysql) loaded and linked rlm_sql (sql): Attempting to connect to radius@localhost:/radius rlm_sql (sql): starting 0 rlm_sql (sql): Attempting to connect rlm_sql_mysql #0 rlm_sql_mysql: Starting connect to MySQL server for #0 rlm_sql (sql): Connected new DB handle, #0 rlm_sql (sql): starting 1 rlm_sql (sql): Attempting to connect rlm_sql_mysql #1 rlm_sql_mysql: Starting connect to MySQL server for #1 rlm_sql (sql): Connected new DB handle, #1 rlm_sql (sql): starting 2 rlm_sql (sql): Attempting to connect rlm_sql_mysql #2 rlm_sql_mysql: Starting connect to MySQL server for #2 rlm_sql (sql): Connected new DB handle, #2 rlm_sql (sql): starting 3 rlm_sql (sql): Attempting to connect rlm_sql_mysql #3 rlm_sql_mysql: Starting connect to MySQL server for #3 rlm_sql (sql): Connected new DB handle, #3 rlm_sql (sql): starting 4 rlm_sql (sql): Attempting to connect rlm_sql_mysql #4 rlm_sql_mysql: Starting connect to MySQL server for #4 rlm_sql (sql): Connected new DB handle, #4 Module: Checking preacct {...} for more modules to load Module: Linked to module rlm_acct_unique Module: Instantiating module "acct_unique" from file /etc/freeradius/modules/acct_unique acct_unique { key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port" } Module: Checking accounting {...} for more modules to load Module: Linked to module rlm_detail Module: Instantiating module "detail" from file /etc/freeradius/modules/detail detail { detailfile = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d" header = "%t" detailperm = 384 dirperm = 493 locking = no log_packet_header = no } Module: Linked to module rlm_radutmp Module: Instantiating module "radutmp" from file /etc/freeradius/modules/radutmp radutmp { filename = "/var/log/freeradius/radutmp" username = "%{User-Name}" case_sensitive = yes check_with_nas = yes perm = 384 callerid = yes } Module: Linked to module rlm_attr_filter Module: Instantiating module "attr_filter.accounting_response" from file /etc/freeradius/modules/attr_filter attr_filter attr_filter.accounting_response { attrsfile = "/etc/freeradius/attrs.accounting_response" key = "%{User-Name}" relaxed = no } Module: Checking session {...} for more modules to load Module: Checking post-proxy {...} for more modules to load Module: Checking post-auth {...} for more modules to load Module: Instantiating module "attr_filter.access_reject" from file /etc/freeradius/modules/attr_filter attr_filter attr_filter.access_reject { attrsfile = "/etc/freeradius/attrs.access_reject" key = "%{User-Name}" relaxed = no } } # modules } # server server inner-tunnel { # from file /etc/freeradius/sites-enabled/inner-tunnel modules { Module: Checking authenticate {...} for more modules to load Module: Checking authorize {...} for more modules to load Module: Checking session {...} for more modules to load Module: Checking post-proxy {...} for more modules to load Module: Checking post-auth {...} for more modules to load } # modules } # server radiusd: #### Opening IP addresses and Ports #### listen { type = "auth" ipaddr = * port = 0 } listen { type = "acct" ipaddr = * port = 0 } ... adding new socket proxy address * port 46872 Listening on authentication interface eth0 address * port 1812 Listening on accounting interface eth0 address * port 1813 Listening on proxy address * port 1814 Ready to process requests.
jakies pomysly co zrobilem nie tak???
Offline
Możesz korzystać z mac adresów przy odróżnieniu znanych komputerów (biuro) od gości.
Dla gości chyba by się pppoe z autoryzacją chap lepiej sprawdziło - o ile dostają hasło do netu.
Ewentualnie zainteresuj się Chilispotem:
http://www.chillispot.org/features.html
W radiusie przede wszystkim logi radiusa, i powywalaj wszystkie niepotrzebne i nieużywane konfigi i moduły, bo inaczej nawet za 50 lat do niczego nie dojdziesz.
Ostatnio edytowany przez Jacekalex (2013-12-18 01:09:41)
Offline
[quote=Jacekalex]Możesz korzystać z mac adresów przy odróżnieniu znanych komputerów (biuro) od gości.
Dla gości chyba by się pppoe z autoryzacją chap lepiej sprawdziło - o ile dostają hasło do netu.
Ewentualnie zainteresuj się Chilispotem:
http://www.chillispot.org/features.html
W radiusie przede wszystkim logi radiusa, i powywalaj wszystkie niepotrzebne i nieużywane konfigi i moduły, bo inaczej nawet za 50 lat do niczego nie dojdziesz.[/quote]
Już widzę jak goście jeden za drugim konfigurują PPPoE na swouch urzadzeniach :)
Najprościej mikrotik i paczka hotspot.
Offline
Dla gości z hasłem, jeśli to Linux, to Chilispot jest dokładnie do tego, i gada z Radiusem.
Offline
To moze troche objasnie wiecej bo sam juz sie zagubilem w tym wszystkim.
mam istniejace 3 sieci dla gosci w 3 budynkach w nastepujacej konfiguracji:
provider ---> modem --->router ---> swich ---> APki
APki zabezpieczone WPA personal.
mam rowniez siec biurowa, kilka PCtow, file server, drukarki
Niestety przypadlo mi niewdzieczne zadanie jak na poczatkujacego a mianowicie:
1. Musze polaczyc wszystkie 3 sieci dla gosci w jedna
2. Siec dla gosci musi miec 2 rodzaje uzytkownikow. NormalnyIoraz VIP jezeli chodzi o przydzial lacza
3. Siec biurowa musi byc podlaczona do serwera
4. Dostep przez ssh do serwera powinien byc przez kazda karte sieciowa na serwerze
5. Musze zrobic multi WAN dla gosci
To co zrobilem do tej pory
polaczylem 3 sieci gosci w jedna I wyglada to tak
provider nr1 ---> modem ---> router ---> linux ---> switch APki
Mam 6 kart sieciowych ktore w konfiguracji:
Eth0 - siec gla gosci
eth1 - provider nr1
eth2 - provider nr2 jeszcze nie skonfigurowany
eth3 - provider nr3 jeszcze nie skonfigurowany
eth4 - przyszlosciowy provider nr4
eth5 - siec biurowa
Zainstalowalem freeRADIUSa + mysql +daloradius ale mam maly problem z testowaniem polaczenia radiusa. Opisalem w poprzednim poscie.
zostal mi WAN bonding I noe mam pojecia gdzie szukac bo wszedzie jest dual WAN a ja potrzebuje triple a w przyszlosci quad. Rowniez nie moge poradzic sobie z dostepem przez ssh na eth5. Dziala tylko przez eth1.
jakies wskazowki? Od czego mam najpierw zaczac?
Multi WAN - zostawic routery I trzymac na statycznym IP czy moze lepiej pozbyc sie routerow I zrobic multi WAN na pppoe? Jaki program bedzie najlepszy w moim przypadku do multi WANa?
Ostatnio edytowany przez vocal (2013-12-18 11:29:46)
Offline
Jak goście dostają hasełko do neta?
Pytam, bo najlepiej byłboy zrobić 2 klasy adresowe, wtedy w zależności VIP czy novip, dostaje adres z puli vip lub puli novip, a prędkości i priorytety można zrobić dla każdej klasy osobno w konfigu na stałe.
Proste to i dosyć skuteczne.
Jeśli natomiast chcesz w radiusie ustalać prędkości, to musi potem albo apek, albo router rozumieć i realizować te dane przekazane przez Radiusa.
Jeśli wspiera taką zabawę, to ok, ale jak trzeba dopiero kombinować, to lepiej zrobić to na stale, tak, jak napisałem wyżej.
PPPOE może rzeczywiście być zbyt upierdliwe dla pacjentów.
Do multiWAN nie program, to nie Windows, tylko musisz zrobić trasy routingu, i ustalić przy okazji, czy ma to działać w trybie round-robin czy failover, czy trzeba się bawić w priorytety na poszczególne łącza WAN.
Tu masz opis zabawy z routingiem w Linuxie:
http://www.przybytek.net/download/2.4routing.pdf
http://bromirski.net/docs/translations/lartc-pl.html
Ma swoje lata, ale jest niezły.
Offline
dzieki za szybka odpowiedz.
Wlasciwie to nie wiem od czego zaczac?
opisalem w poprzednim poscie co chcialbym osiagnac ale mam juz taki metlik w glowie ze sie gubie we wszystkim.
klienci maja haselko z APkow bo serwer nie jest skonfigurowany jeszcze gdyz nie wiem co najlepiej zainstalowac i jak to skonfigurowac?
nie wiem czy najpierw zaczac od multi wana czy najpierw od konfigu klientow?
do tego jeszcze rzezbienie w iptables zeby miec dostep przez ssh ze wszystkich interfejsow
Offline
Jak podepniesz te wszystkie WANY, to Linux powinien automatycznie po otrzymaniu adresu IP dodać trasę routingu, być może trzeba będzie dodać trasy domyślne przez tych operatorów, i będziesz miał round-robin - najprostsza opcja.
Całość instalacji musisz sobie dokładnie przemyśleć i zaprojektować, bo na razie odstawiasz "dokręcanie śruby w maśle".
Iptables też nie jest trudny, jeśli się zna kilka podstawowych zasad, głównie to, które cele kończą (np DROP, REJECT, ACCEPT) a które nie kończą (np LOG, ULOG, SYNPROXY) przetwarzania pakietu, i zrozumieć, że kolejność reguł ma kluczowe znaczenie.
Jak to zrozumiesz, to iptables będzie dość prosty w obsłudze.
Jeśli radius ma przydzielać limity prędkości pobierając je z bazy danych,
to napisz, jaki to sprzęt te APki, i czy mają suport do radiusa, obejmujący zarządzanie pasmem.
Np MicrotTiki zazwyczaj mają, mon0wall też ma, PFSense chyba też.
Na czystym Linuxie domyślnie tego nie ma, ale pewnie można to jakoś skonfigurować i oskrypcić.
Multi WAN - zostawić routery I trzymać na statycznym IP czy może lepiej pozbyć się routerów I zrobić multi WAN na pppoe? Jaki program będzie najlepszy w moim przypadku do multi WANa?[/quote]
Ja bym zostawił te jakieśtam routery, i statyczne adresy IP.
Z kilkoma połączeniami PPPOE do dostawców netu, na jednym systemie może być całkiem wesoła jazda, jak demon pppd będzie gubił połączenie z jednym czy drugim dostawcą.
A to się czasem zdarza w każdej sieci.
Tylko w routingu przy tych routerach musiałbyś ustawić, żeby wybierał następną trasę, jak nie działa poprzednia.
Masz to opisane w tym podręczniku o routingu, który linkowałem tam gdzieś wyżej.Ostatnio edytowany przez Jacekalex (2013-12-18 16:40:27)
W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem para bellum ;) | Pozdrawiam :)
Offline
No coz. Po wielu bitwach w koncu osiagnalem to czego chcialem. Jako firewall I bonding providerow oraz load balancing uzylem Shorewall. freeRadius + mysql + chillispot dopelnia reszte. Na koniec daloradius do konfiguracji przydzialu predkosci dla poszczegolnych userow. Dziala bez zarzutu ponad 6 tygodni. Jezeli jest ktos zainteresowany podobna konfiguracja z checia podziele sie wiedza
Offline
Time (s) | Query |
---|---|
0.00012 | SET CHARSET latin2 |
0.00005 | SET NAMES latin2 |
0.00102 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.149.25.117' WHERE u.id=1 |
0.00071 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.149.25.117', 1732847509) |
0.00036 | SELECT * FROM punbb_online WHERE logged<1732847209 |
0.00039 | SELECT topic_id FROM punbb_posts WHERE id=248858 |
0.00013 | SELECT id FROM punbb_posts WHERE topic_id=24843 ORDER BY posted |
0.00061 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=24843 AND t.moved_to IS NULL |
0.00009 | SELECT search_for, replace_with FROM punbb_censoring |
0.00141 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=24843 ORDER BY p.id LIMIT 0,25 |
0.00084 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=24843 |
Total query time: 0.00573 s |