| NM-SETTINGS-KEYFILE(5) | پیکربندی | NM-SETTINGS-KEYFILE(5) |
نام (NAME)
nm-settings-keyfile - توضیحات افزونه تنظیمات keyfile
توضیحات (DESCRIPTION)
برنامه NetworkManager بر پایهی مفهوم پروفایلهای اتصال عمل میکند که حاوی پیکربندی شبکه هستند (برای جزئیات به nm-settings-nmcli(5) مراجعه کنید). این پروفایلها میتوانند در قالبهای مختلفی ذخیره شوند. NetworkManager از افزونهها برای خواندن و نوشتن دادهها استفاده میکند. افزونهها را میتوان در NetworkManager.conf(5) پیکربندی کرد.
افزونهی keyfile یک افزونهی همهمنظوره است که از تمام انواع اتصال و قابلیتهای موجود در NetworkManager پشتیبانی میکند. این فایلها دارای قالبی به سبک .ini هستند و در مسیرهای /etc/NetworkManager/system-connections/، /usr/lib/NetworkManager/system-connections/ و /run/NetworkManager/system-connections/ قرار دارند. این افزونه همواره فعال است و بهطور خودکار برای ذخیره هر اتصالی که توسط سایر افزونههای فعال پشتیبانی نمیشود استفاده خواهد شد. به دلایل امنیتی، این افزونه فایلهایی را که توسط هر کاربری غیر از 'root' قابل خواندن یا نوشتن باشند نادیده میگیرد، زیرا ممکن است کلیدهای خصوصی و گذرواژهها بهصورت متن آشکار درون فایل ذخیره شده باشند.
قالب فایل (FILE FORMAT)
قالب پیکربندی keyfile یک قالب ساده به سبک .ini است. این ساختار از بخشها (گروهها)یی از جفتهای کلید-مقدار تشکیل شده است. اطلاعات بیشتر درباره قالب عمومی keyfile را میتوانید در قالب key file در GLib[1] بیابید (خطوطی که با '#' آغاز میشوند کامنت هستند، فهرستها با نویسهی ; از هم جدا میشوند و غیره).
هر بخش متناظر با نام یک تنظیم است که در مشخصات تنظیمات (nm-settings-nmcli(5)) شرح داده شده است. هر جفت کلید/مقدار در یک بخش، یکی از ویژگیهای مشخصشده در آن سند است.
بیشتر ویژگیها با همان قالبی که در مشخصات آمده است در keyfile نوشته میشوند. با این حال، استفاده از برخی مقادیر برای انسان دشوار است، بنابراین در keyfile به روشهایی خواناتر ذخیره میشوند. این ویژگیها که با مشخصات اصلی تفاوت دارند در ادامه شرح داده شدهاند. به عنوان مثال، آدرسهای IP به صورت آرایهای از اعداد صحیح نوشته نمیشوند، بلکه به شکلی خواناتر مانند "1.2.3.4/12 1.2.3.254" ثبت میگردند. همچنین برخی از فهرستهای مقادیر پیچیده (مانند addresses، routes، routing-rules)، به جای استفاده از فهرستی جداشده با نقطهویرگول، برای هر عنصر از یک جفت کلید-مقدار استفاده میکنند که کلید آن حالت مفرد نام ویژگی به همراه یک نمایه عددی است (مانند address1، address2، ...).
کاربران میتوانند فایلهای اتصال keyfile را به صورت دستی ایجاد کرده یا تغییر دهند، حتی اگر این روش توصیه شده برای مدیریت پروفایلها نباشد. با این حال، در صورت انجام این کار، باید NetworkManager را از تغییرات اعمالشده مطلع سازند (برای مثال از طریق nmcli con (re)load).
مثالهایی از پیکربندی keyfile.
یک نمونه پیکربندی برای شبکه اترنت (ethernet): [connection] id=Main eth0 uuid=27afa607-ee36-43f0-b8c3-9d245cdc4bb3 type=802-3-ethernet autoconnect=true [ipv4] method=auto [802-3-ethernet] mac-address=00:23:5a:47:1f:71
یک نمونه پیکربندی برای WPA-EAP (پروتکل PEAP با MSCHAPv2) و گذرواژه با درخواست همیشگی (always-ask secret): [connection] id=CompanyWIFI uuid=cdac6154-a33b-4b15-9904-666772cfa5ee type=wifi autoconnect=false [wifi] ssid=CorpWLAN mode=infrastructure security=802-11-wireless-security [wifi-security] key-mgmt=wpa-eap [ipv4] method=auto [ipv6] method=auto [802-1x] eap=peap; identity=joe ca-cert=/home/joe/.cert/corp.crt phase1-peapver=1 phase2-auth=mschapv2 password-flags=2
یک نمونه پیکربندی برای openvpn: [connection] id=RedHat-openvpn uuid=7f9b3356-b210-4c0e-8123-bd116c9c280f type=vpn timestamp=1385401165 [vpn] service-type=org.freedesktop.NetworkManager.openvpn connection-type=password password-flags=3 remote=ovpn.my-company.com cipher=AES-256-CBC reneg-seconds=0 port=443 username=joe ca=/etc/openvpn/ISCA.pem tls-remote=ovpn.my-company.com [ipv6] method=auto [ipv4] method=auto ignore-auto-dns=true never-default=true
یک نمونه پیکربندی برای پل (bridge) و درگاه پل (bridge port):
[connection] [connection]
id=MainBridge id=br-port-1
uuid=171ae855-a0ab-42b6-bd0c-60f5812eea9d uuid=d6e8ae98-71f8-4b3d-9d2d-2e26048fe794
interface-name=MainBridge interface-name=em1
type=bridge type=ethernet
controller=MainBridge
[bridge] port-type=bridge
interface-name=MainBridge
یک نمونه پیکربندی برای VLAN: [connection] id=VLAN for building 4A uuid=8ce1c9e0-ce7a-4d2c-aa28-077dda09dd7e interface-name=VLAN-4A type=vlan [vlan] interface-name=VLAN-4A parent=eth0 id=4
جزئیات (DETAILS)
متغیرهای افزونهی keyfile برای اکثر ویژگیهای NetworkManager دارای نگاشت یکبهیک هستند. بدین معنا که یک ویژگی NetworkManager در keyfile به عنوان متغیری با همان نام و در همان قالب ذخیره میشود. برای این قاعده چندین استثنا وجود دارد که هدف اصلی آنها سادهتر کردن نحو keyfile برای کاربران است. استثناهایی که به طور ویژه توسط افزونهی keyfile مدیریت میشوند در ادامه فهرست شدهاند. برای اطلاع از تمام تنظیمات و ویژگیهای موجود و توضیحات آنها به nm-settings-nmcli(5) مراجعه کنید.
نامهای مستعار (Aliases). تایپ کردن یا به خاطر سپردن برخی از نامهای تنظیمات NetworkManager دشوار است. بنابراین keyfile نامهای مستعاری را ارائه میدهد که میتوان به جای نامهای اصلی از آنها استفاده کرد.
جدول ۱. تنظیم (بخش) 802-11-wireless
| ویژگی (Property) | متغیر Keyfile | قالب | توضیحات |
| ssid | string (یا فهرست بایت دهدهی - منسوخ) | شناسه SSID مربوط به شبکه Wi-Fi. مثال: ssid=Quick Net | |
| mac-address | نماد متداول ارقام شانزدهشانزدهی با دونقطه | آدرس MAC در نماد سنتی ارقام هگزادسیمال با دونقطه (مانند 00:22:68:12:79:A2)، یا فهرستی از ۶ بایت جداشده با نقطهویرگول (منسوخ) (مانند 0;34;104;18;121;162). | |
| cloned-mac-address | نماد متداول ارقام شانزدهشانزدهی با دونقطه | آدرس MAC شبیهسازیشده در نماد سنتی ارقام هگزادسیمال با دونقطه (مانند 00:22:68:12:79:B2)، یا فهرستی از ۶ بایت جداشده با نقطهویرگول (منسوخ) (مانند 0;34;104;18;121;178). | |
| mac-address-blacklist | فهرست آدرسهای MAC (جداشده با نقطهویرگول) | لیست سیاه آدرسهای MAC. مثال: mac-address-blacklist= 00:22:68:12:79:A6;00:22:68:12:79:78 | |
| mac-address-denylist | فهرست آدرسهای MAC (جداشده با نقطهویرگول) | لیست انکار (denylist) آدرسهای MAC. مثال: mac-address-denylist= 00:22:68:12:79:A6;00:22:68:12:79:78 |
جدول ۲. تنظیم (بخش) 802-3-ethernet
| ویژگی (Property) | متغیر Keyfile | قالب | توضیحات |
| mac-address | نماد متداول ارقام شانزدهشانزدهی با دونقطه | آدرس MAC در نماد سنتی ارقام هگزادسیمال با دونقطه (مانند 00:22:68:12:79:A2)، یا فهرستی از ۶ بایت جداشده با نقطهویرگول (منسوخ) (مانند 0;34;104;18;121;162) | |
| cloned-mac-address | نماد متداول ارقام شانزدهشانزدهی با دونقطه | آدرس MAC شبیهسازیشده در نماد سنتی ارقام هگزادسیمال با دونقطه (مانند 00:22:68:12:79:B2)، یا فهرستی از ۶ بایت جداشده با نقطهویرگول (منسوخ) (مانند 0;34;104;18;121;178). | |
| mac-address-blacklist | فهرست آدرسهای MAC (جداشده با نقطهویرگول) | لیست سیاه آدرسهای MAC. مثال: mac-address-blacklist= 00:22:68:12:79:A6;00:22:68:12:79:78 | |
| mac-address-denylist | فهرست آدرسهای MAC (جداشده با نقطهویرگول) | لیست انکار (denylist) آدرسهای MAC. مثال: mac-address-denylist= 00:22:68:12:79:A6;00:22:68:12:79:78 |
جدول ۳. تنظیم (بخش) bridge
| ویژگی (Property) | متغیر Keyfile | قالب | توضیحات |
| mac-address | نماد متداول ارقام شانزدهشانزدهی با دونقطه | آدرس MAC در نماد سنتی ارقام هگزادسیمال با دونقطه، یا فهرستی از ۶ بایت دهدهی جداشده با نقطهویرگول (منسوخ) مثال: mac-address=00:22:68:12:79:A2 mac-address=0;34;104;18;121;162; |
جدول ۴. تنظیم (بخش) connection
| ویژگی (Property) | متغیر Keyfile | قالب | توضیحات |
| uuid | uuid | شناسه یکتای UUID برای پروفایل اتصال. در صورت عدم تعیین، NetworkManager با درهمسازی (هش کردن) نام فایل اتصال، مقدار UUID را میسازد. مثال: uuid=7bdbe39a-126c-3f94-ac5e-8f156ed38383 |
جدول ۵. تنظیم (بخش) infiniband
| ویژگی (Property) | متغیر Keyfile | قالب | توضیحات |
| mac-address | نماد متداول ارقام شانزدهشانزدهی با دونقطه | آدرس MAC در نماد سنتی ارقام هگزادسیمال با دونقطه، یا فهرستی از ۲۰ بایت دهدهی جداشده با نقطهویرگول (منسوخ) مثال: mac-address= 80:00:00:6d:fe:80:00:00:00:00:00:00:00:02:55:00:70:33:cf:01 |
جدول ۶. تنظیم (بخش) ipv4
| ویژگی (Property) | متغیر Keyfile | قالب | توضیحات |
| dns | dns | فهرست آدرسهای IP دیاناس | فهرست سرورهای DNS. مثال: dns=1.2.3.4;8.8.8.8;8.8.4.4; |
| addresses | address1, address2, ... | address/prefix-length[,gateway] | آدرسهای استاتیک IPv4، یک آدرس به ازای هر متغیر. این متغیرها همچنین میتوانند گیتوی را پس از یک ویرگول یا نقطهویرگول در بر داشته باشند؛ با این حال توصیه میشود به جای آن از متغیر "gateway" استفاده شود. مثال: address1=192.168.100.100/24 address2=10.1.1.5/16 address1=192.168.100.100/24,192.168.100.1 |
| gateway | gateway | string | آدرس IP گیتوی به صورت یک رشته. گیتوی را میتوان در یکی از متغیرهای "address1"، "address2" و غیره نیز پس از آدرس مشخص کرد که با ویرگول یا نقطهویرگول جدا میشود (برای مثال "address1=192.168.100.1/24,192.168.100.254"). مقدار متغیر "gateway" نسبت به هر گیتوی تعیینشده در متغیرهای "address*" اولویت دارد. مثال: gateway=192.168.100.254 |
| routes | route1, route2, ... | route/plen[,gateway,metric] | فهرست مسیرهای IP. مثال: route1=8.8.8.0/24,10.1.1.1,77 route2=7.7.0.0/16 |
| routes (attributes) | route1_options, route2_options, ... | key=val[,key=val...] | صفتهای تعریفشده برای مسیرها، در صورت وجود. صفتهای پشتیبانیشده در مدخل ipv4.routes در `man nm-settings-nmcli` توضیح داده شدهاند. مثال: route1_options=mtu=1000,onlink=true |
| routing-rules | routing-rule1, routing-rule2, ... | routing rule string | قوانین مسیریابی طبق تعریف با `ip rule add`، اما با اولویت ثابت اجباری. گزینههای "lookup" و "table" از نام جدول پشتیبانی نمیکنند و فقط عدد میپذیرند. مثال: routing-rule1=priority 5 from 192.167.4.0/24 table 45 |
جدول ۷. تنظیم (بخش) ipv6
| ویژگی (Property) | متغیر Keyfile | قالب | توضیحات |
| dns | فهرست آدرسهای IP دیاناس | فهرست سرورهای DNS. مثال: dns=2001:4860:4860::8888;2001:4860:4860::8844; | |
| addresses | address1, address2, ... | address/plen[,gateway] | آدرسهای استاتیک IPv6، یک آدرس به ازای هر متغیر. این متغیرها همچنین میتوانند گیتوی را پس از یک ویرگول یا نقطهویرگول در بر داشته باشند؛ با این حال توصیه میشود به جای آن از متغیر "gateway" استفاده شود. مثال: address1=abbe::cafe/96 address2=2001::1234/56 address1=fd01::2000/64;fd01::1 |
| gateway | gateway | string | آدرس IP گیتوی به صورت یک رشته. گیتوی را میتوان در یکی از متغیرهای "address1"، "address2" و غیره نیز پس از آدرس مشخص کرد که با ویرگول یا نقطهویرگول جدا میشود (برای مثال "address1=fd01::2000/64;fd01::1"). مقدار متغیر "gateway" نسبت به هر گیتوی تعیینشده در متغیرهای "address*" اولویت دارد. مثال: gateway=abbe::1 |
| routes | route1, route2, ... | route/plen[,gateway,metric] | فهرست مسیرهای IP. مثال: route1=2001:4860:4860::/64,2620:52:0:2219:222:68ff:fe11:5403 |
| routes (attributes) | route1_options, route2_options, ... | key=val[,key=val...] | صفتهای تعریفشده برای مسیرها، در صورت وجود. صفتهای پشتیبانیشده در مدخل ipv6.routes در `man nm-settings-nmcli` توضیح داده شدهاند. مثال: route1_options=mtu=1000,onlink=true |
| routing-rules | routing-rule1, routing-rule2, ... | routing rule string | قوانین مسیریابی طبق تعریف با `ip rule add`، اما با اولویت ثابت اجباری. مثال: routing-rule1=priority 5 from 2001:4860:4860::/64 table 45 |
جدول ۸. تنظیم (بخش) serial
| ویژگی (Property) | متغیر Keyfile | قالب | توضیحات |
| parity | 'e'، 'o'، یا 'n' | بیت توازن اتصال؛ زوج (even)، فرد (odd)، یا هیچکدام (none). توجه داشته باشید که نسخههای قدیمیتر NetworkManager این مقدار را به صورت عدد صحیح ذخیره میکردند: 69 ('E') برای زوج، 111 ('o') برای فرد، یا 110 ('n') برای هیچکدام. مثال: parity=n |
جدول ۹. تنظیم (بخش) vpn
| ویژگی (Property) | متغیر Keyfile | قالب | توضیحات |
| data | متغیرهای جداگانه به نام کلیدهای دیکشنری | کلیدهای دیکشنری data مستقیماً به عنوان نام متغیرها در زیر بخش [vpn] استفاده میشوند. مثال: remote=ovpn.corp.com cipher=AES-256-CBC username=joe | |
| secrets | متغیرهای جداگانه به نام کلیدهای دیکشنری | کلیدهای دیکشنری secrets مستقیماً به عنوان نام متغیرها در زیر بخش [vpn-secrets] استفاده میشوند. مثال: password=Popocatepetl |
جدول ۱۰. تنظیم (بخش) wifi-p2p
| ویژگی (Property) | متغیر Keyfile | قالب | توضیحات |
| peer | نماد متداول ارقام شانزدهشانزدهی با دونقطه | آدرس MAC در نماد سنتی ارقام هگزادسیمال با دونقطه (مانند 00:22:68:12:79:A2)، یا فهرستی از ۶ بایت جداشده با نقطهویرگول (منسوخ) (مانند 0;34;104;18;121;162). |
جدول ۱۱. تنظیم (بخش) wpan
| ویژگی (Property) | متغیر Keyfile | قالب | توضیحات |
| mac-address | نماد متداول ارقام شانزدهشانزدهی با دونقطه | آدرس MAC در نماد ارقام هگزادسیمال با دونقطه (مانند 76:d8:9b:87:66:60:84:ee). |
پرچمهای دادههای محرمانه (Secret flags)
هر ویژگی
داده
محرمانه (secret)
در تنظیمات
NetworkManager دارای یک
ویژگی
flags وابسته
است که نحوه
مدیریت آن
داده
محرمانه را
تعیین
میکند. در
افزونهی
keyfile، مقدار
متغیر -flags یک
عدد دهدهی
(۰ - ۷) است که
از مجموع
مقادیر زیر
حاصل
میشود:
فایلها (FILES)
/etc/NetworkManager/system-connections/*
همچنین ببینید (SEE ALSO)
nm-settings-nmcli(5), nm-settings-ifcfg-rh(5), NetworkManager(8), NetworkManager.conf(5), nmcli(1), nmcli-examples(7)
یادداشتها (NOTES)
- 1.
- قالب key file در GLib
| NetworkManager 1.58.1 |