نحوه اتصال میکروتیک به IBSng
در شبکههایی که تعداد کاربران اینترنت زیاد است، مدیریت متمرکز کاربران، احراز هویت، کنترل پهنای باند، ثبت میزان مصرف و مدیریت Sessionها اهمیت بسیار زیادی دارد. یکی از راهکارهای رایج برای این کار، استفاده از MikroTik در کنار IBSng و پروتکل RADIUS است.
در این ساختار، میکروتیک وظیفه برقراری ارتباط کاربران، ایجاد سرویسهایی مانند PPPoE و عبور ترافیک را بر عهده دارد و IBSng برای احراز هویت کاربران، مدیریت حسابها، Accounting و اعمال سیاستهای سرویس مورد استفاده قرار میگیرد.
در این مقاله نحوه اتصال MikroTik به IBSng را مرحلهبهمرحله بررسی میکنیم و تنظیمات لازم برای RADIUS، PPPoE، Accounting، ساخت RAS، محدودیت سرعت و عیبیابی را توضیح میدهیم.
IBSng چیست؟
IBSng یک سیستم مدیریت کاربران و سرویسهای اینترنتی است که میتواند برای احراز هویت، Accounting، مدیریت کاربران و سرویسها مورد استفاده قرار گیرد.
یکی از قابلیتهای مهم IBSng استفاده از RADIUS برای ارتباط با تجهیزات شبکه مانند MikroTik است.
در این حالت اطلاعات مربوط به کاربر در IBSng قرار میگیرد و میکروتیک هنگام اتصال کاربر، اطلاعات احراز هویت را از IBSng دریافت میکند.
به زبان ساده:
MikroTik = NAS / PPPoE Server
IBSng = Authentication + Accounting + مدیریت کاربران
RADIUS چیست و چه نقشی بین MikroTik و IBSng دارد؟
RADIUS مخفف عبارت Remote Authentication Dial-In User Service است و برای Authentication، Authorization و Accounting در شبکه استفاده میشود.
در سناریوی MikroTik و IBSng، زمانی که یک کاربر قصد اتصال از طریق PPPoE را دارد، میکروتیک اطلاعات Username و Password را به سرور RADIUS ارسال میکند.
IBSng این اطلاعات را بررسی کرده و در صورت معتبر بودن کاربر، پاسخ مناسب را به MikroTik ارسال میکند.
فرآیند کلی به شکل زیر است:
User
│
│ PPPoE Username / Password
▼
MikroTik
│
│ RADIUS Authentication
▼
IBSng
│
│ Access-Accept / Reject
▼
MikroTik
│
▼
PPPoE Session
در کنار Authentication، اطلاعات مربوط به Session و مصرف نیز میتواند از طریق RADIUS Accounting به IBSng ارسال شود.
در RouterOS، سرویس PPP از RADIUS برای Authentication و Accounting پشتیبانی میکند. (MikroTik Manual)
پورتهای مورد استفاده RADIUS
در یک سناریوی استاندارد، معمولاً پورتهای زیر مورد استفاده قرار میگیرند:
| کاربرد | پروتکل | پورت |
|---|---|---|
| Authentication | UDP | 1812 |
| Accounting | UDP | 1813 |
| Disconnect Message | UDP | 1700 |
پورتهای 1812 و 1813 برای Authentication و Accounting در RADIUS استفاده میشوند. قابلیت Disconnect نیز در RouterOS از طریق RADIUS قابل استفاده است. (MikroTik Manual)
نکته مهم این است که اگر بین MikroTik و IBSng فایروال وجود دارد، باید دسترسی لازم برای این پورتها برقرار باشد.
معماری اتصال MikroTik به IBSng
برای مثال فرض کنیم شبکه ما به شکل زیر است:
| تجهیز | IP |
|---|---|
| MikroTik | 10.10.10.1 |
| IBSng | 10.10.10.2 |
| شبکه کاربران PPPoE | 10.20.20.0/24 |
| IP Pool کاربران | 10.20.20.10-10.20.20.254 |
همچنین یک Secret مشترک برای RADIUS در نظر میگیریم:
RADIUS Secret:
Change-This-Secret
در محیط واقعی باید IPها و Secret را با اطلاعات شبکه خودتان جایگزین کنید.
پیشنیازهای اتصال MikroTik به IBSng
قبل از شروع تنظیمات بهتر است موارد زیر آماده باشند:
- MikroTik با دسترسی مدیریتی
- IBSng نصب و فعال
- IP ثابت برای IBSng
- IP قابل دسترس برای MikroTik
- ارتباط شبکه بین MikroTik و IBSng
- فعال بودن سرویس RADIUS
- ایجاد RAS در IBSng
- ساخت User و سرویس در IBSng
- فعال بودن PPPoE در MikroTik
اولین تستی که باید انجام دهید، بررسی ارتباط IP بین MikroTik و IBSng است.
روی MikroTik اجرا کنید:
/ping 10.10.10.2
اگر Ping برقرار نیست، ابتدا باید Routing، VLAN، Gateway و Firewall را بررسی کنید.
مرحله اول؛ ساخت IP Pool در MikroTik
برای اختصاص IP به کاربران PPPoE ابتدا یک IP Pool ایجاد میکنیم.
از WinBox وارد مسیر زیر شوید:
IP → Pool
یک Pool جدید بسازید.
مثلاً:
Name:
pppoe-pool
Addresses:
10.20.20.10-10.20.20.254
یا از طریق Terminal:
/ip pool
add name=pppoe-pool ranges=10.20.20.10-10.20.20.254
این Pool برای اختصاص IP به کاربران PPPoE استفاده خواهد شد.
مرحله دوم؛ ساخت PPP Profile
حالا باید یک Profile برای کاربران PPPoE ایجاد کنیم.
از مسیر:
PPP → Profiles
یک Profile جدید بسازید.
برای مثال:
Name:
ibs-profile
Local Address:
10.20.20.1
Remote Address:
pppoe-pool
در صورت نیاز میتوان DNS نیز تعریف کرد.
نمونه تنظیمات CLI:
/ppp profile
add name=ibs-profile \
local-address=10.20.20.1 \
remote-address=pppoe-pool \
dns-server=1.1.1.1,8.8.8.8
یکی از نکات مهم در RouterOS این است که Attributeهایی که از RADIUS دریافت میشوند میتوانند برخی تنظیمات Profile پیشفرض را Override کنند. (MikroTik Manual)
مرحله سوم؛ ساخت PPPoE Server در MikroTik
حالا باید PPPoE Server را روی MikroTik ایجاد کنیم.
در WinBox وارد:
PPP → PPPoE Servers
شوید.
روی علامت + کلیک کنید.
برای مثال:
Service Name:
IBS-PPPoE
Interface:
ether2
Default Profile:
ibs-profile
در قسمت Authentication نیز روشهای مورد نیاز را فعال کنید.
نمونه CLI:
/interface pppoe-server server
add name=pppoe-ibs \
interface=ether2 \
service-name=IBS-PPPoE \
default-profile=ibs-profile \
authentication=pap,chap \
one-session-per-host=yes \
disabled=no
در اینجا فرض کردهایم کاربران از طریق ether2 وارد MikroTik میشوند.
اگر کاربران از طریق Bridge یا VLAN خاصی وارد میشوند، Interface مربوط به همان سناریو را انتخاب کنید.
مرحله چهارم؛ تعریف RADIUS Server در MikroTik
حالا مهمترین بخش اتصال را انجام میدهیم.
در WinBox وارد:
Radius
شوید.
یک RADIUS Server جدید اضافه کنید.
نمونه تنظیمات:
Service:
ppp
Address:
10.10.10.2
Authentication Port:
1812
Accounting Port:
1813
Secret:
Change-This-Secret
نمونه CLI:
/radius
add address=10.10.10.2 \
service=ppp \
secret="Change-This-Secret" \
authentication-port=1812 \
accounting-port=1813 \
timeout=3s
طبق مستندات فعلی MikroTik، RADIUS Client در RouterOS میتواند برای سرویس PPP استفاده شود و برای مشاهده وضعیت درخواستهای RADIUS نیز دستور /radius monitor در دسترس است. (MikroTik Manual)
مرحله پنجم؛ فعال کردن RADIUS برای PPP
اضافه کردن RADIUS Server بهتنهایی کافی نیست.
باید Authentication مربوط به PPP را نیز از طریق RADIUS فعال کنیم.
در Terminal اجرا کنید:
/ppp aaa
set use-radius=yes
برای فعال کردن Accounting نیز:
/ppp aaa
set accounting=yes
و برای دریافت اطلاعات دورهای Session:
/ppp aaa
set interim-update=1m
در نتیجه:
/ppp aaa
set use-radius=yes accounting=yes interim-update=1m
گزینه use-radius احراز هویت PPP از طریق RADIUS را فعال میکند و accounting باعث ارسال اطلاعات Accounting به RADIUS میشود. (MikroTik Help)
مرحله ششم؛ اضافه کردن MikroTik به IBSng
حالا باید MikroTik را در IBSng به عنوان RAS تعریف کنیم.
وارد پنل IBSng شوید.
در نسخههای مختلف ممکن است محل گزینهها کمی متفاوت باشد، اما مسیر رایج:
SETTING → RAS → Add New RAS
است.
اطلاعات را مشابه نمونه زیر وارد کنید:
RAS IP:
10.10.10.1
RAS Description:
MikroTik-01
RAS Type:
Mikrotik
Radius Secret:
Change-This-Secret
مهمترین نکته این قسمت، یکسان بودن RADIUS Secret است.
یعنی:
MikroTik:
Change-This-Secret
IBSng:
Change-This-Secret
اگر Secret در دو طرف متفاوت باشد، Authentication با مشکل مواجه خواهد شد.
تعریف RAS برای MikroTik و تنظیم Secret در IBSng نیز در راهنماهای موجود برای این اتصال به همین شکل انجام میشود. (novinvps.com)
مرحله هفتم؛ ساخت User در IBSng
پس از اضافه کردن RAS، باید کاربران خود را در IBSng ایجاد کنید.
برای مثال:
Username:
user01
Password:
123456
در IBSng میتوانید سرویس یا Charge مربوط به کاربر را نیز مشخص کنید.
بسته به تنظیمات IBSng، میتوان مواردی مانند:
- زمان اعتبار
- حجم مصرفی
- سرعت
- نوع سرویس
- محدودیت Session
- زمان اتصال
را برای کاربران مدیریت کرد.
در این ساختار اطلاعات کاربر در IBSng قرار دارد و MikroTik در زمان اتصال، Authentication را از RADIUS دریافت میکند.
مرحله هشتم؛ تنظیم NAT برای کاربران
اگر MikroTik Gateway اینترنت کاربران است، باید NAT نیز تنظیم شده باشد.
برای مثال اگر اینترنت از ether1 خارج میشود:
/ip firewall nat
add chain=srcnat \
src-address=10.20.20.0/24 \
out-interface=ether1 \
action=masquerade \
comment="PPPoE Users Internet NAT"
اگر خروجی اینترنت شما روی Interface دیگری است، باید همان Interface را جایگزین کنید.
این بخش مستقیماً مربوط به RADIUS نیست.
ممکن است Authentication کاملاً درست باشد، کاربر نیز Login کند، اما به دلیل NAT یا Routing اشتباه اینترنت نداشته باشد.
مرحله نهم؛ باز کردن پورتهای RADIUS در Firewall
اگر IBSng روی Linux نصب شده و Firewall فعال است، باید پورتهای RADIUS اجازه عبور داشته باشند.
حداقل:
UDP 1812
UDP 1813
بهتر است دسترسی را فقط برای IP MikroTik باز کنید.
مثلاً:
MikroTik:
10.10.10.1
IBSng:
10.10.10.2
بنابراین بهتر است فقط:
10.10.10.1 → UDP 1812
10.10.10.1 → UDP 1813
مجاز باشد.
باز کردن RADIUS برای کل اینترنت از نظر امنیتی روش مناسبی نیست.
مرحله دهم؛ تست اتصال RADIUS
بعد از انجام تنظیمات، باید ببینیم آیا MikroTik واقعاً با IBSng ارتباط برقرار میکند یا خیر.
روی MikroTik دستور زیر را اجرا کنید:
/radius monitor 0
در خروجی اطلاعاتی مانند موارد زیر مشاهده میشود:
requests
accepts
rejects
resends
timeouts
bad-replies
last-request-rtt
برای مثال:
requests: 10
accepts: 8
rejects: 2
timeouts: 0
bad-replies: 0
این اطلاعات برای عیبیابی RADIUS بسیار مفید هستند. (MikroTik Manual)
مرحله یازدهم؛ تست Login کاربر PPPoE
حالا از سمت Client یک اتصال PPPoE ایجاد کنید.
برای مثال:
Username:
user01
Password:
123456
فرآیند باید به شکل زیر انجام شود:
PPPoE Client
↓
MikroTik
↓
RADIUS Request
↓
IBSng
↓
Authentication
↓
Access-Accept
↓
MikroTik
↓
PPPoE Connected
اگر اطلاعات کاربر صحیح باشد، IBSng باید درخواست را تأیید کند و MikroTik Session PPPoE را ایجاد کند.
Accounting در IBSng چگونه کار میکند؟
یکی از مهمترین دلایل استفاده از IBSng در کنار MikroTik، ثبت اطلاعات مصرف کاربران است.
وقتی کاربر متصل میشود، MikroTik اطلاعات Session را به RADIUS ارسال میکند.
در زمان اتصال، اطلاعات مربوط به شروع Session ارسال میشود و در طول اتصال نیز در صورت فعال بودن Interim Update، اطلاعات بهروزرسانی میشود.
در پایان Session نیز اطلاعات مربوط به پایان اتصال و مصرف ارسال میشود.
به همین دلیل اگر فقط Authentication فعال باشد ولی Accounting درست کار نکند، ممکن است:
کاربر Login شود اما مصرف او در IBSng ثبت نشود.
چرا کاربر به IBSng وصل میشود اما مصرف ثبت نمیشود؟
یکی از مشکلات رایج این است که Authentication درست کار میکند اما Accounting مشکل دارد.
برای مثال:
UDP 1812 = OK
UDP 1813 = مشکل
در این حالت کاربر میتواند Login کند اما اطلاعات مصرف ممکن است به IBSng نرسد.
ابتدا بررسی کنید:
/ppp aaa print
و مطمئن شوید:
use-radius: yes
accounting: yes
همچنین پورت UDP 1813 و Firewall سرور IBSng را بررسی کنید.
اعمال محدودیت سرعت کاربران با RADIUS
یکی از قابلیتهای مهم این معماری، امکان ارسال پارامترهای سرویس از طریق RADIUS است.
در RouterOS، Attribute معروف:
Mikrotik-Rate-Limit
برای اعمال محدودیت سرعت مورد استفاده قرار میگیرد.
برای مثال میتوان بسته به ساختار سرویس، محدودیت سرعتی مانند:
10M/20M
را به کاربر اختصاص داد.
نکته مهم این است که ترتیب Upload و Download را باید مطابق منطق Rate-Limit در MikroTik تنظیم کنید و قبل از استفاده در شبکه واقعی آن را تست کنید.
RouterOS از Attributeهای RADIUS برای اعمال تنظیمات مربوط به کاربر پشتیبانی میکند و Attributeهای دریافتشده میتوانند تنظیمات Profile پیشفرض را تحت تأثیر قرار دهند. (MikroTik Manual)
قطع کردن کاربر از IBSng
در شبکههای ISP گاهی لازم است مدیر شبکه بتواند Session یک کاربر را از سمت IBSng قطع کند.
RouterOS از RADIUS Disconnect Message پشتیبانی میکند.
برای فعالسازی دریافت پیامهای ورودی RADIUS میتوان از:
/radius incoming
set accept=yes port=1700
استفاده کرد.
در این حالت باید Firewall نیز اجازه دسترسی IBSng به MikroTik روی UDP 1700 را بدهد.
بهتر است این دسترسی فقط از IP سرور IBSng مجاز باشد.
خطای رایج اول؛ اشتباه بودن RADIUS Secret
یکی از اولین مواردی که هنگام عدم اتصال باید بررسی شود، Secret است.
فرض کنید در MikroTik نوشتهاید:
123456
اما در IBSng:
1234567
در این حالت ارتباط RADIUS به درستی انجام نمیشود.
Secret باید دقیقاً یکسان باشد.
خطای رایج دوم؛ اشتباه بودن RAS IP
فرض کنید MikroTik چند IP دارد:
10.10.10.1
172.16.1.1
192.168.1.1
اگر IBSng با یک IP به عنوان RAS تعریف شده باشد اما درخواست RADIUS از IP دیگری ارسال شود، ممکن است IBSng درخواست را به عنوان RAS معتبر شناسایی نکند.
بنابراین باید مشخص شود RADIUS Request از چه IPای ارسال میشود.
در شبکههای چندمسیره میتوان Source IP مربوط به RADIUS را نیز در تنظیمات MikroTik مشخص کرد.
خطای رایج سوم؛ بسته بودن Firewall
اگر MikroTik به IBSng دسترسی دارد اما RADIUS کار نمیکند، Firewall را بررسی کنید.
مسیر ارتباط:
MikroTik
↓
UDP 1812
↓
IBSng
و:
MikroTik
↓
UDP 1813
↓
IBSng
باید باز باشد.
همچنین اگر از Disconnect استفاده میکنید:
IBSng
↓
UDP 1700
↓
MikroTik
نیز باید مجاز باشد.
بررسی Packetهای RADIUS
اگر Authentication انجام نمیشود، میتوان بررسی کرد که آیا Packetهای RADIUS اصلاً از MikroTik خارج میشوند یا خیر.
برای نمونه میتوان از ابزار Sniffer استفاده کرد:
/tool sniffer quick ip-address=10.10.10.2 port=1812,1813
اگر هیچ Packetی مشاهده نشد، باید مواردی مانند:
- تنظیمات RADIUS
- Routing
- Firewall
- سرویس PPP
- آدرس RADIUS Server
بررسی شوند.
اگر Packet ارسال میشود اما پاسخی دریافت نمیشود، باید IBSng و Firewall سمت سرور را بررسی کنید.
بررسی Bad Replies
یکی دیگر از موارد مهم در عیبیابی RADIUS، مقدار:
bad-replies
در:
/radius monitor 0
است.
اگر این مقدار افزایش پیدا کند، باید مواردی مانند:
- RADIUS Secret
- IP سرور
- IP مربوط به RAS
- تنظیمات RADIUS
را بررسی کنید.
کانفیگ نمونه کامل MikroTik برای IBSng
در یک MikroTik جدید، یک ساختار نمونه میتواند به شکل زیر باشد:
# IP Pool
/ip pool
add name=pppoe-pool ranges=10.20.20.10-10.20.20.254
# PPP Profile
/ppp profile
add name=ibs-profile \
local-address=10.20.20.1 \
remote-address=pppoe-pool \
dns-server=1.1.1.1,8.8.8.8
# PPPoE Server
/interface pppoe-server server
add name=pppoe-ibs \
interface=ether2 \
service-name=IBS-PPPoE \
default-profile=ibs-profile \
authentication=pap,chap \
one-session-per-host=yes \
disabled=no
# RADIUS
/radius
add address=10.10.10.2 \
service=ppp \
secret="Change-This-Secret" \
authentication-port=1812 \
accounting-port=1813 \
timeout=3s
# PPP AAA
/ppp aaa
set use-radius=yes \
accounting=yes \
interim-update=1m
# NAT
/ip firewall nat
add chain=srcnat \
src-address=10.20.20.0/24 \
out-interface=ether1 \
action=masquerade
توجه: این کانفیگ نمونه است و نباید بدون بررسی روی MikroTik دارای تنظیمات قبلی اجرا شود؛ زیرا ممکن است IP Pool، Profile، PPPoE Server، NAT یا RADIUS از قبل وجود داشته باشد.
ترتیب صحیح تست اتصال
برای اینکه سریعتر مشکل را پیدا کنید، بهتر است تستها را به ترتیب زیر انجام دهید:
1. بررسی Ping
MikroTik → IBSng
2. بررسی RADIUS
/radius monitor 0
3. بررسی PPP AAA
/ppp aaa print
4. بررسی RAS در IBSng
بررسی کنید:
RAS IP
RAS Type
Secret
درست باشند.
5. تست Username و Password
یک کاربر آزمایشی ایجاد کنید.
6. تست PPPoE
از Client اتصال PPPoE برقرار کنید.
7. بررسی Online User
بررسی کنید Session در MikroTik و IBSng مشاهده شود.
8. بررسی Accounting
مصرف و زمان اتصال کاربر را بررسی کنید.
نکات مهم برای شبکههای حرفهای
اگر تعداد کاربران زیاد است، بهتر است زیرساخت RADIUS را با دقت بیشتری طراحی کنید.
موارد مهم عبارتاند از:
- استفاده از IP ثابت برای IBSng
- استفاده از Source IP مشخص برای RADIUS
- محدود کردن دسترسی Firewall
- قرار دادن RADIUS در شبکه مدیریتی مناسب
- Backup منظم IBSng
- مانیتور کردن MikroTik
- بررسی Logهای RADIUS
- استفاده از Interim Update مناسب
- تست Accounting
- تست Disconnect
- جداسازی شبکه Management از شبکه کاربران در صورت امکان
همچنین بهتر است RADIUS Server مستقیماً در معرض اینترنت عمومی قرار نگیرد.
تفاوت Authentication و Accounting چیست؟
یکی از مفاهیمی که در زمان راهاندازی IBSng باید به خوبی درک شود، تفاوت Authentication و Accounting است.
Authentication
یعنی:
آیا این کاربر اجازه ورود دارد؟
مثلاً:
Username: user01
Password: 123456
IBSng بررسی میکند که اطلاعات صحیح هستند یا خیر.
Accounting
یعنی:
این کاربر چه زمانی وصل شد و چه میزان مصرف داشت؟
اطلاعاتی مانند:
- Start Session
- Stop Session
- زمان اتصال
- حجم مصرف
- Session ID
میتواند در فرآیند Accounting مورد استفاده قرار گیرد.
آیا IBSng مستقیماً جای MikroTik را میگیرد؟
خیر.
در این معماری، هرکدام وظیفه متفاوتی دارند.
MikroTik وظیفههایی مانند:
- PPPoE Server
- Routing
- NAT
- Firewall
- مدیریت ترافیک
- برقراری Session
را انجام میدهد.
IBSng نیز در سمت مدیریت کاربران و AAA قرار میگیرد و برای مواردی مانند:
- Authentication
- Accounting
- مدیریت کاربران
- مدیریت سرویس
- مدیریت اعتبار
استفاده میشود.
جمعبندی نحوه اتصال MikroTik به IBSng
برای اتصال صحیح MikroTik به IBSng باید چند بخش اصلی را به درستی پیکربندی کنید:
PPPoE Server
+
RADIUS
+
IBSng RAS
+
User / Service
+
Accounting
در MikroTik باید RADIUS برای سرویس PPP فعال شود:
/ppp aaa
set use-radius=yes
و Accounting نیز فعال باشد:
/ppp aaa
set accounting=yes
در IBSng نیز MikroTik باید به عنوان RAS تعریف شود و IP و RADIUS Secret آن با تنظیمات MikroTik مطابقت داشته باشد.
در نهایت فرآیند به شکل زیر انجام میشود:
PPPoE Client
↓
MikroTik
↓
RADIUS Authentication
↓
IBSng
↓
Access-Accept
↓
PPPoE Session
↓
Accounting
↓
IBSng
بنابراین اگر قصد دارید کاربران PPPoE را به صورت متمرکز مدیریت کنید، اتصال MikroTik و IBSng از طریق RADIUS یک معماری کاربردی برای پیادهسازی Authentication، Accounting و مدیریت سرویس کاربران است.
مهمترین نکته در زمان راهاندازی این است که فقط به Login شدن کاربر اکتفا نکنید؛ بلکه Authentication، Accounting، ثبت مصرف، اعمال محدودیت سرعت و در صورت نیاز Disconnect را نیز به صورت کامل تست کنید.
این نسخه بر اساس مستندات فعلی MikroTik و منابع آموزشی مربوط به اتصال IBSng تنظیم شده است؛ مخصوصاً بخشهای RADIUS و PPP AAA.![]()
![]()
![]()
برای مشاهده محصولات دیگر سایت ما اینجا کلیک کنید.
برای مشاهده محصولات متنوع تر به سایت NKTECH مراجعه نمایید.
برای مشاهده محصولات برند LAFAND به سایت لافند مراجعه نمایید.