پاسخ : مشکل iptables به kernel
در حال حاضر Iptables بروی سرور شما فعال هست یا استاپ کردید ؟
اگر استارت هست آیا رول خاصی براش تعریف کردید ؟
پاسخ : مشکل iptables به kernel
استارت هست ولی rule های خودش رو داره من چیزی اضافه تعریف نکردم.
پاسخ : مشکل iptables به kernel
مگه خودتون سرور رو کانفیگ نکردید ؟ در حاضر دسترسی دارید رول جدید اضافه کنید یا تغییری دهید ؟
در حال حاضر این پیامی که گذاشتید مربوط به ران کردن یکی از ماوژلها در کانفیگ Iptables هست در صورتی که خود ماژول وجود نداره !
اگر اشتباه نکنم cfg پسوند فایل کانفیگ هست . باید دقیقا بررسی بشه .
پاسخ : مشکل iptables به kernel
دسترسی دارم ولی بخاطر تازه کار بودن بلد نیستم این کار رو انجام بدم...
باید چیکار کنم؟
پاسخ : مشکل iptables به kernel
خوب من الان بخوام با شما تک تک ماژول ها رو چک کنم و فایل کانفیگ رو با هم چک کنیم خیلی طول می کشه .
یه پیشنهاد سریع !
یه بک آپ از کانفیگ Iptables تهیه کنید و سپس iptables رو به تنظیمات اولیه برگردونید
در این محل می تونید کانفیگ رو بیابید
نقل قول:
/etc/sysconfig/iptables
پاسخ : مشکل iptables به kernel
بک آپ گرفتم فقط تنظیمات اولیه رو از کجا تهیه کنم؟ دوباره باید بریزم یا command خاصی داره؟
پاسخ : مشکل iptables به kernel
این iptables چقدر گستردس الان یکی دو ساعتی هست دارم برای اینکه جواب شما رو بدم همه داکیومنتا رو می خونم .
لاگ ها رو اول یه چک بکن ببین اروری می بینی ؟
با این صورت
کد PHP:
iptables -A OUTPUT -j LOG iptables -A INPUT -j LOG iptables -A FORWARD -j LOG iptables -A OUTPUT -j DROP iptables -A INPUT -j DROP iptables -A FORWARD -j DROP
این لاگ ها رو در مسیر زیر چک کن
نمونه کانفیگ iptables
کد PHP:
#flush tables /usr/sbin/iptables -F # DUMP /usr/sbin/iptables -N DUMP > /dev/null /usr/sbin/iptables -F DUMP /usr/sbin/iptables -A DUMP -p tcp -j LOG /usr/sbin/iptables -A DUMP -p udp -j LOG /usr/sbin/iptables -A DUMP -p tcp -j REJECT --reject-with tcp-reset /usr/sbin/iptables -A DUMP -p udp -j REJECT --reject-with icmp-port-unreachable /usr/sbin/iptables -A DUMP -j DROP # Stateful table /sbin/iptables -N STATEFUL > /dev/null /sbin/iptables -F STATEFUL /sbin/iptables -I STATEFUL -m state --state ESTABLISHED,RELATED -j ACCEPT /sbin/iptables -A STATEFUL -m state --state NEW -i ! eth0 -j ACCEPT /sbin/iptables -A STATEFUL -j DUMP # loopback rules /sbin/iptables -A INPUT -i lo -j ACCEPT /sbin/iptables -A OUTPUT -o lo -j ACCEPT # drop reserved addresses incoming (these are reserved addresses # but may change soon /sbin/iptables -A INPUT -i eth0 -s 0.0.0.0/8 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 1.0.0.0/8 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 2.0.0.0/8 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 5.0.0.0/8 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 7.0.0.0/8 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 10.0.0.0/8 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 23.0.0.0/8 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 27.0.0.0/8 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 31.0.0.0/8 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 36.0.0.0/8 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 39.0.0.0/8 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 41.0.0.0/8 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 42.0.0.0/8 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 58.0.0.0/8 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 59.0.0.0/8 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 60.0.0.0/8 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 127.0.0.0/8 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 169.254.0.0/16 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 172.16.0.0/12 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 197.0.0.0/8 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 224.0.0.0/3 -j DUMP /sbin/iptables -A INPUT -i eth0 -s 240.0.0.0/8 -j DUMP #set iptables to allow everything from my work network /usr/sbin/iptables -A INPUT -i eth1 -p all -s 160.86.0.0/16 -j ACCEPT /usr/sbin/iptables -A INPUT -i eth1 -p all -j DROP # allow certain inbound ICMP types (ping, traceroute..) /sbin/iptables -A INPUT -i eth0 -p icmp --icmp-type destination-unreachable -j ACCEPT /sbin/iptables -A INPUT -i eth0 -p icmp --icmp-type time-exceeded -j ACCEPT /sbin/iptables -A INPUT -i eth0 -p icmp --icmp-type echo-reply -j ACCEPT /sbin/iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request -j ACCEPT # Drop all packets to port 111 except those from localhost /usr/sbin/iptables -A INPUT -s !127.0.0.0/8 -p tcp --dport 111 -j DROP # kill off identd quick /sbin/iptables -A INPUT -p tcp -i eth0 --dport 113 -j REJECT --reject-with tcp-reset # sfs /sbin/iptables -A INPUT -p tcp -i eth0 --dport 4 -j ACCEPT # ftp /sbin/iptables -A INPUT -p tcp -i eth0 --dport 21 -j ACCEPT /sbin/iptables -A INPUT -p udp -i eth0 --dport 21 -j ACCEPT # ssh /sbin/iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT /sbin/iptables -A INPUT -p udp -i eth0 --dport 22 -j ACCEPT # www /sbin/iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT /sbin/iptables -A INPUT -p udp -i eth0 --dport 80 -j ACCEPT # https /sbin/iptables -A INPUT -p tcp -i eth0 --dport 443 -j ACCEPT /sbin/iptables -A INPUT -p udp -i eth0 --dport 443 -j ACCEPT # Don't log route packets coming from routers - too much logging /sbin/iptables -A INPUT -p udp -i eth0 --dport 520 -j REJECT # Don't log smb/windows sharing packets - too much logging /sbin/iptables -A INPUT -p tcp -i eth0 --dport 137:139 -j REJECT /sbin/iptables -A INPUT -p udp -i eth0 --dport 137:139 -j REJECT
پاسخ : مشکل iptables به kernel
خوب قبل از این که این کار بالا رو انجام بدم باید با کمال تاسف بگم که الان دیگه iptables هم استارت نمیشه.
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: mangle filter nat [ OK ]
Unloading iptables modules: [FAILED]
Applying iptables firewall rules: [ OK ]
Loading additional iptables modules: ip_conntrack_netbios_n[FAILED]
عذر میخوام اینقد دارم وقتتونو میگیرم.
لاگ هم ارور Bad argument `iptables' میده ... منظورتون رو که گفتید در مسیر
/var/log/messages چک کنم نفهمیدم...
پاسخ : مشکل iptables به kernel
خوب مشکل رو پیدا کردیم فکر کنم . نه ما کارمون اینه که مشکل رو پیدا کنیم : )
کد PHP:
Loading additional iptables modules: ip_conntrack_netbios_n[FAILED]
این کار رو انجام بده ، به مسیر زیر برو
کد PHP:
/etc/sysconfig/iptables-config
با nano باز کن و سطر های زیر رو پیدا کن و شکل زیر تغییر بده
کد PHP:
IPTABLES_MODULES="ip_conntrack_netbios_ns" IPTABLES_MODULES_UNLOAD="yes"
به
کد PHP:
IPTABLES_MODULES="" IPTABLES_MODULES_UNLOAD="no"
حالا ری استار کن
کد PHP:
$service iptables restart