ISG یک platform و یکی از قابلیتهای موجود در بعضی از روترهای سیسکو است. (علاوه بر سخت افزار نسخه IOS روتر نیز اهمیت دارد) به کمک ISG میتوان سرویسهای مختلفی را تعریف کرد و برای این سرویسها سیاستهای متفاوتی را لحاظ کرد. این سیاستها شامل سیاستهای کیفیت سرویس، اکانتینگ و … میشود.
با استفاده از ISG میتوان روتر را به نحوی پیکربندی کرد که بستههای اکانتینگ مجزا برای سرویسهای مختلف به سمت سرور AAA ارسال کند. یعنی مشخص کند میزان استفاده مشترک از هر سرویس به چه میزان بوده است. فرض کنید شما نیاز به دو سرویس متفاوت برای مشترکین به صورت زیر داشته باشید:
برای تعریف کردن دو سرویس بالا باید مصادیق سرویس LOCAL و INTERNET را مشخص کرد و مسیریاب را به نحوی پیکربندی کرد که برای هر یک از این سرویسها بسته های accounting مجزایی برای سرور AAA ارسال کند.
برای پیکربندی ISG در سیسکو ابتدا باید روتر و نسخه مناسب IOS را برای روتر خود انتخاب کنیم.
بهترین راه برای این انتخاب مراجعه به سایت سیسکو به آدرس زیر است:
http://cfn.cloudapps.cisco.com/ITDIT/CFN/jsp/by-feature-technology.jsp
در این سایت در قسمت Filter By میتوان ویژگی مورد در نظر که در اینجا ISG است را جستجو کرد.
یکی از ویژگیهای مورد نیاز ما Per-Service-Accounting است. این ویژگی را انتخاب کنید و بر روی دکمه Add کلیک کنید تا این ویژگی به پنجره Selected Features اضافه شود. سپس بر روی دکمه continue کلیک کنید.
سایت شروع به جستجوی برای نمایش imageهایی که این ویژگی را دارا میباشند میکند.
باید برای روتر خود از IOSی استفاده کنیم که در بین imageهای نمایش داده شده در این صفحه باشند. به عنوان مثال ما در اینجا در از نسخه 12.2(31) SB2 استفاده کرده ایم.
پس از مطمئن شدن از نسخه درست IOS و در صورت نیاز تغییر آن، روتر را مانند یک BRAS معمولی پیکربندی میکنیم.
hostname R4
!
aaa new-model
!
aaa authentication ppp default group radius
aaa authorization network default group radius
aaa accounting delay-start vrf default
aaa accounting suppress null-username
aaa accounting update periodic 5
aaa accounting network default start-stop group radius
!
aaa server radius dynamic-author
server-key secret_key
port 3799
auth-type any
!
aaa session-id common
!
ip cef
!
bba-group pppoe global
virtual-template 1
!
interface FastEthernet0/0
description TO-AAA-SERVER
ip address 192.168.146.10 255.255.255.0
!
interface FastEthernet1/0
description TO-PPPOE-CLIENT
no ip address
speed auto
duplex auto
pppoe enable group global
!
interface Virtual-Template1
mtu 1480
ip unnumbered FastEthernet0/0
no logging event link-status
peer default ip address pool ADSL
ppp ipcp dns 8.8.8.8
!
ip local pool ADSL 65.133.134.0 65.133.134.255
ip classless
!
ip radius source-interface FastEthernet0/0 vrf default
!
radius-server attribute 44 include-in-access-req vrf default
radius-server attribute 8 include-in-access-req
radius-server attribute 32 include-in-access-req
radius-server attribute 32 include-in-accounting-req
radius-server attribute 25 access-request include
radius-server host 192.168.146.20 auth-port 1812 acct-port 1813
radius-server retransmit 5
radius-server timeout 10
radius-server key secret
radius-server vsa send cisco-nas-port
radius-server vsa send accounting
radius-server vsa send authentication
پس از این مرحله بهتر است روتر را تست کنیم که آیا امکان اتصال به مشترکین را به صورت معمولی و قبل از تعریف سرویسها میدهد یا نه.
یک روش برای پیکربندی ISG محول کردن اکثر کارها به سرور AAA است. در این روش در روتر به ازای هر سرویس یک اکسس لیست تعریف میکنیم. این اکسس لیست معرف ترافیک مطلوب ما برای آن سرویس است.
به عنوان مثال اکسس لیست INTERNET در اینجا معرف منابع موجود در اینترنت و اکسس لیست LOCAL مشخص کننده آدرس سرورهای داخلی شبکه ما است.
ip access-list extended INTERNET
permit ip any any
ip access-list extended LOCAL
permit ip 5.5.5.0 0.0.0.255 any
permit ip any 5.5.5.0 0.0.0.255
این دو اکسس لیست بالا را در مسیریاب تعریف میکنیم. محدوده 5.5.5.0/24 در اینجا معرف سرورهای داخلی ما است.
پیکربندیها مورد نیاز در سمت روتر به پایان رسید!! بقیه کارها بایستی در سمت سرور AAA انجام شود.
در اینجا ما از FreeRADIUS به عنوان سرور AAA استفاده کرده ایم و در آن یوزر a.karimi و دو یوزر دیگر(به ازای هر سرویس یک یوزر) را به صورت زیر تعریف کرده ایم:
a.karimi Cleartext-Password := "1234"
Service-Type = "Framed-User",
Framed-Protocol = "PPP",
Cisco-Account-Info += "AINTERNET",
Cisco-Account-Info += "ALOCAL",
Cisco-AVPair = "subscriber:accounting-list=default",
Acct-Interim-Interval = 300
در تعریف یوزر a.karimi سرویسهایی که باید برای این مشترک فعال شود را لیست کرده ایم. همچنین اکانتینگ لیستی که باید برای این مشترک استفاده شود و بازه زمانی برای بسته های آپدیت اکانتینگ را مشخص کرده ایم.
INTERNET Cleartext-Password := “cisco”
Cisco-AVPair += “ip:traffic-class=input access-group name INTERNET priority 15”,
Cisco-AVPair += “ip:traffic-class=input default drop”,
Cisco-AVPair += “ip:traffic-class=output access-group name INTERNET priority 15”,
Cisco-AVPair += “ip:traffic-class=output default drop”,
Cisco-AVPair += “subscriber:accounting-list=default”,
Cisco-Service-Info := “IINTERNET”,
Cisco-Service-Info += “QU;10000000;D;25000000”,
Acct-Interim-Interval = 300
در تعریف یوزر INTERNET در واقع ویژگیهای سرویس INTERNET را مشخص کرده ایم.
از اکسس لیستی که در روتر تعریف کردیم در اینجا برای تعریف سرویس استفاده شده است.
در اینجا نیز اکانتینگ لیست و بازه زمانی برای ارسال بسته های آپدیت اکانتینگ را مشخص کرده ایم.
در اینجا پهنای باند مشترک برای این سرویس نیز مشخص شده است.
LOCAL Cleartext-Password := "cisco"
Cisco-AVPair += "ip:traffic-class=input access-group name LOCAL priority 15",
Cisco-AVPair += "ip:traffic-class=input default drop",
Cisco-AVPair += "ip:traffic-class=output access-group name LOCAL priority 15",
Cisco-AVPair += "ip:traffic-class=output default drop",
Cisco-AVPair += "subscriber:accounting-list=default",
Cisco-Service-Info := "ILOCAL",
Cisco-Service-Info += "QU;20000000;D;50000000",
Acct-Interim-Interval = 300
در تعریف یوزر LOCAL در واقع ویژگیهای سرویس LOCAL را مشخص کرده ایم.
از اکسس لیستی که در روتر تعریف کردیم در اینجا برای تعریف سرویس استفاده شده است.
در اینجا نیز اکانتینگ لیست و بازه زمانی برای ارسال بسته های آپدیت اکانتینگ را مشخص کرده ایم. همچنین پهنای باند مشترک برای این سرویس نیز مشخص شده است.
برای بررسی صحت عملکرد میتوان از فرمان زیر در مسیریاب استفاده کرد.
show subscriber session detailed
در صورتی که همه چیز به درستی انجام شده باشد خروجی این فرمان به صورت زیر خواهد بود:
Unique Session ID: 19
Identifier: a.karimi
SIP subscriber access type(s): PPPoE/PPP
Current SIP options: Req Fwding/Req Fwded
Session Up-time: 00:41:13, Last Changed: 00:41:13
Interface: Virtual-Access2.1
Policy information:
Context 65CE7984: Handle 3D00001E
AAA_id 00000012: Flow_handle 0
Authentication status: authen
Downloaded User profile, excluding services:
service-type 2 [Framed]
Framed-Protocol 1 [PPP]
ssg-account-info "AINTERNET"
ssg-account-info "ALOCAL"
accounting-list "default"
Downloaded User profile, including services:
service-type 2 [Framed]
Framed-Protocol 1 [PPP]
ssg-account-info "AINTERNET"
ssg-account-info "ALOCAL"
accounting-list "default"
traffic-class "input access-group name INTERNET priority 15"
traffic-class "input default drop"
traffic-class "output access-group name INTERNET priority 15"
traffic-class "output default drop"
ssg-service-info "IINTERNET"
ssg-service-info "QU;10000000;D;25000000"
Config history for session (recent to oldest):
Access-type: Web-service-logon Client: SM
Policy event: Apply Config Success (Service)
Profile name: INTERNET, 4 references
traffic-class "input access-group name INTERNET priority 15"
traffic-class "input default drop"
traffic-class "output access-group name INTERNET priority 15"
traffic-class "output default drop"
accounting-list "default"
ssg-service-info "IINTERNET"
ssg-service-info "QU;10000000;D;25000000"
Access-type: Web-service-logon Client: SM
Policy event: Apply Config Success (Service)
Profile name: LOCAL, 4 references
traffic-class "input access-group name LOCAL priority 15"
traffic-class "input default drop"
traffic-class "output access-group name LOCAL priority 15"
traffic-class "output default drop"
accounting-list "default"
ssg-service-info "ILOCAL"
ssg-service-info "QU;20000000;D;50000000"
Access-type: PPP Client: SM
Policy event: Process Config Connecting
Profile name: apply-config-only, 2 references
service-type 2 [Framed]
Framed-Protocol 1 [PPP]
ssg-account-info "AINTERNET"
ssg-account-info "ALOCAL"
accounting-list "default"
Active services associated with session:
name "INTERNET"
name "LOCAL"
Session inbound features:
Traffic classes:
Traffic class session ID: 20
ACL Name: LOCAL, Packets = 1000, Bytes = 100000
Traffic class session ID: 21
ACL Name: INTERNET, Packets = 670, Bytes = 67000
Default traffic is dropped
Unmatched Packets (dropped) = 0, Re-classified packets (redirected) = 0
Session outbound features:
Traffic classes:
Traffic class session ID: 20
ACL Name: LOCAL, Packets = 1000, Bytes = 100000
Traffic class session ID: 21
ACL Name: INTERNET, Packets = 670, Bytes = 37520
Default traffic is dropped
Unmatched Packets (dropped) = 0, Re-classified packets (redirected) = 0
Configuration sources associated with this session:
Service: INTERNET, Active Time = 00:41:14
AAA Service ID = 1677650772
Service: LOCAL, Active Time = 00:41:14
AAA Service ID = 1677650804
Interface: Virtual-Template1, Active Time = 00:41:14