باز کردن پورت، یعنی اجازه دادن به یک نرم افزار یا سرویس برای برقرار کردن ارتباط با دنیای روی شبکه. این کار، یعنی باز کردن پورت، باید توسط دیوار آتش (فایروال) انجام گردد. بسته به اینکه از چه رابطی برای کار با فایروال روی لینوکس، استفاده میشود، باید از دستورات متفاوتی استفاده کرد. برای مواقعی که iptables فعال است، باید از همین دستور استفاده کرد. اما مواقعی مثل زمانی که firewalld فعال است، روال کار فرق میکند. اما در اینجا ما به نحوه باز یا بسته کردن پورت روی سرور لینوکس از طریق iptables میپردازیم.
فهرست کردن قوانین فعلی iptables
شاید بد نباشد که در اولین قدم ببینیم در مجموع چه قوانینی روی iptables درون شاخههای مختلف آن فعال است. این کار با دستور زیر شدنی است:
sudo iptables -L
تهیهٔ نسخهٔ پشتیبان از قوانین iptables
اگر برای موارد بحرانی که کار خراب شده است، میخواهید یک نسخهٔ پشتیبان از کل قوانین و تنظیمات iptables داشته باشید، بهتر است دستور زیر را اجرا نمایید.
iptables-save > IPtablesbackup.txt
در مسیری که هستید یک سند با نام IPtablesbackup.txt برای شما ایجاد خواهد شد.
حذف یا افزودن قوانین iptables
اصل قضیه اینجاست که با دستور زیر بتوانید یک قانون را به iptables اضافه نمایید. به جای xxxx میتوانید شماره پورت مورد نظر خود را وارد نمایید.
sudo iptables -A INPUT -p tcp --dport xxxx -j ACCEPT
مثلا برای باز کردن پورت 3306 که پورت mysql است باید به این شکل از این دستور استفاده نمود:
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
برای حذف کردن یک قانون از مجموعه قوانین iptables هم باید دستور را به این شکل مورد استفاده قرار داد:
sudo iptables -D INPUT -p tcp --dport xxxx -j ACCEPT
که باید به جای مشخصهٔ A از مشخصهٔ D استفاده کرد که بعد از آن نام Chain یا شاخهٔ iptables میآید.
در مواقعی هم که خواسته باشیم پورتی را فقط برای یک سرور یا رایانهٔ خاصی باز کنیم، باید از مشخصهٔ s استفاده گردد:
sudo iptables -A INPUT -p tcp -s your_server_ip --dport xxxx -j ACCEPT
که به جای your_server_ip باید آی پی رایانه منبع نوشته شود. بقیهٔ مشخصههای این دستور هم کمافیالسابق است.
ذخیره سازی قوانین iptables
پس از اینکه قانونی را به مجموعه قوانین iptables اضافه کردیم، حالا باید تنظیمات کلی را ذخیره کنیم. برای این کار بسته به نوع سیستم عامل باید دستورات مختلفی مرتبط با مجموعه دستورات iptables را روی سرور اجرا کنیم.
سرور Ubuntu 14.04
sudo /etc/init.d/iptables-persistent save
sudo /etc/init.d/iptables-persistent reload
سرور Ubuntu 16.04 و Ubuntu 18.04
sudo netfilter-persistent sav
sudo netfilter-persistent reload
سرور CentOS
service iptables save
برگردانی قوانین iptables
برای مواقعی که نیاز است تا همه چیز را به حالت اول برگردانیم، باید فایلی که از قوانین iptables از قبل تهیه کرده بودیم را بازگردانی کنیم. برای این منظور دستور زیر به کارمان خواهد آمد.
iptables-restore < IPtablesbackup.txt
این یک آموزش سریع و البته مفید در رابطهٔ با کار با دستور iptables برای مدیریت این رابط فایروال روی یک رایانه یا سرور لینوکس بود.