جدول محتوایی
فایروال سادهی UFW باید به گونهای پیکربندی شود که ترافیک بر روی پورتهای UDP 67 و 68، بدون در نظر گرفتن اینکه سرور DHCP محلی یا از راه دور باشد، مجاز باشد. همچنین، ممکن است نیاز باشد پورتهای TCP و UDP 53 که برای سرویس DNS استفاده میشوند، باز شوند. در محیطهای کسب و کار کوچک و خانگی، معمولاً هر دو سرویس DNS و DHCP از یک دستگاه تکی ارائه میشود. بنابراین، بهتر است که هر دو پورت DHCP و DNS را با استفاده از دستور UFW باز کنید.
باز کردن پورت DHCP با استفاده از UFW در لینوکس
دستورات زیر را زمان استفاده از UFW اجرا کنید:
sudo ufw allow bootps comment 'Allow 67/UDP' $ sudo ufw allow bootpc comment 'Allow 68/UDP' $ sudo ufw allow 53/udp comment 'Allow DNS_53/UDP' $ sudo ufw allow 53/tcp comment 'Allow DNS_53/TCP'
برای بررسی قوانین UFW که با دستورات بالا اضافه کردید، از دستور زیر استفاده کنید:
sudo ufw status verbose
به جز سایر قوانین، شما قوانین زیر را مشاهده خواهید کرد: (در این قسمت، شما باید تاییدیههایی مشابه زیر را مشاهده کنید)
Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), deny (routed) New profiles: skip To Action From -- ------ ---- 67/udp ALLOW IN Anywhere # Allow 67/UDP 53/udp ALLOW IN Anywhere # Allow DNS_53/UDP 53/tcp ALLOW IN Anywhere # Allow DNS_53/TCP 68/udp ALLOW IN Anywhere # Allow 68/UDP 22/tcp ALLOW IN Anywhere 67/udp (v6) ALLOW IN Anywhere (v6) # Allow 67/UDP 53/udp (v6) ALLOW IN Anywhere (v6) # Allow DNS_53/UDP 53/tcp (v6) ALLOW IN Anywhere (v6) # Allow DNS_53/TCP 68/udp (v6) ALLOW IN Anywhere (v6) # Allow 68/UDP 22/tcp (v6) ALLOW IN Anywhere (v6) ..... .....
عیب یابی
ترافیک DHCP و DNS هنوز هم مسدود شدهاند؟ لاگ UFW را به شرح زیر با استفاده از دستور tail به صورت لحظه ای میتوانید ببینید:
sudo tail -f /var/log/ufw.log
شما میتوانید به صورت زیر لاگ /var/log/ufw.log را جستجو کنید:
sudo grep -w 'DPT={شماره_پورت_اینجا}' /var/log/ufw.log sudo grep -w 'DPT=67' /var/log/ufw.log sudo grep -w 'DPT=67' /var/log/ufw.log
همچنین میتوانید هر دو پروتکل (PROTO) و پورت مقصد (DPT)/پورت منبع (SPT) را به صورت زیر مطابقت دهید:
sudo grep -Ew 'PROTO=UDP.*DPT=67' /var/log/ufw.log
$ sudo grep -Ew 'PROTO=UDP.*SPT={شماره_پورت_اینجا}' /var/log/ufw.log
همچنین میتوانید از دستور journalctl به صورت زیر استفاده کنید:
journalctl | grep -i ufw $ journalctl -g 'grep_regex_here' $ journalctl -g 'ufw' $ journalctl -g '\[ufw.*dpt=67' $ journalctl -g '\[ufw.*dpt=68' $ journalctl -g '\[ufw.*tcp=53'
گزینه -g یا –grep خروجی را به ورودیهایی که فیلد MESSAGE= با عبارات منظم مطابقت دارد، فیلتر میکند. لطفا توجه داشته باشید که اگر الگوها کلمات کوچک باشند، مطابقت حساس به حروف بزرگ و کوچک نیست. در غیر این صورت، مطابقت حساس به حروف است. این موضوع با گزینه –case-sensitive=<true|false> قابل تغییر است: </true|false>
journalctl -g '\[ufw.*DPT=53' --case-sensitive=false
بلاک کردن پورت و ترافیک DHCP و DNS با استفاده از UFW
اگر به هر دلیلی نیاز داشتید پورت و ترافیک DHCP و DNS را بلاک کنید باید از دستور deny استفاده کنید.
sudo ufw deny bootps comment 'Block 67/UDP' $ sudo ufw deny bootpc comment 'Block 68/UDP' $ sudo ufw deny 53/udp comment 'Block DNS_53/UDP' $ sudo ufw deny 53/tcp comment 'Block DNS_53/TCP'
نتیجه گیری
پورت DHCP (Dynamic Host Configuration Protocol) با شماره پورت 67 برای اختصاص آدرس IP و تنظیمات شبکه به دستگاهها در شبکه استفاده میشود. این پروتکل از طریق پورت 67 برای ارسال درخواستها و دریافت پاسخها به منظور تنظیم تنظیمات شبکه بین دستگاهها و سرور DHCP استفاده میشود. پورت DNS (Domain Name System) با شماره پورت 53 برای ترجمه نامهای دامنه به آدرسهای IP و بالعکس استفاده میشود. درخواستهای DNS از طریق پورت 53 ارسال میشوند تا سرور DNS بتواند نامهای دامنه را به آدرسهای IP متناظر ترجمه کرده و اطلاعات مورد نیاز را برای مشتریان ارائه دهد.
در این مقاله آموزشی نحوه باز کردن و بستن پورت های DHCP و DNS را در سرور های لینوکسی به شما آموزش دادیم. امیدواریم برایتان مفید بوده باشد.