Jump to content
Калькуляторы

cisco vpdn, несколько типов пользователей...

Добрый день, уважаемые господа.

 

Хочется решить такую, казалось бы простую, задачу на базе маршрутизатора cisco 2800 серии.

Есть маршрутизатор, который внутренним интерфейсом включен в LAN и внешним в WAN. На маршрутизаторе настроен VPN (PPTP). Пользователи аутентифицируются в RADIUS и им ограничивается доступная полоса, применяются ACL итд. Пользователи подключаются извне - для доступа к ресурсам LAN из Internet и изнутри для выхода в Интернет ч-з NAT.

 

Задача: разделить пользователей на такие 3 группы-класса-категории:

1. К VPN можно подключиться только изнутри.

2. К VPN можно подключиться только снаружи.

3. Объединяет 1 и 2 пункты.

 

Простой ограничение с помощью ACL не решает задачи.

Интересно было бы использовать source IP-адрес, с какого подключается пользователь для хранения его или маски в RADIUS, но как такое сделать тоже не нашел.

 

Здравые комментарии, уточнения по теме, а особенно примеры реально работающей описанной схемы приветствуются! Чувствую что надо будет смотреть в сторону vpdn-group, но как и что именно делать так и не нашел.

 

Заранее благодарен.

Share this post


Link to post
Share on other sites

несколько vpdn-group, в каждом свой source-ip и свой темплейт со своими пулами

Share this post


Link to post
Share on other sites
несколько vpdn-group, в каждом свой source-ip и свой темплейт со своими пулами

Добавлю: к каждому Vrtual-Template создаете свою группу радиус-серверов. Сервера могут быть одни и те же, а вот ip radius source-interface - разные. Тогда на радиусе сможете отделять одних юзеров от других по NAS-IP

Share this post


Link to post
Share on other sites

все очень просто. %{Calling-Station-Id}% на радиусе проверяй. и выдавай в radreply им соответствующие полиси.

Share this post


Link to post
Share on other sites
все очень просто. %{Calling-Station-Id}% на радиусе проверяй. и выдавай в radreply им соответствующие полиси.

А поточнее и с примером конфига? Буду очень рад.

 

Share this post


Link to post
Share on other sites
А поточнее и с примером конфига? Буду очень рад.
Разжевать и в рот положить...

Направление Вам указали вполне верное. А конфиг зависит от используемого радиус-сервера...

Share this post


Link to post
Share on other sites

вот кусок с выдачей полисей и адресов, написаной нами на plpgsql функции radreply(), имхо достаточный чтобы понять принцип...

            IF (tar_t.policy_out IS NOT NULL) AND (tar_t.policy_in IS NOT NULL) THEN
                RAISE NOTICE 'lim';
                rc.id := 0;
                rc.username := username_t;
                rc.attribute := 'Cisco-AVPair';
                rc.op := '+=';
                rc.value := 'ip:sub-policy-In='||tar_t.policy_in;
                RETURN NEXT rc;
                
                rc.id := 0;
                rc.username := username_t;
                rc.attribute := 'Cisco-AVPair';
                rc.op := '+=';
                rc.value := 'ip:sub-policy-Out='||tar_t.policy_out;
                RETURN NEXT rc;
                
                IF (tar_t.ip_pool IS NOT NULL) THEN
                    RAISE NOTICE 'skip_framed_ip';
                    skip_framed_ip := true;
                    rc.id := 0;
                    rc.username := username_t;
                    rc.attribute := 'Cisco-AVPair';
                    rc.op := '+=';
                    rc.value := 'ip:addr-pool='||tar_t.ip_pool;
                    RETURN NEXT rc;
                ELSE
                    IF (NOT skip_framed_ip AND userinfo_t.fipaddress IS NOT NULL) THEN
                        rc.id := 0;
                        rc.username := username_t;
                        rc.attribute := 'Framed-Ip-Address';
                        rc.op := ':=';
                        rc.value := userinfo_t.fipaddress;
                        skip_framed_ip := true;
                        RETURN NEXT rc;
                    END IF;
                END IF;
            ELSE

конфиг, как верно заметили, зависит от используемого радиуса, получаете радиусом атрибут скармливаете его функции, выдаете полисями.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this