Перейти к содержимому
Калькуляторы

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, но как и что именно делать так и не нашел.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

вот кусок с выдачей полисей и адресов, написаной нами на 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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.