Jump to content

Recommended Posts

Posted

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

 

Хочется решить такую, казалось бы простую, задачу на базе маршрутизатора 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, но как и что именно делать так и не нашел.

 

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

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

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

Posted

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

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

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

 

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

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

Posted

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.