yakuzzza Опубликовано 6 июля, 2009 · Жалоба Добрый день, уважаемые господа. Хочется решить такую, казалось бы простую, задачу на базе маршрутизатора 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, но как и что именно делать так и не нашел. Заранее благодарен. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ingress Опубликовано 6 июля, 2009 · Жалоба несколько vpdn-group, в каждом свой source-ip и свой темплейт со своими пулами Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Nikitin Опубликовано 7 июля, 2009 · Жалоба несколько vpdn-group, в каждом свой source-ip и свой темплейт со своими пулами Добавлю: к каждому Vrtual-Template создаете свою группу радиус-серверов. Сервера могут быть одни и те же, а вот ip radius source-interface - разные. Тогда на радиусе сможете отделять одних юзеров от других по NAS-IP Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sdw Опубликовано 7 июля, 2009 · Жалоба все очень просто. %{Calling-Station-Id}% на радиусе проверяй. и выдавай в radreply им соответствующие полиси. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
yakuzzza Опубликовано 8 июля, 2009 · Жалоба все очень просто. %{Calling-Station-Id}% на радиусе проверяй. и выдавай в radreply им соответствующие полиси. А поточнее и с примером конфига? Буду очень рад. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Stak Опубликовано 8 июля, 2009 · Жалоба А поточнее и с примером конфига? Буду очень рад.Разжевать и в рот положить...Направление Вам указали вполне верное. А конфиг зависит от используемого радиус-сервера... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sdw Опубликовано 10 июля, 2009 · Жалоба вот кусок с выдачей полисей и адресов, написаной нами на 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 конфиг, как верно заметили, зависит от используемого радиуса, получаете радиусом атрибут скармливаете его функции, выдаете полисями. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...