| RLM_SQLIPPOOL_TOOL(8) | System Manager's Manual | RLM_SQLIPPOOL_TOOL(8) |
نام (NAME)
rlm_sqlippool_tool - مدیریت استخرهای آدرس IP در پایگاهداده SQL
خلاصه دستور (SYNOPSIS)
rlm_sqlippool_tool -p pool_name -s range_start -e range_end -t table_name -d dialect -f raddb_dir -i instance [-c capacity] [-x existing_ips_file]
rlm_sqlippool_tool -y pool_defs_yaml_file -t table_name -d dialect -f raddb_dir -i instance [-x existing_ips_file]
توضیحات (DESCRIPTION)
ابزار rlm_sqlippool_tool برای مدیریت نشانیهای IP در استخرهای IP پایگاهداده SQL به کار میرود که توسط FreeRADIUS استفاده میشوند. این ابزار یا دستورات SQL مناسب برای دستکاری پایگاهداده را در خروجی چاپ میکند، یا مستقیماً با پایگاهداده ارتباط برقرار کرده و جدول استخر IP را مقداردهی و پر میکند.
قالب خروجی SQL یا دستوراتی که روی پایگاهداده اجرا میشوند، بر اساس طرحوارههای (schemas) پیشفرض ippool در FreeRADIUS هستند. فیلدهایی که پر میشوند شامل pool_name و framedipaddress هستند. سایر فیلدها رها میشوند تا با مقادیر پیشفرض پایگاهداده پر شوند.
گزینهها (OPTIONS)
- -c capacity
- تعداد نشانیهای IP برای پر کردن استخر. مقدار پیشفرض ۶۵۵۳۶ یا بیشترین تعداد قابل تخصیص میان ابتدا و انتهای بازه است.
- -d dialect
- گویش (dialect) پایگاهداده SQL برای تولید خروجی.
- -e range_end
- نشانی IP انتهای بازه استخر. استفاده از نشانیهای IPv4 یا IPv6 مجاز است.
- -f raddb_dir
- پوشه حاوی پیکربندی FreeRADIUS. در صورت مشخص شدن این گزینه، ابزار rlm_sqlippool_tool پیکربندی را تجزیه کرده و تلاش میکند مستقیماً با سرور پایگاهداده مشخصشده در پیکربندی FreeRADIUS ارتباط برقرار کند.
- -i instance
- همراه با گزینه -f به کار میرود. نام نمونه (instance) ماژول sql در پیکربندی FreeRADIUS را برای تجزیه مشخص میکند. مقدار پیشفرض sql است.
- -p pool_name
- نام استخر برای مقداردهی و پر کردن.
- -s range_start
- نشانی IP ابتدای بازه استخر. استفاده از نشانیهای IPv4 یا IPv6 مجاز است.
- -t table_name
- نام جدول در پایگاهداده برای پر کردن.
- -x existing_ips_file
- فایلی حاوی نشانیهای IP موجود در استخر. استفاده از این گزینه امکان رشد کنترلشدهتر استخرهای پراکنده (sparse) را فراهم میکند.
- -y pool_defs_yaml_file
- فایلی با قالب YAML حاوی مشخصات چندین استخر.
مثالها (EXAMPLES)
برای تولید خروجی SQL با قالب MySQL برای استخری به نام local که با نشانیهای 10.0.0.1 تا 10.0.0.199 پر شده باشد:
$ rlm_sqlippool_tool -p local -s 10.0.0.1 -e 10.0.0.199 \
-t dhcpippool -d mysql
برای انجام همین کار ولی از طریق ارتباط مستقیم با ماژول SQL پیکربندیشده در FreeRADIUS زیر مسیر /etc/raddb:
$ rlm_sqlippool_tool -p local -s 10.0.0.1 -e 10.0.0.199 \
-t dhcpippool -f /etc/raddb
برای استفاده از یک فایل YAML جهت مشخص کردن بازههای استخر و تولید خروجی SQL با قالب PostgreSQL:
$ rlm_sqlippool_tool -y pools.yaml -t dhcpippool -d postgresql
قالب YAML (YAML FORMAT)
یک فایل YAML برای پر کردن چندین استخر باید به این صورت قالببندی شود:
pool_with_a_single_contiguous_range:
- start: 192.0.2.3
end: 192.0.2.250
pool_with_a_single_sparse_range:
- start: 10.10.10.0
end: 10.10.20.255
capacity: 200
pool_with_multiple_ranges:
- start: 10.10.10.1
end: 10.10.10.253
- start: 10.10.100.0
end: 10.10.199.255
capacity: 1000
v6_pool_with_contiguous_range:
- start: '2001:db8:1:2:3:4:5:10'
end: '2001:db8:1:2:3:4:5:7f'
v6_pool_with_sparse_range:
- start: '2001:db8:1:2::'
end: '2001:db8:1:2:ffff:ffff:ffff:ffff'
capacity: 200
پیشنیازها (PREREQUISITES)
برای تولید خروجی SQL قالببندیشده، ماژول Perl Template::Toolkit مورد نیاز است.
ارتباط مستقیم با پایگاههای داده با استفاده از Perl DBI انجام میشود. برای فعال شدن این قابلیت باید درایور Perl DBD متناسب نصب شده باشد.
همچنین ببینید (SEE ALSO)
radiusd.conf(5), raddb/mods-available/sql
نویسندگان (AUTHORS)
Nick Porter <nick@portercomputing.co.uk>