.TH CIDR_TABLE 5 .ad .fi .SH "نام (NAME)" cidr_table \- ساختار و قالب جدول‌های CIDR در Postfix .SH "خلاصه دستور (SYNOPSIS)" .na .nf \fBpostmap \-q "\fIstring\fB" cidr:/etc/postfix/\fIfilename\fR \fBpostmap \-q \- cidr:/etc/postfix/\fIfilename\fB <\fIinputfile\fR .SH "توضیحات (DESCRIPTION)" .ad .fi سیستم ایمیل Postfix از جدول‌های جستجوی اختیاری استفاده می‌کند. این جدول‌ها معمولاً در قالب‌های \fBlmdb:\fR، \fBcdb:\fR، \fBhash:\fR یا \fBdbm:\fR هستند. از طرف دیگر، جدول‌های جستجو را می‌توان در قالب CIDR (مسیریابی بین‌دامنه‌ای بدون کلاس) مشخص کرد. در این حالت، هر ورودی با فهرستی از الگوها مقایسه می‌شود. هنگامی که یک تطابق پیدا شود، نتیجه متناظر بازگردانده شده و جستجو خاتمه می‌یابد. برای آگاهی از انواع جدول‌های جستجوی پشتیبانی‌شده توسط سیستم Postfix خود، از دستور "\fBpostconf \-m\fR" استفاده کنید. برای آزمایش جدول‌های جستجو، از دستور "\fBpostmap \-q\fR" به گونه‌ای که در بخش خلاصه دستور در بالا شرح داده شد، استفاده کنید. .SH "قالب جدول (TABLE FORMAT)" .na .nf .ad .fi شکل کلی یک جدول CIDR در Postfix عبارت است از: .IP "\fIpattern result\fR" هنگامی که رشته جستجو با \fIpattern\fR مشخص‌شده تطابق داشته باشد، مقدار \fIresult\fR متناظر استفاده می‌شود. الگو باید در قالب \fInetwork/prefix\fR یا \fInetwork_address\fR باشد (بخش نحوه نگارش الگوی نشانی در زیر را ببینید). .IP "\fB!\fIpattern result\fR" هنگامی که رشته جستجو با \fIpattern\fR مشخص‌شده تطابق نداشته باشد، مقدار \fIresult\fR تعیین‌شده استفاده می‌شود. الگو باید در قالب \fInetwork/prefix\fR یا \fInetwork_address\fR باشد (بخش نحوه نگارش الگوی نشانی در زیر را ببینید). .sp این ویژگی در Postfix نسخه 3.2 و بالاتر در دسترس است. .IP "\fBif \fIpattern\fR" .IP "\fBendif\fR" هنگامی که یک رشته جستجو با \fIpattern\fR مشخص‌شده تطابق داشته باشد، آن رشته را با الگوهای میان \fBif\fR و \fBendif\fR تطبیق می‌دهد. الگو باید در قالب \fInetwork/prefix\fR یا \fInetwork_address\fR باشد (بخش نحوه نگارش الگوی نشانی در زیر را ببینید). بلوک‌های \fBif\fR..\fBendif\fR می‌توانند تودرتو باشند. .sp نکته: به متن بین \fBif\fR..\fBendif\fR فاصله سفید اضافه نکنید. .sp این ویژگی در Postfix نسخه 3.2 و بالاتر در دسترس است. .IP "\fBif !\fIpattern\fR" .IP "\fBendif\fR" هنگامی که یک رشته جستجو با \fIpattern\fR مشخص‌شده تطابق نداشته باشد، آن رشته را با الگوهای میان \fBif\fR و \fBendif\fR تطبیق می‌دهد. الگو باید در قالب \fInetwork/prefix\fR یا \fInetwork_address\fR باشد (بخش نحوه نگارش الگوی نشانی در زیر را ببینید). بلوک‌های \fBif\fR..\fBendif\fR می‌توانند تودرتو باشند. .sp نکته: به متن بین \fBif\fR..\fBendif\fR فاصله سفید اضافه نکنید. .sp این ویژگی در Postfix نسخه 3.2 و بالاتر در دسترس است. .IP "خطوط خالی و کامنت‌ها" خطوط خالی و خطوطی که فقط شامل فاصله سفید هستند نادیده گرفته می‌شوند، همان‌طور که خطوطی که نخستین نویسه غیرفاصله آن‌ها '#' است نادیده گرفته می‌شوند. .IP "متن چندخطی" یک خط منطقی با متنی بدون فاصله آغاز می‌شود. خطی که با فاصله سفید آغاز شود، ادامه خط منطقی پیشین به شمار می‌رود. .SH "ترتیب جستجو در جدول (TABLE SEARCH ORDER)" .na .nf .ad .fi الگوها دقیقاً به ترتیبی که در جدول مشخص شده‌اند اعمال می‌شوند تا زمانی که الگویی منطبق بر رشته جستجو پیدا شود. .SH "نحوه نگارش الگوی نشانی (ADDRESS PATTERN SYNTAX)" .na .nf .ad .fi جدول‌های CIDR در Postfix مبتنی بر الگو هستند. یک الگو یا یک \fInetwork_address\fR است که نیازمند تطابق دقیق می‌باشد، یا یک \fInetwork_address/prefix_length\fR است که در آن بخش \fIprefix_length\fR طول پیشوند \fInetwork_address\fR را که باید مطابقت داده شود مشخص می‌کند (سایر بیت‌ها در بخش \fInetwork_address\fR باید صفر باشند). یک نشانی شبکه IPv4 دنباله‌ای از چهار اکتت ده‌دهی است که با «.» جدا می‌شوند، و یک نشانی شبکه IPv6 دنباله‌ای از سه تا هشت جفت اکتت هگزادسیمال است که با «:» یا «::» جدا شده‌اند؛ حالت دوم شکل خلاصه برای دنباله‌ای از یک یا چند جفت اکتت تماماً صفر است. الگوی 0.0.0.0/0 با هر نشانی IPv4 و ::/0 با هر نشانی IPv6 مطابقت دارد. پشتیبانی از IPv6 در Postfix نسخه 2.2 و بالاتر موجود است. پیش از انجام مقایسه‌ها، کلیدهای جستجو و مدخل‌های جدول از رشته به باینری تبدیل می‌شوند. بنابراین، الگوهای IPv6 بدون توجه به صفرهای ابتدایی مطابقت داده می‌شوند (یک صفر پیشرو در اکتت نشانی IPv4 نشان‌دهنده نمادگذاری هشت‌هشتی است). نکته: اطلاعات نشانی می‌تواند درون «[]» محصور شود اما این فرم الزامی نیست. .SH "تعیین درون‌خطی (INLINE SPECIFICATION)" .na .nf .ad .fi محتوای یک جدول می‌تواند درون نام جدول مشخص شود (Postfix نسخه 3.7 و بالاتر). نحو پایه به صورت زیر است: .nf main.cf: \fIparameter\fR \fB= .. cidr:{ { \fIrule\-1\fB }, { \fIrule\-2\fB } .. } ..\fR master.cf: \fB.. \-o { \fIparameter\fR \fB= .. cidr:{ { \fIrule\-1\fB }, { \fIrule\-2\fB } .. } .. } ..\fR .fi پست‌فیکس به صورت بازگشتی هر نمونه از \fI$parametername\fR در مقدار پارامتر بالا را بسط می‌دهد، فاصله‌های سفید پس از '{' و پیش از '}' را نادیده می‌گیرد و هر \fIrule\fR را به عنوان یک سطر متنی درون یک فایل در حافظه می‌نویسد: .nf in\-memory file: rule\-1 rule\-2 .. .fi پست‌فیکس نتیجه را به گونه‌ای پردازش می‌کند که گویی فایلی در /etc/postfix است. نکته: اگر یک قاعده حاوی \fB$\fR است، از \fB$$\fR استفاده کنید تا از تلاش Postfix برای بسط \fI$name\fR هنگام ارزیابی مقدار پارامتر جلوگیری شود. .SH "نمونه نقشه دسترسی SMTPD (EXAMPLE SMTPD ACCESS MAP)" .na .nf .nf /etc/postfix/main.cf: smtpd_client_restrictions = ... cidr:/etc/postfix/client.cidr ... /etc/postfix/client.cidr: # ترتیب قواعد مهم است. ورودی‌های خاص‌تر لیست مجاز را # پیش از ورودی‌های عمومی‌تر لیست مسدود قرار دهید. 192.168.1.1 OK 192.168.0.0/16 REJECT 2001:db8::1 OK 2001:db8::/32 REJECT .fi .SH "همچنین ببینید (SEE ALSO)" .na .nf postmap(1), Postfix lookup table manager regexp_table(5), format of regular expression tables pcre_table(5), format of PCRE tables .SH "فایل‌های راهنما (README FILES)" .na .nf .ad .fi برای یافتن این اطلاعات از دستور "\fBpostconf readme_directory\fR" یا "\fBpostconf html_directory\fR" استفاده کنید. .na .nf DATABASE_README, Postfix lookup table overview .SH "تاریخچه (HISTORY)" .ad .fi پشتیبانی از جدول CIDR با نسخه 2.1 نرم‌افزار Postfix معرفی شد. .SH "نویسندگان (AUTHORS)" .na .nf کد جستجوی جدول CIDR در اصل توسط افراد زیر نوشته شده است: Jozsef Kadlecsik KFKI Research Institute for Particle and Nuclear Physics POB. 49 1525 Budapest, Hungary Adopted and adapted by: Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA Wietse Venema Google, Inc. 111 8th Avenue New York, NY 10011, USA