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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-12-16 19:51:53

  vocal - Użytkownik

vocal
Użytkownik
Zarejestrowany: 2013-12-11

freeRADIUS

Czy freeRADIUS umozliwia przydzial predkosci polaczenia dla poszczegolnych uzytkownikow? Czy konfigurujac freeRADIUS musze wylaczyc dhcp skoro freeRADIUS oferuje dhcp?

Offline

 

#2  2013-12-17 00:34:17

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: freeRADIUS

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
    Framed-IP-Address = 192.168.2.229
    Framed-IP-Netmask = 255.255.255.0

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

 

#3  2013-12-17 12:48:43

  vocal - Użytkownik

vocal
Użytkownik
Zarejestrowany: 2013-12-11

Re: freeRADIUS

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

 

#4  2013-12-17 12:50:59

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: freeRADIUS

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)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#5  2013-12-17 15:25:25

  vocal - Użytkownik

vocal
Użytkownik
Zarejestrowany: 2013-12-11

Re: freeRADIUS

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

 

#6  2013-12-17 22:32:43

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: freeRADIUS

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)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#7  2013-12-17 23:38:51

  vocal - Użytkownik

vocal
Użytkownik
Zarejestrowany: 2013-12-11

Re: freeRADIUS

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

Kod:

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

Kod:

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

 

#8  2013-12-18 00:24:29

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: freeRADIUS

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)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#9  2013-12-18 01:12:08

  zlyZwierz - Moderator

zlyZwierz
Moderator
Zarejestrowany: 2005-02-18
Serwis

Re: freeRADIUS

Jacekalex napisał(-a):

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.

Już widzę jak goście jeden za drugim konfigurują PPPoE na swouch urzadzeniach :)
Najprościej mikrotik i paczka hotspot.

Offline

 

#10  2013-12-18 01:17:27

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: freeRADIUS

Dla gości z hasłem, jeśli to Linux, to Chilispot jest dokładnie do tego, i gada z Radiusem.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#11  2013-12-18 11:22:05

  vocal - Użytkownik

vocal
Użytkownik
Zarejestrowany: 2013-12-11

Re: freeRADIUS

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

 

#12  2013-12-18 14:17:06

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: freeRADIUS

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.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#13  2013-12-18 14:35:32

  vocal - Użytkownik

vocal
Użytkownik
Zarejestrowany: 2013-12-11

Re: freeRADIUS

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

 

#14  2013-12-18 16:29:15

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: freeRADIUS

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?

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

 

#15  2014-02-09 22:41:53

  vocal - Użytkownik

vocal
Użytkownik
Zarejestrowany: 2013-12-11

Re: freeRADIUS

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

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)