<FONT face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif" size=2><div>Hi all,<br><br>I would use freeradius like proxy radius. I have used freeradius like radius.<br>this is my lab:<br>STEP1: OK without freeradius<br>to start before FreeRadius, i do my radius config's cisco router and my Windows NPS radius config.<br>my client 172.25.0.11 == SSH => 172.25.0.1 (cisco) ==radius=> 172.25.0.5 (MS-NPS)<br>perfect the process work in PAP, i'm connected on router.<br><br>STEP2: KO with freeradius proxy<br>between router and MS-NPS : i add DMZ freeradius proxy<br>my client 172.25.0.11 == SSH => 172.30.0.129 (cisco) ==radius=> 172.30.0.133 (freeradius) ==radius=> 172.25.0.5 (MS-NPS)<br>sure i have changed ip client in conf ... but the problem is not here<br>sure i have not firewal ..<br>i placed tcpdump and wireshark and i discovered no packet comes out of freeradius.<br><br>Then i read wiki doc etc, i re-complied with last stable version and always same problem.<br>So i think i missed a few things, i touched nothing, just add line in proxy.conf and clients.conf<br>Is this normal in proxy mode we : ++[pap] = noop ?<br><br>another idea?<br><br>this is my log:<br><br>radiusd: FreeRADIUS Version 2.2.2, for host x86_64-redhat-linux-gnu, built on Dec  6 2013 at 15:24:31<br>Copyright (C) 1999-2013 The FreeRADIUS server project and contributors.<br>There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A<br>PARTICULAR PURPOSE.<br>You may redistribute copies of FreeRADIUS under the terms of the<br>GNU General Public License.<br>For more information about these matters, see the file named COPYRIGHT.<br>Starting - reading configuration files ...<br>including configuration file /etc/raddb/radiusd.conf<br>including configuration file /etc/raddb/proxy.conf<br>including configuration file /etc/raddb/clients.conf<br>including files in directory /etc/raddb/modules/<br>including configuration file /etc/raddb/modules/detail<br>including configuration file /etc/raddb/modules/counter<br>including configuration file /etc/raddb/modules/attr_filter<br>including configuration file /etc/raddb/modules/rediswho<br>including configuration file /etc/raddb/modules/chap<br>including configuration file /etc/raddb/modules/linelog<br>including configuration file /etc/raddb/modules/policy<br>including configuration file /etc/raddb/modules/wimax<br>including configuration file /etc/raddb/modules/inner-eap<br>including configuration file /etc/raddb/modules/smsotp<br>including configuration file /etc/raddb/modules/files<br>including configuration file /etc/raddb/modules/cache<br>including configuration file /etc/raddb/modules/mac2ip<br>including configuration file /etc/raddb/modules/exec<br>including configuration file /etc/raddb/modules/checkval<br>including configuration file /etc/raddb/modules/preprocess<br>including configuration file /etc/raddb/modules/soh<br>including configuration file /etc/raddb/modules/replicate<br>including configuration file /etc/raddb/modules/perl<br>including configuration file /etc/raddb/modules/unix<br>including configuration file /etc/raddb/modules/krb5<br>including configuration file /etc/raddb/modules/digest<br>including configuration file /etc/raddb/modules/redis<br>including configuration file /etc/raddb/modules/ldap<br>including configuration file /etc/raddb/modules/cui<br>including configuration file /etc/raddb/modules/expr<br>including configuration file /etc/raddb/modules/mschap<br>including configuration file /etc/raddb/modules/ippool<br>including configuration file /etc/raddb/modules/sql_log<br>including configuration file /etc/raddb/modules/smbpasswd<br>including configuration file /etc/raddb/modules/dynamic_clients<br>including configuration file /etc/raddb/modules/detail.log<br>including configuration file /etc/raddb/modules/detail.example.com<br>including configuration file /etc/raddb/modules/expiration<br>including configuration file /etc/raddb/modules/dhcp_sqlippool<br>including configuration file /etc/raddb/sql/mysql/ippool-dhcp.conf<br>including configuration file /etc/raddb/modules/sqlcounter_expire_on_login<br>including configuration file /etc/raddb/modules/pap<br>including configuration file /etc/raddb/modules/etc_group<br>including configuration file /etc/raddb/modules/logintime<br>including configuration file /etc/raddb/modules/otp<br>including configuration file /etc/raddb/modules/passwd<br>including configuration file /etc/raddb/modules/attr_rewrite<br>including configuration file /etc/raddb/modules/opendirectory<br>including configuration file /etc/raddb/modules/ntlm_auth<br>including configuration file /etc/raddb/modules/realm<br>including configuration file /etc/raddb/modules/acct_unique<br>including configuration file /etc/raddb/modules/pam<br>including configuration file /etc/raddb/modules/radutmp<br>including configuration file /etc/raddb/modules/sradutmp<br>including configuration file /etc/raddb/modules/echo<br>including configuration file /etc/raddb/modules/radrelay<br>including configuration file /etc/raddb/modules/mac2vlan<br>including configuration file /etc/raddb/modules/always<br>including configuration file /etc/raddb/eap.conf<br>including configuration file /etc/raddb/policy.conf<br>including files in directory /etc/raddb/sites-enabled/<br>including configuration file /etc/raddb/sites-enabled/control-socket<br>including configuration file /etc/raddb/sites-enabled/inner-tunnel<br>including configuration file /etc/raddb/sites-enabled/default<br>main {<br>        user = "radiusd"<br>        group = "radiusd"<br>        allow_core_dumps = no<br>}<br>including dictionary file /etc/raddb/dictionary<br>main {<br>        name = "radiusd"<br>        prefix = "/usr"<br>        localstatedir = "/var"<br>        sbindir = "/usr/sbin"<br>        logdir = "/var/log/radius"<br>        run_dir = "/var/run/radiusd"<br>        libdir = "/usr/lib64/freeradius"<br>        radacctdir = "/var/log/radius/radacct"<br>        hostname_lookups = no<br>        max_request_time = 30<br>        cleanup_delay = 5<br>        max_requests = 1024<br>        pidfile = "/var/run/radiusd/radiusd.pid"<br>        checkrad = "/usr/sbin/checkrad"<br>        debug_level = 0<br>        proxy_requests = yes<br> log {<br>        stripped_names = no<br>        auth = no<br>        auth_badpass = no<br>        auth_goodpass = no<br> }<br> security {<br>        max_attributes = 200<br>        reject_delay = 1<br>        status_server = yes<br> }<br>}<br>radiusd: #### Loading Realms and Home Servers ####<br> proxy server {<br>        retry_delay = 5<br>        retry_count = 3<br>        default_fallback = no<br>        dead_time = 120<br>        wake_all_if_all_dead = no<br> }<br> home_server localhost {<br>        ipaddr = 127.0.0.1<br>        port = 1812<br>        type = "auth"<br>        secret = "testing123"<br>        response_window = 20<br>        max_outstanding = 65536<br>        require_message_authenticator = yes<br>        zombie_period = 40<br>        status_check = "status-server"<br>        ping_interval = 30<br>        check_interval = 30<br>        num_answers_to_alive = 3<br>        num_pings_to_alive = 3<br>        revive_interval = 120<br>        status_check_timeout = 4<br>  coa {<br>        irt = 2<br>        mrt = 16<br>        mrc = 5<br>        mrd = 30<br>  }<br> }<br> home_server vpla107-osadi.piitagor.loc {<br>        ipaddr = 127.25.0.5<br>        port = 1645<br>        type = "auth+acct"<br>        secret = "testradius"<br>        response_window = 30<br>        max_outstanding = 65536<br>        require_message_authenticator = no<br>        zombie_period = 40<br>        status_check = "none"<br>        ping_interval = 30<br>        check_interval = 30<br>        num_answers_to_alive = 3<br>        num_pings_to_alive = 3<br>        revive_interval = 300<br>        status_check_timeout = 4<br> }<br> home_server_pool my_auth_failover {<br>        type = fail-over<br>        home_server = localhost<br> }<br> realm example.com {<br>        auth_pool = my_auth_failover<br> }<br> realm LOCAL {<br> }<br> home_server_pool piitagor_pool {<br>        type = fail-over<br>        home_server = vpla107-osadi.piitagor.loc<br> }<br> realm piitagor.loc {<br>        pool = piitagor_pool<br> }<br>radiusd: #### Loading Clients ####<br> client localhost {<br>        ipaddr = 127.0.0.1<br>        require_message_authenticator = no<br>        secret = "testing123"<br>        nastype = "other"<br> }<br> client rtr-pompiers {<br>        ipaddr = 172.30.0.129<br>        require_message_authenticator = no<br>        secret = "testradius"<br>        nastype = "cisco"<br> }<br>radiusd: #### Instantiating modules ####<br> instantiate {<br> Module: Linked to module rlm_exec<br> Module: Instantiating module "exec" from file /etc/raddb/modules/exec<br>  exec {<br>        wait = no<br>        input_pairs = "request"<br>        shell_escape = yes<br>        timeout = 10<br>  }<br> Module: Linked to module rlm_expr<br> Module: Instantiating module "expr" from file /etc/raddb/modules/expr<br> Module: Linked to module rlm_expiration<br> Module: Instantiating module "expiration" from file /etc/raddb/modules/expiration<br>  expiration {<br>        reply-message = "Password Has Expired  "<br>  }<br> Module: Linked to module rlm_logintime<br> Module: Instantiating module "logintime" from file /etc/raddb/modules/logintime<br>  logintime {<br>        reply-message = "You are calling outside your allowed timespan  "<br>        minimum-timeout = 60<br>  }<br> }<br>radiusd: #### Loading Virtual Servers ####<br>server { # from file /etc/raddb/radiusd.conf<br> modules {<br>  Module: Creating Auth-Type = digest<br>  Module: Creating Post-Auth-Type = REJECT<br> Module: Checking authenticate {...} for more modules to load<br> Module: Linked to module rlm_pap<br> Module: Instantiating module "pap" from file /etc/raddb/modules/pap<br>  pap {<br>        encryption_scheme = "auto"<br>        auto_header = no<br>  }<br> Module: Linked to module rlm_chap<br> Module: Instantiating module "chap" from file /etc/raddb/modules/chap<br> Module: Linked to module rlm_mschap<br> Module: Instantiating module "mschap" from file /etc/raddb/modules/mschap<br>  mschap {<br>        use_mppe = yes<br>        require_encryption = no<br>        require_strong = no<br>        with_ntdomain_hack = no<br>        allow_retry = yes<br>  }<br> Module: Linked to module rlm_digest<br> Module: Instantiating module "digest" from file /etc/raddb/modules/digest<br> Module: Linked to module rlm_unix<br> Module: Instantiating module "unix" from file /etc/raddb/modules/unix<br>  unix {<br>        radwtmp = "/var/log/radius/radwtmp"<br>  }<br> Module: Linked to module rlm_eap<br> Module: Instantiating module "eap" from file /etc/raddb/eap.conf<br>  eap {<br>        default_eap_type = "md5"<br>        timer_expire = 60<br>        ignore_unknown_eap_types = no<br>        cisco_accounting_username_bug = no<br>        max_sessions = 4096<br>  }<br> Module: Linked to sub-module rlm_eap_md5<br> Module: Instantiating eap-md5<br> Module: Linked to sub-module rlm_eap_leap<br> Module: Instantiating eap-leap<br> Module: Linked to sub-module rlm_eap_gtc<br> Module: Instantiating eap-gtc<br>   gtc {<br>        challenge = "Password: "<br>        auth_type = "PAP"<br>   }<br> Module: Linked to sub-module rlm_eap_tls<br> Module: Instantiating eap-tls<br>   tls {<br>        rsa_key_exchange = no<br>        dh_key_exchange = yes<br>        rsa_key_length = 512<br>        dh_key_length = 512<br>        verify_depth = 0<br>        CA_path = "/etc/raddb/certs"<br>        pem_file_type = yes<br>        private_key_file = "/etc/raddb/certs/server.pem"<br>        certificate_file = "/etc/raddb/certs/server.pem"<br>        CA_file = "/etc/raddb/certs/ca.pem"<br>        private_key_password = "whatever"<br>        dh_file = "/etc/raddb/certs/dh"<br>        fragment_size = 1024<br>        include_length = yes<br>        check_crl = no<br>        cipher_list = "DEFAULT"<br>        ecdh_curve = "prime256v1"<br>    cache {<br>        enable = no<br>        lifetime = 24<br>        max_entries = 255<br>    }<br>    verify {<br>    }<br>    ocsp {<br>        enable = no<br>        override_cert_url = yes<br>        url = "http://127.0.0.1/ocsp/"<br>        use_nonce = yes<br>        timeout = 0<br>        softfail = no<br>    }<br>   }<br> Module: Linked to sub-module rlm_eap_ttls<br> Module: Instantiating eap-ttls<br>   ttls {<br>        default_eap_type = "md5"<br>        copy_request_to_tunnel = no<br>        use_tunneled_reply = no<br>        virtual_server = "inner-tunnel"<br>        include_length = yes<br>   }<br> Module: Linked to sub-module rlm_eap_peap<br> Module: Instantiating eap-peap<br>   peap {<br>        default_eap_type = "mschapv2"<br>        copy_request_to_tunnel = no<br>        use_tunneled_reply = no<br>        proxy_tunneled_request_as_eap = yes<br>        virtual_server = "inner-tunnel"<br>        soh = no<br>   }<br> Module: Linked to sub-module rlm_eap_mschapv2<br> Module: Instantiating eap-mschapv2<br>   mschapv2 {<br>        with_ntdomain_hack = no<br>        send_error = no<br>   }<br> Module: Checking authorize {...} for more modules to load<br> Module: Linked to module rlm_preprocess<br> Module: Instantiating module "preprocess" from file /etc/raddb/modules/preprocess<br>  preprocess {<br>        huntgroups = "/etc/raddb/huntgroups"<br>        hints = "/etc/raddb/hints"<br>        with_ascend_hack = no<br>        ascend_channels_per_line = 23<br>        with_ntdomain_hack = no<br>        with_specialix_jetstream_hack = no<br>        with_cisco_vsa_hack = no<br>        with_alvarion_vsa_hack = no<br>  }<br>reading pairlist file /etc/raddb/huntgroups<br>reading pairlist file /etc/raddb/hints<br> Module: Linked to module rlm_realm<br> Module: Instantiating module "suffix" from file /etc/raddb/modules/realm<br>  realm suffix {<br>        format = "suffix"<br>        delimiter = "@"<br>        ignore_default = no<br>        ignore_null = no<br>  }<br> Module: Linked to module rlm_files<br> Module: Instantiating module "files" from file /etc/raddb/modules/files<br>  files {<br>        usersfile = "/etc/raddb/users"<br>        acctusersfile = "/etc/raddb/acct_users"<br>        preproxy_usersfile = "/etc/raddb/preproxy_users"<br>        compat = "no"<br>  }<br>reading pairlist file /etc/raddb/users<br>reading pairlist file /etc/raddb/acct_users<br>reading pairlist file /etc/raddb/preproxy_users<br> Module: Checking preacct {...} for more modules to load<br> Module: Linked to module rlm_acct_unique<br> Module: Instantiating module "acct_unique" from file /etc/raddb/modules/acct_unique<br>  acct_unique {<br>        key = "User-Name, Acct-Session-Id, NAS-IP-Address, NAS-Identifier, NAS-Port"<br>  }<br> Module: Checking accounting {...} for more modules to load<br> Module: Linked to module rlm_detail<br> Module: Instantiating module "detail" from file /etc/raddb/modules/detail<br>  detail {<br>        detailfile = "/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d"<br>        header = "%t"<br>        detailperm = 384<br>        dirperm = 493<br>        locking = no<br>        log_packet_header = no<br>  }<br> Module: Linked to module rlm_attr_filter<br> Module: Instantiating module "attr_filter.accounting_response" from file /etc/raddb/modules/attr_filter<br>  attr_filter attr_filter.accounting_response {<br>        attrsfile = "/etc/raddb/attrs.accounting_response"<br>        key = "%{User-Name}"<br>        relaxed = no<br>  }<br>reading pairlist file /etc/raddb/attrs.accounting_response<br> Module: Checking session {...} for more modules to load<br> Module: Linked to module rlm_radutmp<br> Module: Instantiating module "radutmp" from file /etc/raddb/modules/radutmp<br>  radutmp {<br>        filename = "/var/log/radius/radutmp"<br>        username = "%{User-Name}"<br>        case_sensitive = yes<br>        check_with_nas = yes<br>        perm = 384<br>        callerid = yes<br>  }<br> Module: Checking post-proxy {...} for more modules to load<br> Module: Checking post-auth {...} for more modules to load<br> Module: Instantiating module "attr_filter.access_reject" from file /etc/raddb/modules/attr_filter<br>  attr_filter attr_filter.access_reject {<br>        attrsfile = "/etc/raddb/attrs.access_reject"<br>        key = "%{User-Name}"<br>        relaxed = no<br>  }<br>reading pairlist file /etc/raddb/attrs.access_reject<br> } # modules<br>} # server<br>server inner-tunnel { # from file /etc/raddb/sites-enabled/inner-tunnel<br> modules {<br> Module: Checking authenticate {...} for more modules to load<br> Module: Checking authorize {...} for more modules to load<br> Module: Checking session {...} for more modules to load<br> Module: Checking post-proxy {...} for more modules to load<br> Module: Checking post-auth {...} for more modules to load<br> } # modules<br>} # server<br>radiusd: #### Opening IP addresses and Ports ####<br>listen {<br>        type = "auth"<br>        ipaddr = *<br>        port = 0<br>}<br>listen {<br>        type = "acct"<br>        ipaddr = *<br>        port = 0<br>}<br>listen {<br>        type = "control"<br> listen {<br>        socket = "/var/run/radiusd/radiusd.sock"<br> }<br>}<br>listen {<br>        type = "auth"<br>        ipaddr = 127.0.0.1<br>        port = 18120<br>}<br> ... adding new socket proxy address * port 49999<br> ... adding new socket proxy address * port 35861<br> ... adding new socket proxy address * port 59015<br>Listening on authentication address * port 1812<br>Listening on accounting address * port 1813<br>Listening on command file /var/run/radiusd/radiusd.sock<br>Listening on authentication address 127.0.0.1 port 18120 as server inner-tunnel<br>Listening on proxy address * port 1814<br>Ready to process requests.<br><br><br><br><br><br><br><br>rad_recv: Access-Request packet from host 172.30.0.129 port 21646, id=36, length=100<br>        User-Name = "siquet_jjs@piitagor.loc"<br>        User-Password = "mypass"<br>        NAS-Port = 6<br>        NAS-Port-Id = "tty6"<br>        NAS-Port-Type = Virtual<br>        Calling-Station-Id = "172.25.0.11"<br>        NAS-IP-Address = 172.30.0.129<br># Executing section authorize from file /etc/raddb/sites-enabled/default<br>+group authorize {<br>++[preprocess] = ok<br>++[chap] = noop<br>++[mschap] = noop<br>++[digest] = noop<br>[suffix] Looking up realm "piitagor.loc" for User-Name = "siquet_jjs@piitagor.loc"<br>[suffix] Found realm "piitagor.loc"<br>[suffix] Adding Stripped-User-Name = "siquet_jjs"<br>[suffix] Adding Realm = "piitagor.loc"<br>[suffix] Proxying request from user siquet_jjs to realm piitagor.loc<br>[suffix] Preparing to proxy authentication request to realm "piitagor.loc"<br>++[suffix] = updated<br>[eap] No EAP-Message, not doing EAP<br>++[eap] = noop<br>++[files] = noop<br>++[expiration] = noop<br>++[logintime] = noop<br>++[pap] = noop<br>+} # group authorize = updated<br>  WARNING: Empty pre-proxy section.  Using default return values.<br>Sending Access-Request of id 235 to 127.25.0.5 port 1645<br>        User-Name = "siquet_jjs"<br>        User-Password = "mypass"<br>        NAS-Port = 6<br>        NAS-Port-Id = "tty6"<br>        NAS-Port-Type = Virtual<br>        Calling-Station-Id = "172.25.0.11"<br>        NAS-IP-Address = 172.30.0.129<br>        Proxy-State = 0x3336<br>Proxying request 0 to home server 127.25.0.5 port 1645<br>Sending Access-Request of id 235 to 127.25.0.5 port 1645<br>        User-Name = "siquet_jjs"<br>        User-Password = "mypass"<br>        NAS-Port = 6<br>        NAS-Port-Id = "tty6"<br>        NAS-Port-Type = Virtual<br>        Calling-Station-Id = "172.25.0.11"<br>        NAS-IP-Address = 172.30.0.129<br>        Proxy-State = 0x3336<br>Going to the next request<br>Waking up in 0.9 seconds.<br>Waking up in 28.9 seconds.<br>rad_recv: Access-Request packet from host 172.30.0.129 port 21646, id=36, length=100<br>Sending duplicate proxied request to home server 127.25.0.5 port 1645 - ID: 235<br>Sending Access-Request of id 235 to 127.25.0.5 port 1645<br>        User-Name = "siquet_jjs"<br>        User-Password = "mypass"<br>        NAS-Port = 6<br>        NAS-Port-Id = "tty6"<br>        NAS-Port-Type = Virtual<br>        Calling-Station-Id = "172.25.0.11"<br>        NAS-IP-Address = 172.30.0.129<br>        Proxy-State = 0x3336<br>Waking up in 25.2 seconds.<br>rad_recv: Access-Request packet from host 172.30.0.129 port 21646, id=36, length=100<br>Sending duplicate proxied request to home server 127.25.0.5 port 1645 - ID: 235<br>Sending Access-Request of id 235 to 127.25.0.5 port 1645<br>        User-Name = "siquet_jjs"<br>        User-Password = "mypass"<br>        NAS-Port = 6<br>        NAS-Port-Id = "tty6"<br>        NAS-Port-Type = Virtual<br>        Calling-Station-Id = "172.25.0.11"<br>        NAS-IP-Address = 172.30.0.129<br>        Proxy-State = 0x3336<br>Waking up in 20.8 seconds.<br>rad_recv: Access-Request packet from host 172.30.0.129 port 21646, id=36, length=100<br>Sending duplicate proxied request to home server 127.25.0.5 port 1645 - ID: 235<br>Sending Access-Request of id 235 to 127.25.0.5 port 1645<br>        User-Name = "siquet_jjs"<br>        User-Password = "mypass"<br>        NAS-Port = 6<br>        NAS-Port-Id = "tty6"<br>        NAS-Port-Type = Virtual<br>        Calling-Station-Id = "172.25.0.11"<br>        NAS-IP-Address = 172.30.0.129<br>        Proxy-State = 0x3336<br>Waking up in 16.2 seconds.<br>Cleaning up request 0 ID 36 with timestamp +79<br>Marking home server 127.25.0.5 port 1645 as zombie (it looks like it is dead).<br>Ready to process requests.<br><br><div>Best regards,<br><br>Jean-Jacques SIQUET<br><br></div></div></FONT>Les informations figurant sur cet e-mail ont un caractère strictement confidentiel et sont exclusivement adressées au destinataire mentionné ci-dessus.Tout usage, reproduction ou divulgation de cet e-mail est strictement interdit si vous n'en êtes pas le destinataire.Dans ce cas, veuillez nous en avertir immédiatement par la même voie et détruire l'original. Merci <br />