Failed Login Username
Failed Login Username
این یک خواستهُ منطقی برای کاربر اینترنت است. با این امکان ISP ها می توانند کاربرانی را که اعتبارشان به اتمام رسیده یا تاریخ انقضاء آنها فرا رسیده است را به سوی صفحهُ مخصوص (پشتیبانی فنی) به منظور کمک به کاربر و امکان پرداخت آنلاین سوق دهند.(تا خود کاربر بتواند ، با پرداخت آنلاین اعتبار لازم برای اتصال مجدد به اینترنت را فراهم کند.)
در این حالت اغلب به کاربران یک IP، اختصاص داده می شود که کاربر را مستقیماً به صفحهُ ویژهُ شبکه متصل می کند، سپس کاربر مرورگر خود را باز می کند و کارهای لازم برای شارژ آنلاین را انجام می دهد.
جهت راه اندازی Failed User لازم است تنظیمات خاصی در Server IBSng و Ras مورد نظر انجام شود.
Failed Login Username در نسخه C
- تنضیمات لازم در وب IBSng
- تنظیمات لازم در Ras مورد نظر
تنظیمات لازم در وب IBSng برای سرویس Failed Login Username
1-ایجاد یک IPPool جدید به نام (Faild_User ) و تعریف یک رنج IP مخصوص در آن.
Setting --> IPPool--> Add New IPPool & Setting--> IPPool--> List IPPool--> View--> Add IP To Pool
همچنین می توانید IP Pool خود را در رس خود نیز تعریف نمایید.
2- تعریف و تنظیم ( Config ) رس های خود در IBS
Setting --> Ras --> Add New Ras
3- در این مرحله در chargeهای خود قانون و یا قانون هایی را برای faild می بایست ایجاد نمایید این قوانین باید دارای اولویت بالاتری نسبت به بقیه رول ها داشته باشند همچنین در این قوانین state حتماً می بایست بر روی failed login برابر با yes باشد. همچنین در این قوانین می بایست IP Pool خود (inras IP pool یا IP Pool) و ras را مشخص نمایید.
- ترفند: شما می توانید در رس های خود یک IP Pool تعریف نمایید که نام آن در تمام رس ها مشترک باشد برای مثال نامش Failed باشد در این صورت شما می توانید یک قانون تعریف نمایید که دارای شرایط زیر باشد در این صورت نیاز نیست برای هر رس یک قانون failed تعریف نمایید.
اگر رس انخاب نشود به معنی تمام رس های شما می باشد.
همچنین می توانید در این فقط رس هاس مورد نظر را انتخاب نمایید.
Failed Login Config
در این نسخه در منو setting امکانی قرار داده شده که طبق آن می توانید تعیین نمایید در چه حالت هایی کاربر failed شود و چه پیغامی به او نمایش داده شود و یا اینکه در چه حالتی اگر کاربر failed شد چه صفحه ای نمایش داده شود.
در این قسمت دو جدول وجود دارد.
جدول Failed User Configuration
۱- Deafault URL : انتخاب یک url به عنوان url پیش فرض.
۲- Default Username :
جدول Error Actions
Error Key : در این قسمت لیست خطاهایی که می خواهید تعیین کنید failed شود یا نه را مشاهده می نمایید.
Description : در این قسمت توضیح خطای موجو در ستون error key وجود دارد.
Enabled : درصورتی که می خواهید با گرفتن خطای مورد نظر کاربر faild شود این گزینه را تیک بزنید.
Override : تعیین اینکه به کاربر در این حالت پیغام نمایش داده شود و یا لینک خاصی را نمایش دهد.
URL/MSG : وارد کردن لینک ویا پیغام مد نظر.
4- در گروه، در قسمت Flags گزینه Enable Failed Login را مقدار YES نمایید.
مراحل انجام تنظیمات سرویس Faild Login Username در نسخه های دیگر(B)
- تنظیمات لازم در وب IBSng
- تنظیمات لازم در Ras مورد نظر
تنظیمات لازم در وب IBSng برای سرویس Failed Login Username
مراحل انجام تنظیمات سرویس Faild Login Username در IBSng به صورت زیر می باشد :
1-ایجاد یک IPPool جدید به نام (Faild_User ) و تعریف یک رنج IP مخصوص در آن.
Setting --> IPPool--> Add New IPPool & Setting--> IPPool--> List IPPool--> View--> Add IP To Pool
2- تعریف و تنظیم ( Config ) یک Ras از نوع MikroTik در IBS
Setting --> Ras --> Add New Ras
3-ایجاد یک شارژ جدید به نام (Faild) برای کاربرانی که Faild می شوند.
Setting --> Charge --> Add New Charge
4-اختصاص دادن IPPool و Ras مورد نظر (که برای سرویس Faild User تعریف شده است) به شارژ مورد نظر (Faild )
Setting--> Charge --> Charge List --> View --> Edit IPPool & Ras Options
5-ایجاد گروه جدید به نام (Faild).
Group --> Add New Group
6-اختصاص دادن شارژ مورد نظر (Faild ) به گروه Faild
Group --> Group List : Select Special Group : Edit Charge Option
7-ایجاد یک کاربر جدید در گروه مورد نظر (Faild)
User--> Add New User
8-اختصاص دادن Multi Login به این کاربر ویژه ( به تعداد IP ایجاد شده در IPPool ) با ویرایش کردن گزینه Multi Login در صفحهُ اطلاعات کاربر (User Information Page ) کاربران Failed این گزینه را ویرایش نمایید
User --> Search User--> User Information Page--> Multi Login Tab
9-ثبت Username مورد نظر (faildusername) در Ras
Setting --> Ras --> Ras List : Select Special Ras: View --> Edit Ras Attribute --> failed_login_username
در ادامه، برای نمونه و تصویر سازی بهتر تنظیمات، به مراحل تعریف یک سرویس Faild Login Username در IBS توجه کنید :
ایجاد pool جدید برای کاربران Failed
(این Pool برای ارتباط کاربران Faild شده به شبکه، تنها جهت پرداخت شارژ میباشد.)
از منوی IPPool گزینه ُ Add New IPPool را انتخاب می کنیم.
پس از انتخاب گزینه Add New IPPool ، و باز شدن صفحهُ زیر، برای IPPool ، نام مناسبی را انتخاب می کنیم (Faild-Username)
پس از ایجاد IPPool ، می بایست یک رنج IP برایش تعریف کنیم تا کاربر faild شده توسط این IP ها بتواند بطور موقت به IBS و پنل مخصوص برای شارژ redirect شود.
پس از تعریف رنج IP مورد نظر می توان آن را به صورت زیر در IBS مشاهده کرد.
اضافه کردن یک Ras از نوع Mikrotik به IBS و تنظیم آن
برای این کار Add New Ras را از قسمت مورد نظر انتخاب می کنیم.
در صفحه ای که باز می شود تنظیمات زیر را انجام می دهیم.
- Ras IP : آی پی Ras مورد نظر را در این قسمت وارد می کنیم.
- Ras Description : نامی مناسب برای Ras انتخاب می کنیم. در اینجا (Faild Username)
- Ras Type : دراین قسمت باید نوع Ras که برای این سرویس Mikrotic می باشد، را انتخاب کنیم.
- Radius Secret : تعریف رمزی مشخص بین Ras مورد نظر و IBS
ایجاد شارژ جدید به نام Failed
برای این منظور ، از قسمت Charge گزینهُ Add New Charge را انتخاب می کنیم.
در صفحه ای که باز می شود، یک نام مناسب، در اینجا (Faild)، را برای Charge تعریف می کنیم.
اختصاص Ras و IPPool ساخته شده برای سرویس Faild Login Username به شارژ مورد نظر(Faild)
برای این منظور در قانون شارژ یا Charge Rule ،( بلافاصله بعد از ایجاد یک شارژ جدید، سیستم به صورت خودکار در شارژ ساخته شده، یک قانون با نام اصلی شارژ ایجاد می کند ) گزینهَ IPPool و Ras را انتخاب کرده و Edit یا ویرایش می کنیم.
در صفحه ای که باز می شود همانند شکل تغییرات لازم را انجام می دهیم.
پس از تغییرات فوق، قانون شارژ یا Charge Rule همانند شکل زیر مشاهده می شود.
ایجاد گروه به نام Failed و تخصیص شارژ مورد نظر(Faild) به این گروه
برای این منظور ، از قسمت Group، گزینهُ Add New Group را انتخاب می کنیم.پس از آن وارد صفحهُ زیر می شوید که می بایست برای گروه نام مناسبی تعریف کنید (Faild)
ایجاد یک کاربر جدید یا Add New User در گروه مورد نظر (Faild)
از منوی User گزینهُ Add New User را انتخاب می کنیم.
وارد صفحهُ زیر می شوید، در این صفحه مطابق شکل می بایست تعاریف ذیل را انجام دهید:
- تعداد کاربری را که قصد ساختن آن را دارید (در اینجا 1 مورد)
- گروهی را که کاربر به آن تعلق دارد
- اعتبار کاربر
- ISP را که کاربر و گروه در آن قرار دارد.
- پس از تعاریف فوق ، گزینهُ Internet Username را از قسمت Attribute ها انتخاب می کنیم وسپس کلید OK را می زنیم.
در صفحهُ بعد (مطابق شکل) یک نام کاربری مناسب و یک رمز عبور برای این کاربر ویژه انتخاب می کنیم.
گزینهُ Multi Login در صفحهُ User Information را ویرایش می کنیم
برای این کاربر ویژه(به تعداد کاربران failed این گزینه را ویرایش نمایید). در اینجا چون در IPPool ، تعداد 10 IP ایجاد کردیم، پس مقدار Multi Login را 10 در نظر می گیریم.
قرار دادن Username در قسمت Ras Attribute
در این قسمت برای محدود کردن کاربران failed ، از iptables استفاده می نماییم. جهت اجرای دستورات زیل باید به سرور ssh , IBSng نمایید و دستورات را اجرا نمایید.برای ssh می توانید از [putty] استفاده نمایید
- Seting Iptables :
iptables -t nat -I PREROUTING -d <Ip IBSng> -j RETURN
iptables -t nat -A PREROUTING -s <pool-Failed> -p tcp -m tcp --dport 80 -j DNAT --to-destination <Ip IBSng>:8000
iptables -t nat -A POSTROUTING -s <pool-Failed> -p udp -m udp --dport 53 -j MASQUERADE
iptables -t nat -A POSTROUTING -s <pool-Failed> -p tcp -m tcp --dport 53 -j MASQUERADE
iptables -t nat -I POSTROUTING -s <pool-Failed> -d www.pec24.com -j MASQUERADE
iptables-save > /etc/iptables
route add -net <pool-Failed> gw <ip Ras>
سپس با ویرایشگر nano فایل مقابل را ویرایش نموده وو دستور route add -net (pool-Failed) gw (ip Ras را save نمایید
nano /etc/rc.local
تنظیمات لازم در Ras مورد نظر
جهت تنظیمات Ras بایستی pool ایجاد شده را به سمت سرور route نماییم. تنظیمات مورد نظر به شرح زیل می باشد.
- میکروتیک
ip firewall mangle add chain=prerouting src-address=<pool-Failed> action=mark-routing new-routing-mark=failed ip route add dst-address=0.0.0.0/0 gateway=<Ip IBSng> routing-mark=failed
- سیسکو
conf t access-list 120 permit ip <pool-Failed> any
conf t route-map Failed-user permit 11 match ip address 120 set ip next-hop <Ip IBSng>
conf t inte ethernet0 ip policy route-map Failed-user
- در صورتی که سرور IBSng و Ras مورد نظر در یک Broadcast Domain نباشند جهت routing ها باید از Tunnel استفاده کرد.
- Seting Tunnel IBSng
ip tun add tun0 mode ipip remote <Ip RAS> local <Ip IBSng> ip addr add 192.168.253.1/30 dev tun0 ip link set tun0 up modprobe ip_gre modprobe ip_ip route add -net <pool Faile> gw tun0
بعد اجرای دستورات فوق با ویرایشگر nano فایل مقابل را ویرایش نموده ودستورات فوق را داخل آن ذخیره نمایید
nano /etc/rc.local
- Seting Tunnel Cisco
conf t interface Tunnel1 ip address 192.168.253.2 255.255.255.252 tunnel source <Ip Ras> tunnel destination <IP IBSng> tunnel mode ipip
conf t access-list 120 permit ip <pool-Failed> any
conf t route-map Failed-user permit 11 match ip address 120 set ip next-hop 192.168.253.2
conf t inte ethernet0 ip policy route-map Failed-user
- Seting Tunnel mikrotik
interface ipip add local-address=<ip ras> remote-address=<IP IBSng> disabled=no name=tun_ipip ip address add adress=192.168.253.2/30 interface=tun_ipip
ip firewall mangle add chain=prerouting src-address=<pool-Failed> action=mark-routing new-routing-mark=failed ip route add dst-address=0.0.0.0/0 gateway=192.168.253.2> routing-mark=failed
Failed Login Username در نسخه B
اين سرويس جهت ارائه امكان شارژ آنلاين به كاربراني كه اعتبارشان تمام شده است پياده سازي ميشود برا ي راه اندازي اين سرويس به صورت كلي ميتوان گفت كه تمام ترافيك كاربراني كه اعتبارشان تمام شده است، بايد از روي سرور IBSng عبور كند. همجنين سرور IBSng بايد دسترسي به پورت 443 بانك مورد نظر جهت ارائه امكان پرداخت آنلاين به كاربران، داشته باشد. براي اينكه كاربران Failed شده يا كسانيكه اعتبارشان تمام شده است با كاربراني كه اعتبار دارند جدا شوند بايد ادرسIP اختصاص داده شده به كاربران معتبر و نا معتبر متفاوت باشد. اين كار توسط IBSng و تنظيمات زير انجام ميشود:
ابتدا براي كاربراني كه به هر RAS متصل ميشوند و اعتبارشان تمام شده است، يك IP Poolمنحصر به فرد اختصاص داده ميشود.
براي اين كار لطفا از الگوي زير تبعيت كنيد هر RAS تعريف شده در IBSng در قسمت Setting > RAS List يك رديف يا Raw دارد. Pool مورد نظر را از رنج آدرس Invalid با استفاده از رديف RAS، تعريف ميكنم مثلا براي سرور RAS ايكه در رديف 1 سرور IBSng ثبت شده است رنج زير در نظر گرفته ميشود 172.30.1.0/24 و براي RASايي در رديف 3 آدرس زير 72.30.3.0/24 يعني فقط قسمت سوم آدرس تغيير ميكند نام Pool تعريف شده نيز با توجه به Description هر RAS در نظر گرفته ميشود مثلا براي RASايي با توضيحات MIKROTIK-AZADI نام Pool را براي كاربران Failed شده به شكل زير در نظر ميگيريم Failed-Pool-MIKROTIK-AZADI يعني ابتداي Description هر RAS عبارت Failed-Pool را اضافه ميكنيم
سپس يك شارژ براي كاربران Failed شده ايجاد كرده و در آن Rul هاي مختلف براي هر RAS كه در آن Pool، RAS و Max Bandwidth مشخص شده است را ايجاد ميكنيم.
براي ايجاد Charge و Rul ها هم از كليشه زير استفاده كنيد: ابتدا براي ايجاد شارژ از قسمت Setting > Charge > Add New Charge اقدام ميكنيم و نام Charge مورد نظر را Failed-Chargeميگزاريم سپس براي ايجاد Rul از قسمت Setting > Charge > Failed-Charge > Add Charge Rul اقدام ميكنيم و نام Rul را همنام Description سرور RAS مورد نظر قرار ميدهيم Rul هاي بعدي را براي RAS هاي ديگر در داخل همين Charge تعريف ميكنيم يعني در حالتي كه ما يك سرور IBSng با چندين RAS Server داريم، بايد يك Charge با چندين Rulداشته باشيم در هر Rul مقادير Max Bandwidth، IP Pool و RAS را مشخص ميكنيم Max Bandwidth را هميشه عدد 32 ميگذاريم و IP Pool و RAS متناظر همديگر را نيز انتخاب ميكنيم
سپس يك گروه با نام Failed-Group ايجاد كنيد و شارژ Failed-Charg را به همراه Credit با مقدار 1 به آن گروه اختصاص دهيد
كاربري با نام Failed-User با پسورد دلخواه بسازيد و آن را عضو گروه Failed-Group كنيد سپس كاربر Failed-User را MultiLogin كنيد
در آخر در قسمت Setting > RAS List تك تك RASها را انتخاب كرده و با انتخاب Edit RAS Attributes در Attributes هر RAS مقابل failed_login_username نام كاربر Failed-User را وارد ميكنيم
اكنون بايد تنظيمات شبكه RASو IBSng را انجام دهيم. به صورت كلي بايد گفت كه هدف از اين تنطيمات جدا كردن ترافيك كاربران Failed شده با توجه به آدرس IP آنها و انتقال ترافيك با Source Address كاربران Failed به سمت IBSng ميباشد. در IBSng بايد از دسترسي آن كاربران به اينترنت جلوگيري گردد، تمام ترافيك وب كاربران با پورت 80 به سمت صفحه Failed Login كه در IBSng و پورت 8000 قرار دارد، Redirect شود، تمام ترافيك DNS با پورت53 پروتكل UDP و TCP به سمت اينرنت اجازه عبور پيدا كند و در نهايت كاربران بتوانند به سايت بانك مورد نظر دسترسي داشته باشند.
در اين جا دو حالت وجود دارد 1- آيا در حال حاضر ترافيك كاربران پس از اتصال به RAS به سمت IBSng ارسال ميشود، و از روي IBSng به سمت اينترنت ارسال ميشود. يعني Default Gateway سرور RAS آدرس سرور IBSngاست. 2- آيا در حال حاضر ترافيك كاربران پس از اتصال به RAS مستقيما از آنجا به سمت اينترنت ارسال ميشود. يعني Default Gateway سرور RAS آدرس اينترنت است.
در حالت اول دستورات زير را پس از اتصال به Shel سيستم عامل سرور IBSng، وارد ميكنيم
iptables -t nat -I PREROUTING -d <IBSng IP Address> -j RETURN iptables -t nat -A PREROUTING -s <Failed IP Pool> -p tcp -m tcp --dport 80 -j DNAT --to-destination <IBSng IP Address>:8000 iptables -t nat -A POSTROUTING -s <Failed IP Pool> -p udp -m udp --dport 53 -j MASQUERADE iptables -t nat -A POSTROUTING -s <Failed IP Pool> -p tcp -m tcp --dport 53 -j MASQUERADE iptables -t nat -I POSTROUTING -s <Failed IP Pool> -d <Bank IP Address> -j MASQUERADE route add -net <Failed IP Pool> gw <RAS IP Address>
در حالت دوم باز هم دو وضعيت متفاوت پيش ميايد 1- آيا ادرس IP سرور RAS با آدرس IP سرور IBSng در يك subnet قرار دارد. مثلا آدرس RAS و IBSng به شكل مقابل است 172.16.16.1 و 172.16.16.2 2- آيا آدرس IP سرور RAS با آدرس IP سرور IBSng در يك Subnet قرار ندارد. مثلا آدرس RAS و IBSng به شكل مقابل است 172.16.16.1 و 192.168.1.2
در وضعيت اول از حالت دوم بايد روي RAS Server رنج IP كاربران Failed شده به صورت مجزا يه سمت سرور IBSng ارسال شود اين كار در RASهاي مختلف متفاوت است در RASهاي MIKROTIK توسط دستورات زير اين كار انجام ميشود
ip firewall mangle add chain=prerouting action=mark-routing new-routing-mark=Failed src-address=<Failed IP Pool> ip route add gateway=<IBSng IP Address> routing-mark=Failed
در RASهاي Cisco اين تنظيمات توسط دستورات زير انجام ميشود
conf t access-list 120 permit ip <Failed IP Pool> any conf t route-map Failed-user permit 11 match ip address 120 set ip next-hop <IBSng IP Address> conf t inte <Users Input Interface> ip policy route-map Failed-user
در وضعيت دوم از حالت دومبايد يك Tunnel IP-IP بين RAS server و IBSng برقرار گردد تا ترافيك كاربران Failed شده از داخل اين Tunel عبور بكند