ufw থেকে iptables-persistent এ স্থায়ীত্ব এবং স্থানান্তর
হ্যালো, আমি অযোগ্য।
এখন পর্যন্ত, আমি ufw ব্যবহার করছিলাম যা সহজে FW সেটিংস করতে দেয়, কিন্তু আমি pf.conf এর মতো কনফিগ স্তরে এটি পরিচালনা করতে চেয়েছিলাম যাতে স্থানান্তর করা সহজ হয়, তাই আমি iptables-persistent ইনস্টল করেছি।
মনে হচ্ছে pf সক্ষম করার জন্য একটি কার্নেল প্যাচও রয়েছে, তবে এটি এতদূর জোর করে ব্যবহার করা ঠিক নয়, এবং এটি iptables থেকে পালানোও হবে, তাই আমি এটি গ্রহণ করেছি।
ইনস্টলেশন
iptables সম্ভবত ইতিমধ্যেই ইনস্টল করা আছে, তাই আমি শুধুমাত্র iptables-persistent ইনস্টল করব।
উল্লেখ্য, ufw স্বয়ংক্রিয়ভাবে মুছে ফেলা হবে কারণ এটি বিরোধপূর্ণ, তাই আগে থেকে নিয়মগুলি পরীক্ষা করে নিন।
sudo apt install iptables-persistent
netfilter-persistent এর ন্যূনতম ব্যবহার
বর্তমান নিয়মগুলি /ets/iptables/ এর অধীনে সংরক্ষণ করতে:
sudo netfilter-persistent save
বর্তমান /etc/iptables/ সেটিংস ব্যবহার করে পুনরায় লোড করতে:
sudo netfilter-persistent reload
উল্লেখ্য, যদি আপনি reload না করে save করেন, তাহলে বর্তমান নিয়মগুলি সংরক্ষিত হিসাবে বিবেচিত হবে এবং আপনার লেখা সেটিংস হারিয়ে যাবে, তাই সতর্ক থাকুন।
সেটিংস
সেটিংসটি এমন হয়েছে:
iptables-এ, মন্তব্য এবং নতুন লাইন সহ সবকিছু save করার সময় উড়ে যায়, যা বেশ কঠিন...।
# cat rules.v4
# Generated by iptables-save v1.8.9 (nf_tables) on Sat Oct 11 16:27:52 2025
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [18:1900]
:TCP - [0:0]
:UDP - [0:0]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i 127.0.0.1/32 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -j ACCEPT
-A INPUT -i wg0 -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p icmp -m icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
COMMIT
# Completed on Sat Oct 11 16:27:52 2025
অনুমতি নিয়মগুলির জন্য, মূলত স্থানীয় এবং WireGuard ইন্টারফেসের জন্য অনুমতি দেওয়া হয়েছে।
আমি মূলত Arch Wiki থেকে এটি নিয়েছি।
সাধারণ স্টেটফুল ফায়ারওয়াল - ArchWiki
কারণ,
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT এটি যোগ না করলে, উদাহরণস্বরূপ, curl করার সময় প্রতিক্রিয়া ফিরে আসবে না, তাই স্পষ্টভাবে প্রতিষ্ঠিত সংযোগগুলির জন্য একটি পৃথক নিয়মে বরাদ্দ করা প্রয়োজন। আমি আবার বুঝতে পারলাম যে pf এই ধরনের স্টেট ম্যানেজমেন্টও ভালোভাবে পরিচালনা করে, যা এটিকে শক্তিশালী করে তোলে, এবং এটি এমন একটি দিন ছিল যখন আমি আবার pf-কে আদর করতে চেয়েছিলাম।
তাহলে, আবার দেখা হবে।
উল্লেখ্য, IPv6 নেই।
# cat rules.v6
# Generated by ip6tables-save v1.8.9 (nf_tables) on Sat Oct 11 17:37:50 2025
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Sat Oct 11 17:37:50 2025
ধন্যবাদ।