LINUX.ORG.RU
решено ФорумAdmin

[AAA] radius + framed-ip-address что делать и как быть


0

0

Здраствуй уважаемый алл
имеется Сервер радиуса на дебиане, и свич 2-го уровня DLINK DES3010G.

после авторизации бросает порт в нужный влан, однако то чего добиться не удалось, а очень нужно:
а)не выдается ip по framed-ip-address и соотв остальные настроки;
б)пользователь может авторизоваться на нескольких портах одновременно, что есть вообще плохо.(usercollision никак не помогли)
в)и хотелось бы ограничить прием с конкретного ипа один ип и не более того.

вот пример конфига для юзверя, все остальное по дефолту:

steve Cleartext-Password := «test»
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-IP-Address = 192.168.1.3,
Framed-IP-Netmask = 255.255.255.0,
Framed-Route = «192.168.1.1»,
Tunnel-type = VLAN,
Tunnel-medium-type = IEEE-802,
Tunnel-Private-Group-Id = 1041,
Framed-Compression = Van-Jacobsen-TCP-IP


итого получаю
$sudo freeradius -X
rad_recv: Access-Request packet from host 10.90.90.2 port 8021, id=13, length=180
   Framed-MTU = 1466
   NAS-IP-Address = 10.90.90.2
   NAS-Identifier = «D-Link»
   User-Name = «steve»
   Service-Type = Framed-User
   NAS-Port = 4
   NAS-Port-Type = Ethernet
   NAS-Port-Id = «ether4_49»
   Called-Station-Id = «00-22-b0-5d-4b-57»
   Calling-Station-Id = «00-e0-91-34-f0-46»
   Connect-Info = «CONNECT Ethernet 2Mbps Full duplex»
   EAP-Message = 0x0202000a017374657665
   Message-Authenticator = 0xd37bb7ce7ba039bc5325b7a9381b3358
8<->8
Sending Access-Challenge of id 13 to 10.90.90.2 port 8021
   Service-Type = Framed-User
   Framed-Protocol = PPP
   Framed-IP-Address = 192.168.1.3
   Framed-IP-Netmask = 255.255.255.0
   Framed-Route = «192.168.1.1»
   Tunnel-Type:0 = VLAN
   Tunnel-Medium-Type:0 = IEEE-802
   Tunnel-Private-Group-Id:0 = «1041»
   Framed-Compression = Van-Jacobson-TCP-IP
   EAP-Message = 0x0103001604101da839e88b838d9d894cf805f2a56930
   Message-Authenticator = 0x00000000000000000000000000000000
   State = 0x3aa8a9903aabad08238a0b74477ee417
8<->8
rad_recv: Access-Request packet from host 10.90.90.2 port 8021, id=14, length=215
   Framed-MTU = 1466
   NAS-IP-Address = 10.90.90.2
   NAS-Identifier = «D-Link»
   User-Name = «steve»
   Service-Type = Framed-User
   NAS-Port = 4
   NAS-Port-Type = Ethernet
   NAS-Port-Id = «ether4_49»
   Called-Station-Id = «00-22-b0-5d-4b-57»
   Calling-Station-Id = «00-e0-91-34-f0-46»
   Connect-Info = «CONNECT Ethernet 2Mbps Full duplex»
   State = 0x3aa8a9903aabad08238a0b74477ee417
   EAP-Message = 0x0203001b0410e3e8b2996c27ca1aff35e7d4916619427374657665
   Message-Authenticator = 0xc1fff9eb5c0a5e96ae6bea005e070c6a
8<-->8
Login OK: [steve/<via Auth-Type = EAP>] (from client Dlink port 4 cli 00-e0-91-34-f0-46)
8<-->8
Sending Access-Accept of id 14 to 10.90.90.2 port 8021
   Service-Type = Framed-User
   Framed-Protocol = PPP
   Framed-IP-Address = 192.168.1.3
   Framed-IP-Netmask = 255.255.255.0
   Framed-Route = «192.168.1.1»
   Tunnel-Type:0 = VLAN
   Tunnel-Medium-Type:0 = IEEE-802
   Tunnel-Private-Group-Id:0 = «1041»
   Framed-Compression = Van-Jacobson-TCP-IP
   EAP-Message = 0x03030004
   Message-Authenticator = 0x00000000000000000000000000000000
   User-Name = «steve»
rad_recv: Accounting-Request packet from host 10.90.90.2 port 8022, id=15, length=104
   Acct-Session-Id = «000000000004»
   Acct-Status-Type = Start
   Acct-Authentic = RADIUS
   Acct-Delay-Time = 0
   NAS-Port = 4
   Calling-Station-Id = «00-E0-91-34-F0-46»
   Service-Type = Framed-User
   NAS-IP-Address = 10.90.90.2
   NAS-Identifier = «D-Link»
   User-Name = «steve»
rlm_acct_unique: Hashing 'NAS-Port = 4,Client-IP-Address = 10.90.90.2,NAS-IP-Address = 10.90.90.2,Acct-Session-Id = «000000000004»,User-Name = «steve»'
Sending Accounting-Response of id 15 to 10.90.90.2 port 8022

Настраивал свитч по вот этому мануалу:
http://www.dlink.ru/ru/faq/62/238.html

Вобщем что делать и как быть? спасайте

PS также вопрос можно ли както средствами radius получать статистику траффика на порту, пока нашел только вариант с временем.


> а)не выдается ip по framed-ip-address и соотв остальные настроки;

Либо не понимает эти атрибуты, либо просто не реализовано наверное. Не знаю что еще может быть.

PS также вопрос можно ли както средствами radius получать статистику траффика на порту, пока нашел только вариант с временем.

Отдай атрибут Acct-Interim-Interval = 60 в AccessAccept и каждую минуту будет статистика каждой из сессий. Если умеет конечно.

ZveN
()

Собственно если кому пригодится отвечаю

отвечаю на свой же вопрос.
а) свитч второго уровня не может передавать Framed-ip-address
б) так и не нашел
в) выставляется на свиче ф-ция
config 802.1x auth_mode mac_based
тогда для каждого мака авторизация будет отдельно проходить(ну а отсдова плясать можно огого)

г) статистика на порту два пути:
take the red pill :
snmpwalk -Os -c public -v 1 10.1.1.26 1.3.6.1.2.1.2.2.1.10.1
ifInOctets.1 = Counter32: 104753267

snmpwalk -Os -c public -v 1 10.1.1.26 1.3.6.1.2.1.2.2.1.16.1
ifOutOctets.1 = Counter32: 4613804

take the blue pill:

поковырявшысь в логах нашел презабавнейшую штуку:
Wed Feb 10 14:00:24 2010
Acct-Session-Id = «000000000004»
Acct-Status-Type = Interim-Update
Acct-Authentic = RADIUS
Acct-Delay-Time = 0
NAS-Port = 4
Calling-Station-Id = «00-E0-91-34-F0-46»
Service-Type = Framed-User
NAS-IP-Address = 10.90.90.2
NAS-Identifier = «D-Link»
User-Name = «steve»
Acct-Session-Time = 5399
Acct-Input-Octets = 15318745
Acct-Output-Octets = 3758734
Acct-Input-Packets = 36339
Acct-Output-Packets = 22124
Acct-Unique-Session-Id = «4c7127ea5a592c18»
Timestamp = 1265803224
Request-Authenticator = Verified

Угадайте что етсь :Acct-Input-Octets и Acct-Output-Octets?

offtop
() автор топика
Ответ на: комментарий от offtop

Если нужно выдавать адреса в зависимости от логина/пароля, посмотрите в сторону связки dhcp+radius, или просто еще одного радиуса, работающего в роли dhcp сервера. При авторизации 802.1x на радиусе можно своими скриптами ставить пометки в базе client_mac+port+ip_switch=login. А дальше их использовать для выдачи нужного адреса по дхцп.

a_andry
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.