.TH fwbedit 1 "" FWB "Firewall Builder" .SH "نام (NAME)" fwbedit \- ابزار همه‌منظوره برای ویرایش درخت اشیاء در فایروال بیلدر .SH "خلاصه دستور (SYNOPSIS)" .B fwbedit .RB command .RB [options] .SH "توضیحات (DESCRIPTION)" .B fwbedit ابزاری همه‌منظوره برای ویرایش درخت اشیاء در Firewall Builder است (نگاه کنید به fwbuilder(1)). از این ابزار می‌توان در اسکریپت‌های شل نوشته‌شده برای پردازش دسته‌ای فایل‌های داده Firewall Builder استفاده کرد. Fwbedit می‌تواند عملیات زیر را روی اشیاء و درخت انجام دهد: ایجاد شیء جدید، حذف شیء موجود، اصلاح ویژگی‌های یک شیء، افزودن ارجاع به شیء داده‌شده در یک گروه، حذف ارجاع شیء از یک گروه، ارتقای فایل داده و بررسی درخت اشیاء در فایل و تعمیر آن در صورت لزوم. هم شیء و هم گروه را می‌توان بر اساس شناسه (ID) یا بر اساس نام و مسیر کامل آن‌ها در درخت تعریف کرد (بخش .B "مثال‌ها (EXAMPLES)" را در ادامه ببینید). .SH "دستورات و گزینه‌ها (COMMANDS AND OPTIONS)" .B new -f file.fwb -t objtype -n name -p parent [-c comment] [-a attrs] ایجاد شیء جدید. -f file.fwb فایل داده -t objtype ایجاد شیء جدید از این نوع -p parent ایجاد شیء جدید به عنوان فرزند این شیء. این پارامتر الزامی است. اگر در حال افزودن آدرس به یک رابط هستید، شیء رابط مربوطه باید به عنوان والد مشخص شود. به همین ترتیب اگر نیاز به افزودن رابط به یک میزبان یا فایروال دارید، شیء میزبان یا فایروال مربوطه والد آن است. اگر شیئی را به یکی از پوشه‌های استاندارد اضافه می‌کنید، والد همان کتابخانه‌ای است که می‌خواهید شیء را به آن بیفزایید یا مسیر کامل و صحیح پوشه در درخت است. -n name نام شیء جدید -c txt تعیین یادداشت برای شیء جدید -a attribute1[,attribute2...] : تعیین ویژگی‌هایی که پارامترهای شیء جدید را مشخص می‌کنند (پایین را ببینید) .B delete -f file.fwb -o object حذف شیء مشخص‌شده با مسیر کامل در درخت یا شناسه شیء (ID). -f file.fwb فایل داده -o object شیء مورد نظر برای حذف، مسیر کامل یا شناسه .B modify -f file.fwb -o object -c comment [-a attrs] اصلاح شیء مشخص‌شده با مسیر کامل در درخت یا شناسه شیء. نام شیء را نمی‌توان با این عملیات تغییر داد. -f file.fwb فایل داده -o object شیء مورد نظر برای اصلاح، مسیر کامل یا شناسه -c txt تعیین یادداشت برای شیء جدید -a attribute1[,attribute2...] : تعیین ویژگی‌هایی که پارامترهای شیء جدید را مشخص می‌کنند (پایین را ببینید) .B list -f file.fwb -o object [-r|-c] [-d|-Fformat] چاپ نام و شناسه (ID) یک شیء. -f file.fwb فایل داده -o object شیء مورد نظر برای چاپ، مسیر کامل یا شناسه -r چاپ شیء مشخص‌شده و تمام اشیاء زیر آن در درخت -c تنها چاپ اشیاء فرزند شیء داده‌شده بدون چاپ خود شیء -d چاپ تخلیه کامل تمام ویژگی‌های شیء شامل اطلاعات اشکال‌زدایی داخلی در صورت وجود؛ خروجی این گزینه می‌تواند بسیار طولانی باشد. -Fformat_string برنامه ماکروها را در رشته قالب شناسایی کرده و آن‌ها را با مقادیر ویژگی‌های شیء مربوطه جایگزین می‌کند. ماکرو نام ویژگی احاطه‌شده با '%' است، مانند '%name%' یا '%address%'. فهرستی از برخی نام‌های ویژگی‌ها: "id"، "name"، "path"، "comment"، "type"، "address"، "netmask"، "dnsname". اشیاء سرویس TCP و UDP ویژگی‌های "src_range_start"، "src_range_end"، "dst_range_start" و "dst_range_end" را برای بازه‌های درگاه مبدأ و مقصد ارائه می‌دهند. اشیاء سرویس ICMP و ICMP6 ویژگی‌های "icmp_type" و "icmp_code" را دارند. .B add -f file.fwb -g group -o object افزودن شیء مشخص‌شده با مسیر یا شناسه به یک گروه، که آن هم با مسیر یا شناسه‌اش مشخص شده است. -f file.fwb فایل داده -g group گروهی که شیء باید به آن افزوده شود، مسیر کامل یا شناسه -o object شیئی که باید افزوده شود، مسیر کامل یا شناسه .B remove -f file.fwb -g group -o object حذف شیء از یک گروه. -f file.fwb فایل داده -g group گروهی که شیء باید از آن حذف شود، مسیر کامل یا شناسه -o object شیئی که باید حذف شود، مسیر کامل یا شناسه .B upgrade -f file.fwb ارتقای فایل داده به آخرین نسخه قالب داده. -f file.fwb فایل داده .B checktree -f file.fwb بررسی سازگاری و درستی درخت اشیاء در فایل داده داده‌شده و تعمیر آن در صورت لزوم. -f file.fwb فایل داده .B merge -f file1.fwb -i file2.fwb اشیاء فایل file2.fwb با اشیاء فایل file1 ادغام شده و درخت اشیاء ترکیبی در file1.fwb ذخیره می‌شود. -f file.fwb فایل داده شماره ۱ -i file.fwb فایل داده شماره ۲ .B import -f file1.fwb -i firewall_config.txt -o path_to_firewall_object [-d] پیکربندی فایروال از فایل firewall_config.txt تجزیه شده و به فایل داده file1.fwb وارد می‌شود. برنامه شیء فایروال جدیدی در کتابخانه و با نام تعیین‌شده توسط مسیر path_to_firewall_object ایجاد می‌کند. -f file.fwb فایل داده شماره ۱ -i config.txt فایل پیکربندی فایروال -o object_path مسیر کامل به شیء فایروال که ایجاد خواهد شد. این مسیر باید کامل باشد و با نام کتابخانه آغاز شود، مانند "/User/Firewalls/my_new_firewall" -d جلوگیری از ایجاد اشیاء تکراری در هنگام درون‌ریزی در حال حاضر (از نسخه 4.2.0) fwbuilder از درون‌ریزی پیکربندی iptables ذخیره‌شده با دستور iptables-save و همچنین پیکربندی مسیریاب Cisco IOS و فایروال‌های Cisco PIX، ASA و FWSM ذخیره‌شده با دستور "show run" پشتیبانی می‌کند. .SH "ویژگی‌های اشیاء جدید بر اساس نوع (ATTRIBUTES FOR THE NEW OBJECTS, BY TYPE)" .PP .PP -t Firewall -a platform, host OS .PP -t IPv4 -a IP address [,netmask] .PP -t IPv6 -a IPv6 address [,masklen] .PP -t DNSName -a DNS record,run time .PP -t AddressRange -a start address, end address .PP -t ObjectGroup .PP -t Network -a address,netmask .PP -t NetworkIPv6 -a ipv6_address,netmask_length .PP -t Interval -a start time,start date,start day,end time, end date, end day .PP -t Interface -a security level,address type (dynamic or unnumbered),management .PP -t Host .PP -t TCPService -a source port range start,end,destination port range start,end,UAPRSF,UAPRSF .PP -t UDPService -a source port range start,end,Destination port range start,end .PP -t ICMPService -a ICMP type,ICMP code .PP -t IPService -a protocol number,lsrr/ssrr/rr/ts/fragm/short_fragm .SH "مثال‌ها (EXAMPLES)" .PP چاپ محتوای شیء /User/Firewalls/firewall/eth0 بر اساس قالب ارائه‌شده. توجه داشته باشید که شیء از نوع "Interface" ویژگی‌ای برای تعیین آدرس خود ندارد؛ آدرس IP توسط شیء فرزند آن از نوع IPv4 یا IPv6 تعریف می‌شود. .PP fwbedit list -f x.fwb -o /User/Firewalls/firewall/eth0 -F "type=%type% name=%name% id=%id% %comment%" .PP چاپ محتوای شیء /User/Firewalls/firewall/eth0 و تمام اشیاء فرزند آن. این روش برای مشاهده آدرس‌ها و ماسک‌های شبکه است. شیء رابط فاقد ویژگی "address" است، بنابراین برنامه هنگام چاپ رابط ماکروی "%address%" را نادیده می‌گیرد. .PP fwbedit list -f x.fwb -o /User/Firewalls/firewall/eth0 -F "type=%type% name=%name% id=%id% %comment% %address%" -r .PP چاپ شیء گروهی /User/Objects/Addresses: .PP fwbedit list -f x.fwb -o /User/Objects/Addresses -F "type=%type% name=%name% id=%id% %comment%" .PP چاپ شیء گروهی /User/Objects/Addresses و تمام اشیاء آدرس درون آن: .PP fwbedit list -f x.fwb -o /User/Objects/Addresses -F "type=%type% name=%name% id=%id% %comment%" -r .PP چاپ اشیاء آدرس درون گروه /User/Objects/Addresses بدون چاپ خود شیء گروه: .PP fwbedit list -f x.fwb -o /User/Objects/Addresses -F "type=%type% name=%name% id=%id% %comment%" -c .PP چاپ آدرس‌ها و ماسک‌های شبکه تمام رابط‌های همه فایروال‌ها در قالب مسیر کامل درخت اشیاء، به دنبال آن نوع، شناسه، آدرس و ماسک شبکه: .PP fwbedit list -f x.fwb -o /User/Firewalls -F "%path% %type% %id% %address% %netmask%" -r | grep IP .PP چاپ نام‌ها، سکو و اطلاعات نسخه برای تمام اشیاء فایروال تعریف‌شده در فایل داده: .PP fwbedit list -f x.fwb -o /User/Firewalls -F "%name% platform: %platform% version: %version%" -c .PP چاپ نام، بازه‌های درگاه مبدأ و مقصد برای تمام سرویس‌های TCP در پوشه TCP از گروه کاربر User: .PP fwbedit list -f x.fwb -o /User/Services/TCP -c -F "name='%name%' est=%established% \t %src_range_start%-%src_range_end% : %dst_range_start%-%dst_range_end%" .PP چاپ نوع و کد icmp برای تمام سرویس‌های ICMP در پوشه ICMP از گروه کاربر User: .PP fwbedit list -f x.fwb -o /User/Services/ICMP -c -F "name='%name%' icmp_type=%icmp_type% icmp_code=%icmp_code%" .PP افزودن آدرس IPv6 به یکی از رابط‌های شیء فایروال "firewall": .PP fwbedit new -f x.fwb -p /User/Firewalls/firewall/eth3 -t IPv6 -n eth3-v6-addr -a 2001:470:1f05:590::2,64 .PP افزودن ارجاع به شیء میزبان 'A' در گروه 'B': .PP fwbedit add -f x.fwb -g /User/Objects/Groups/B -o /User/Objects/Hosts/A .PP افزودن ارجاع به شیء با شناسه id3D71A1BA در گروه با شناسه id3D151943. اگر اشیاء با شناسه‌های داده‌شده وجود نداشته باشند، fwbedit پیام خطایی چاپ می‌کند و هیچ تغییری در فایل داده ایجاد نمی‌نماید. .PP fwbedit add -f x.fwb -o id3D71A1BA -g id3D151943 .PP افزودن ارجاع به شیء با شناسه id3D71A1BA در گروه 'testgroup': .PP fwbedit add -f x.fwb -o id3D71A1BA -g /User/Objects/Groups/testgroup .PP .PP اسکریپت زیر از دستور "list" در fwbedit برای چاپ شناسه‌های تمام اشیاء آدرس در پوشه /User/Objects/Addresses استفاده می‌کند، سپس در فهرست به‌دست‌آمده پیمایش کرده و با استفاده از fwbedit آن‌ها را به گروه "group1" می‌افزاید. .LP fwbedit list -f x.fwb -o /User/Objects/Addresses -F "%id%" -c | \\ while read id; do \\ fwbedit add -f x.fwb -g /User/Objects/Groups/group1 -o $id; \\ done .PP این نمونه‌ای کمی پیچیده‌تر است. اسکریپت زیر از دستور "list" در fwbedit برای چاپ انواع و شناسه‌های تمام اشیاء آدرس در پوشه /User/Objects/Addresses استفاده می‌کند، سپس آن‌ها را با استفاده از grep فیلتر کرده تا تنها اشیاء IPv6 به‌دست آیند و در نهایت در فهرست به‌دست‌آمده پیمایش کرده و با استفاده از fwbedit آن‌ها را به گروه "group1" اضافه می‌کند. .LP fwbedit list -f x.fwb -o /User/Objects/Addresses -F "%type% %id%" -c | \\ grep IPv6 | \\ while read type id; do \\ fwbedit add -f x.fwb -g /User/Objects/Groups/group1 -o $id; \\ done .SH نشانی وب (URL) صفحه اصلی Firewall Builder در نشانی وب زیر قرار دارد: .B http://www.fwbuilder.org .SH "اشکالات (BUGS)" لطفاً اشکالات را با استفاده از سامانه ردیابی باگ در SourceForge گزارش دهید: .BR http://sourceforge.net/tracker/?group_id=5314&atid=105314 .SH "همچنین ببینید (SEE ALSO)" .BR fwbuilder(1) .P