'\" t .nh .TH podman-network.unit 5 .SH "نام (NAME)" podman-network.unit \- فایل‌های واحد systemd برای مدیریت شبکه‌های پادمن با استفاده از Quadlet .SH "خلاصه دستور (SYNOPSIS)" \fIname\fP\&.network .SH "توضیحات (DESCRIPTION)" فایل‌های شبکه با پسوند \fB\&.network\fR نام‌گذاری می‌شوند و شامل بخش \fB[Network]\fR هستند که شبکه نام‌گذاری‌شده‌ی پادمن را توصیف می‌کند. سرویس ایجادشده یک دستور یک‌باره است که از وجود شبکه روی میزبان اطمینان حاصل کرده و در صورت نیاز آن را ایجاد می‌کند. .PP به‌طور پیش‌فرض، شبکه پادمن هم‌نام با واحد خواهد بود اما با پیشوند \fBsystemd-\fR؛ یعنی برای یک فایل شبکه به نام \fB$NAME.network\fR، شبکه ایجادشده پادمن \fBsystemd-$NAME\fR نامیده می‌شود و فایل سرویس ایجادشده \fB$NAME-network.service\fR خواهد بود. گزینه \fBNetworkName\fR اجازه می‌دهد این نام پیش‌فرض با یک نام ارائه‌شده توسط کاربر بازنویسی شود. .PP لطفاً توجه داشته باشید که متوقف کردن سرویس مربوطه به‌طور پیش‌فرض شبکه پادمن را حذف نمی‌کند - این رفتار را می‌توان با گزینه \fBNetworkDeleteOnStop=true\fR بازنویسی کرد. .PP علاوه بر این، به‌روزرسانی یک شبکه موجود پشتیبانی نمی‌شود. برای به‌روزرسانی پارامترهای شبکه، ابتدا باید شبکه پادمن را به‌صورت دستی حذف کرده و سپس سرویس را ری‌استارت کنید. .PP استفاده از واحدهای شبکه به کانتینرها اجازه می‌دهد به شبکه‌هایی که به‌طور خودکار از پیش ایجاد شده‌اند وابسته باشند. این موضوع به‌ویژه هنگام استفاده از گزینه‌های خاص برای کنترل نحوه ساخت شبکه جالب توجه است، زیرا در غیر این صورت پادمن شبکه‌ها را با گزینه‌های پیش‌فرض ایجاد می‌کند. .SH "خلاصه کاربرد (USAGE SUMMARY)" فایل \fB\&.network\fR هنگام بوت یا بارگذاری مجدد توسط \fBpodman-system-generator\fR پردازش شده و یک \fB\&.service\fR در systemd ایجاد می‌کند که دستور \fBpodman network create\fR را اجرا می‌نماید. .SH "گزینه‌ها (OPTIONS)" گزینه‌های معتبر برای \fB[Network]\fR در زیر فهرست شده‌اند: .TS allbox; l l l l . \fBگزینه‌های [Network]\fP \fBمعادل در podman network create\fP ContainersConfModule=/etc/nvd\&.conf --module=/etc/nvd\&.conf DisableDNS=true --disable-dns DNS=192.168.55.1 --dns=192.168.55.1 Driver=bridge --driver bridge Gateway=192.168.55.3 --gateway 192.168.55.3 GlobalArgs=--log-level=debug --log-level=debug InterfaceName=enp1 --interface-name enp1 Internal=true --internal IPAMDriver=dhcp --ipam-driver dhcp IPRange=192.168.55.128/25 --ip-range 192.168.55.128/25 IPv6=true --ipv6 Label="XYZ" --label "XYZ" NetworkDeleteOnStop=true T{ افزودن ExecStopPost برای حذف شبکه هنگام توقف واحد T} NetworkName=foo podman network create foo Options=isolate=true --opt isolate=true PodmanArgs=--dns=192.168.55.1 --dns=192.168.55.1 Subnet=192.5.0.0/16 --subnet 192.5.0.0/16 .TE .SS \fBContainersConfModule=module\fR ماژول مشخص‌شده‌ی containers.conf(5) را بارگذاری می‌کند. .PP این گزینه می‌تواند چندین بار درج شود. .SS \fBDisableDNS=true\fR پلاگین DNS را برای این شبکه غیرفعال می‌کند؛ این پلاگین در صورت فعال بودن می‌تواند تفکیک نام کانتینر به کانتینر را انجام دهد. این گزینه فقط با درایور \fBbridge\fR پشتیبانی می‌شود و برای سایر درایورها همیشه غیرفعال است. .SS \fBDNS=ipaddr\fR سرورهای DNS سفارشی را تنظیم می‌کند. .PP می‌توان از این گزینه برای بازنویسی پیکربندی DNS ارائه‌شده به کانتینر استفاده کرد. معمولاً زمانی این کار لازم است که پیکربندی DNS میزبان برای کانتینر نامعتبر باشد (مانند \fB127.0.0.1\fP). در چنین حالتی، پرچم \fBDNS=\fP برای هر بار اجرا ضروری است. .PP مقدار ویژه \fBnone\fP می‌تواند برای غیرفعال کردن ایجاد فایل \fI/etc/resolv.conf\fP در کانتینر توسط پادمن مشخص شود. در این صورت فایل \fI/etc/resolv.conf\fP موجود در ایمیج بدون تغییر استفاده می‌شود. .PP توجه داشته باشید که ممکن است \fBipaddr\fP مستقیماً به \fI/etc/resolv.conf\fP کانتینر اضافه شود. با این حال این موضوع تضمین‌شده نیست. برای مثال، ارسال یک شبکه سفارشی که \fIdns_enabled\fP آن روی \fItrue\fP تنظیم شده به \fB--network\fP باعث می‌شود \fI/etc/resolv.conf\fP تنها به سرور aardvark-dns اشاره کند. سپس aardvark-dns تمام درخواست‌های نام‌های غیر کانتینری را به \fBipaddr\fP ارائه‌شده فوروارد می‌کند. .SS \fBDriver=driver\fR درایور مدیریت شبکه. در حال حاضر \fBbridge\fR، \fBmacvlan\fR و \fBipvlan\fR پشتیبانی می‌شوند. پیش‌فرض \fBbridge\fR است. هنگام اجرا در حالت بدون ریشه (rootless)، درایورهای \fBmacvlan\fR و \fBipvlan\fR به رابط‌های شبکه میزبان دسترسی ندارند زیرا شبکه بدون ریشه نیازمند یک فضای نام (namespace) شبکه مجزاست. .PP بک‌اند netavark امکان استفاده از به‌اصطلاح \fIپلاگین‌های netavark\fP را فراهم می‌کند، مستندات plugin-API.md را در netavark مشاهده کنید. فایل باینری باید در یک دایرکتوری مشخص قرار گیرد تا پادمن بتواند آن را شناسایی کند؛ این لیست در \fBnetavark_plugin_dirs\fR در \fBcontainers.conf(5)\fP ذیل بخش \fB[network]\fR تنظیم می‌شود. .PP سپس می‌توان از نام پلاگین به‌عنوان درایور برای ایجاد شبکه برای پلاگین خود استفاده کرد. فهرست تمام درایورها و پلاگین‌های پشتیبانی‌شده را می‌توان با دستور \fBpodman info --format {{.Plugins.Network}}\fR مشاهده کرد. .PP توجه داشته باشید که درایورهای \fBmacvlan\fR و \fBipvlan\fR از فوروارد پورت (port forwarding) پشتیبانی نمی‌کنند. پشتیبانی از فوروارد پورت با یک پلاگین بستگی به پیاده‌سازی آن پلاگین دارد. .SS \fBGateway=ip\fR یک گیت‌وی برای زیرشبکه تعریف می‌کند. برای ارائه آدرس گیت‌وی، گزینه \fIsubnet\fP الزامی است. می‌تواند چندین بار مشخص شود. .SS \fBGlobalArgs=\fR این کلید شامل فهرستی از آرگومان‌ها است که در فایل تولیدشده مستقیماً پس از دستور \fBpodman\fR قرار می‌گیرند. می‌توان از آن برای دسترسی به ویژگی‌هایی از پادمن استفاده کرد که در حالت عادی توسط مولد پشتیبانی نمی‌شوند. از آنجا که مولد از تداخلات و رفتارهای غیرمنتظره احتمالی ناشی از این آرگومان‌ها آگاه نیست، استفاده از این گزینه توصیه نمی‌شود. .PP قالب این مقدار فهرستی از آرگومان‌ها است که با فاصله جدا شده‌اند و در صورت تمایل می‌توان تک‌تک آن‌ها را اسکیپ کرد تا شامل فاصله‌ها و سایر نویسه‌های کنترلی شوند. .PP این کلید می‌تواند چندین بار درج شود. .SS \fBInterfaceName=name\fR این گزینه با گزینه \fInetwork_interface\fP در پیکربندی شبکه مطابقت دارد، به \fBpodman network inspect\fP مراجعه کنید. بسته به درایور، این گزینه می‌تواند اثرات مختلفی داشته باشد؛ برای \fBbridge\fR، از نام رابط بریج استفاده می‌کند. برای \fBmacvlan\fR و \fBipvlan\fR، این دستگاه والد روی میزبان است. این معادل \fB--opt parent=...\fR است. .SS \fBInternal=true\fR دسترسی خارجی این شبکه را هنگام استفاده از شبکه \fBbridge\fR محدود می‌کند. توجه داشته باشید هنگام استفاده از بک‌اند CNI، سرویس DNS به‌طور خودکار غیرفعال خواهد شد، به \fB--disable-dns\fP مراجعه کنید. .PP هنگام استفاده از درایور \fBmacvlan\fR یا \fBipvlan\fR با این گزینه، هیچ مسیر پیش‌فرضی (default route) به کانتینر اضافه نخواهد شد. از آنجا که این درایورها پشته شبکه میزبان را دور می‌زنند، محدودیت‌های بیشتری توسط پادمن قابل تنظیم نیست و اگر کانتینر با امتیاز دسترسی بالا (privileged) اجرا شود، کانتینر خود می‌تواند یک مسیر پیش‌فرض تنظیم کند. اگر این موضوع نگران‌کننده است، اتصالات کانتینر باید روی گیت‌وی واقعی شبکه مسدود شوند. .PP استفاده از درایور \fBbridge\fR با این گزینه دارای اثرات زیر است: - متغیرهای sysctl فوروارد سراسری IP در فضای نام شبکه میزبان تغییر داده نمی‌شوند. - فوروارد IP به‌جای راه‌اندازی فایروال، روی رابط بریج غیرفعال می‌شود. - هیچ مسیر پیش‌فرضی به کانتینر اضافه نخواهد شد. .PP در تمام موارد، با فعال بودن این گزینه aardvark-dns تنها نام‌های کانتینر را تفکیک می‌کند. به سایر درخواست‌ها پاسخ \fBNXDOMAIN\fR داده می‌شود. .SS \fBIPAMDriver=driver\fR درایور IPAM (درایور مدیریت آدرس IP) را برای شبکه تنظیم می‌کند. در صورت عدم تنظیم، پادمن به‌طور خودکار یک درایور IPAM را بر اساس درایور شبکه انتخاب می‌کند. .PP مقادیر معتبر عبارتند از: .IP \(bu 2 \fBdhcp\fR: آدرس‌های IP از یک سرور DHCP روی شبکه تخصیص می‌یابند. هنگام استفاده از بک‌اند netavark باید واحد \fBnetavark-dhcp-proxy.socket\fR فعال باشد تا هنگام شروع یک کانتینر پراکسی DHCP آغاز به کار کند؛ برای CNI به‌جای آن از واحد \fBcni-dhcp.socket\fR استفاده کنید. .IP \(bu 2 \fBhost-local\fR: آدرس‌های IP به‌صورت محلی تخصیص می‌یابند. .IP \(bu 2 \fBnone\fR: هیچ آدرس IP به رابط‌ها اختصاص داده نمی‌شود. .PP درایور را در خروجی \fBpodman network inspect\fP ذیل فیلد \fBipam_options\fR مشاهده کنید. .SS \fBIPRange=ip\fR تخصیص IP کانتینر از یک محدوده. محدوده باید یا یک زیرشبکه کامل در نمادگذاری CIDR باشد یا در ساختار \fB-\fR باشد که در مقایسه با زیرشبکه CIDR امکان تعریف محدوده انعطاف‌پذیرتری را فراهم می‌کند. گزینه \fIip-range\fP باید همراه با گزینه \fIsubnet\fP استفاده شود. می‌تواند چندین بار مشخص شود. .SS \fBIPv6=true\fR فعال‌سازی شبکه IPv6 (پشته دوگانه / Dual Stack). اگر هیچ زیرشبکه‌ای مشخص نشده باشد، یک زیرشبکه IPv4 و یک زیرشبکه IPv6 تخصیص می‌دهد. .SS \fBLabel=key=value [key=value ...]\fR یک یا چند برچسب OCI روی شبکه تنظیم می‌کند. .SS \fBNetworkDeleteOnStop=true\fR (پیش‌فرض: \fBfalse\fR) هنگامی که روی \fBtrue\fR تنظیم شود، با متوقف شدن سرویس، شبکه حذف می‌شود. .SS \fBNetworkName=foo\fR نام (اختیاری) شبکه پادمن. اگر مشخص نشود، مقدار پیش‌فرض هم‌نام با واحد خواهد بود اما با یک پیشوند \fBsystemd-\fR؛ یعنی یک فایل \fB$name.network\fR یک شبکه پادمن به نام \fBsystemd-$name\fR ایجاد می‌کند تا از تداخل با شبکه‌های مدیریت‌شده توسط کاربر جلوگیری شود. .SS \fBOptions=option\fR گزینه‌های اختصاصی درایور را تنظیم می‌کند. .PP تمام درایورها گزینه‌های \fBmtu\fR، \fBmetric\fR و \fBno_default_route\fR را می‌پذیرند. .IP \(bu 2 \fBmtu\fR: حداکثر واحد انتقال (MTU) را تنظیم می‌کند و یک مقدار عددی صحیح می‌گیرد. .IP \(bu 2 \fBmetric\fR: متریک مسیر (Route Metric) را برای مسیر پیش‌فرض ایجادشده در هر کانتینر متصل به این شبکه تنظیم می‌کند. یک مقدار عددی صحیح مثبت را می‌پذیرد. تنها با بک‌اند شبکه Netavark قابل استفاده است. .IP \(bu 2 \fBno_default_route\fR: اگر روی \fBtrue\fR تنظیم شود، پادمن به‌طور خودکار مسیر پیش‌فرضی به زیرشبکه‌ها اضافه نمی‌کند. همچنان می‌توان مسیرها را به‌صورت دستی با ایجاد یک مسیر سفارشی با استفاده از \fB--route\fR اضافه کرد. .PP علاوه بر این، درایور \fBbridge\fR از گزینه‌های زیر پشتیبانی می‌کند: .IP \(bu 2 \fBvlan\fR: این گزینه یک تگ VLAN تخصیص داده و vlan_filtering را فعال می‌کند. پیش‌فرض none است. .IP \(bu 2 \fBisolate\fR: این گزینه شبکه‌های بریج را از سایر شبکه‌های بریج ایزوله می‌کند. باید به‌صورت \fBisolate=\fR تنظیم شود (ارائه مقدار الزامی است؛ درج \fBisolate\fR خالی نامعتبر است). پیش‌فرض \fBstrict\fR است. مقادیر پشتیبانی‌شده: .RS .IP \(bu 2 \fBstrict\fR: مسدود کردن ترافیک ورودی و خروجی با تمام شبکه‌های بریج دیگر. این مقدار پیش‌فرض در صورت حذف این گزینه است. .IP \(bu 2 \fBtrue\fR: مسدود کردن ترافیک تنها بین شبکه‌هایی که ایزولاسیون در آن‌ها نیز فعال است (\fBtrue\fR یا \fBstrict\fR). .IP \(bu 2 \fBfalse\fR: شبکه را ایزوله نکن؛ ترافیک به سایر شبکه‌های بریج مجاز باشد. از این گزینه برای بازیابی رفتار نسخه‌های پیش از Podman 6 / Netavark 2 استفاده کنید. .RE .IP \(bu 2 \fBcom.docker.network.bridge.name\fR: این گزینه نام ارائه‌شده را به بریج لینوکس ایجادشده اختصاص می‌دهد. .IP \(bu 2 \fBcom.docker.network.driver.mtu\fR: حداکثر واحد انتقال (MTU) را تنظیم می‌کند و یک مقدار عددی صحیح می‌گیرد. .IP \(bu 2 \fBvrf\fR: این گزینه یک جدول مسیریابی هدایت و مسیریابی مجازی (VRF) به رابط بریج اختصاص می‌دهد. نام VRF را می‌پذیرد و پیش‌فرض آن none است. تنها با بک‌اند شبکه Netavark قابل استفاده است. .IP \(bu 2 \fBmode\fR: این گزینه حالت بریج مشخص‌شده را روی رابط تنظیم می‌کند. پیش‌فرض \fBmanaged\fR است. مقادیر پشتیبانی‌شده: .RS .IP \(bu 2 \fBmanaged\fR: پادمن بریج را ایجاد و حذف می‌کند و متغیرهای sysctl آن را تغییر می‌دهد. این درایور قوانین فایروال را برای ماسکراید کردن (masquerade) ترافیک خروجی و همچنین راه‌اندازی فوروارد پورت برای ترافیک ورودی با استفاده از DNAT اضافه می‌کند. .IP \(bu 2 \fBunmanaged\fR: پادمن از یک بریج موجود استفاده می‌کند. بریج باید تا زمانی که می‌خواهید کانتینری که از شبکه استفاده می‌کند را شروع کنید، وجود داشته باشد. هیچ NAT یا فوروارد پورتی وجود نخواهد داشت، حتی اگر چنین گزینه‌هایی هنگام ساخت کانتینر ارسال شده باشند. .RE .PP درایورهای \fBmacvlan\fR و \fBipvlan\fR از گزینه‌های زیر پشتیبانی می‌کنند: .IP \(bu 2 \fBparent\fR: دستگاه میزبان که برای رابط macvlan استفاده می‌شود. پیش‌فرض رابط مسیر پیش‌فرض است. .IP \(bu 2 \fBmode\fR: این گزینه حالت مشخص‌شده ip/macvlan را روی رابط تنظیم می‌کند. .RS .IP \(bu 2 مقادیر پشتیبانی‌شده برای \fBmacvlan\fR عبارتند از \fBbridge\fR، \fBprivate\fR، \fBvepa\fR و \fBpassthru\fR\&. پیش‌فرض \fBbridge\fR است. .IP \(bu 2 مقادیر پشتیبانی‌شده برای \fBipvlan\fR عبارتند از \fBl2\fR، \fBl3\fR و \fBl3s\fR\&. پیش‌فرض \fBl2\fR است. .RE .PP علاوه بر این درایور \fBmacvlan\fR از گزینه \fBbclim\fR پشتیبانی می‌کند: .IP \(bu 2 \fBbclim\fR: آستانه صف‌بندی برادکست (broadcast) را تنظیم می‌کند. باید یک عدد صحیح ۳۲ بیتی باشد. تنظیم این مقدار روی \fB-1\fR صف‌بندی برادکست را به‌طور کامل غیرفعال می‌کند. .SS \fBPodmanArgs=\fR این کلید شامل فهرستی از آرگومان‌ها است که در فایل تولیدشده مستقیماً به انتهای دستور \fBpodman\fR اضافه می‌شوند. می‌توان از آن برای دسترسی به ویژگی‌هایی از پادمن استفاده کرد که در حالت عادی توسط مولد پشتیبانی نمی‌شوند. از آنجا که مولد از تداخلات و رفتارهای غیرمنتظره احتمالی ناشی از این آرگومان‌ها آگاه نیست، استفاده از این گزینه توصیه نمی‌شود. .PP قالب این مقدار فهرستی از آرگومان‌ها است که با فاصله جدا شده‌اند و در صورت تمایل می‌توان تک‌تک آن‌ها را اسکیپ کرد تا شامل فاصله‌ها و سایر نویسه‌های کنترلی شوند. .PP این کلید می‌تواند چندین بار درج شود. .SS \fBSubnet=subnet\fR زیرشبکه در نمادگذاری CIDR. می‌تواند چندین بار برای تخصیص بیش از یک زیرشبکه برای این شبکه مشخص شود. .PP این گزینه برای تنظیم زیرشبکه ایستا (static) IPv4 و IPv6 مفید است. .SH "مثال‌ها (EXAMPLES)" شبکه بریج پایه‌ای: .EX [Network] NetworkName=private0 Subnet=10.10.0.0/16 Gateway=10.10.0.1 .EE .PP فعال‌سازی IPv6 با درایور IPAM: .EX [Network] NetworkName=v6net Subnet=fd00:dead:beef::/64 IPv6=true IPAMDriver=host-local .EE .SH "همچنین ببینید (SEE ALSO)" podman-network-create(1), podman-systemd.unit(5), systemd.unit(5)