كنت أفكر في شيئين حول iptables لفترة من الوقت: معظم أولئك الذين يبحثون عن هذه الدروس هم مبتدئون وثانيًا ، كثير منهم يبحثون بالفعل عن شيء بسيط إلى حد ما ومفصل بالفعل.
هذا المثال لخادم الويب، ولكن يمكنك بسهولة إضافة المزيد من القواعد وتكييفها مع احتياجاتك.
عندما ترى تغيير "x" لملكية الفكرية الخاصة بك
#!/bin/bash
# نقوم بتنظيف جداول iptables -F iptables -X # نقوم بتنظيف NAT iptables -t nat -F iptables -t nat -X # mangle table لأشياء مثل PPPoE و PPP و ATM iptables -t mangle -F iptables -t mangle -X # Policies أعتقد أن هذه هي أفضل طريقة للمبتدئين و # لا تزال ليست سيئة ، سأشرح الإخراج (الإخراج) جميعًا لأنها اتصالات صادرة # ، ومدخلات نتجاهل كل شيء ، ولا يجب إعادة توجيه أي خادم. iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP #Intranet LAN intranet = eth0 #Extranet wan extranet = eth1 # Keep state. يتم ترك كل شيء متصل بالفعل (تم إنشاؤه) على النحو التالي: iptables -A INPUT -m state - State ESTABLISHED، RELATED -j ACCEPT # Loop device. iptables -A INPUT -i lo -j ACCEPT # http، https ، لا نحدد الواجهة لأن # نريدها أن تكون كلها iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp - dport 443 -j ACCEPT # ssh داخليًا فقط ومن هذا النطاق لـ iptables -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 7659 -j ACCEPT # المراقبة على سبيل المثال إذا كان لديهم zabbix أو غيره snmp service iptables -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 10050 -j ACCEPT # icmp ، ping جيدًا الأمر متروك لك iptables -A INPUT -p icmp -s 192.168.xx / 24 - i $ intranet -j ACCEPT #mysql with postgres is port 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j ACCEPT #sendmail bueeeh إذا كنت تريد إرسال بعض البريد #iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT # Anti-SPOOFING 09/07/2014 # SERVER_IP = "190.xxx" # server IP - عنوان wan ip الحقيقي لخادمك LAN_RANGE = "192.168.xx / 21" # نطاق LAN من شبكتك أو شبكة vlan # Ip التي يجب ألا تدخل الشبكة الخارجية أبدًا ،هو استخدام القليل من # منطق إذا كان لدينا واجهة WAN بحتة ، فلا يجب أبدًا إدخال حركة مرور من نوع LAN من خلال تلك الواجهة SPOOF_IPS = "0.0.0.0/8 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0 / 16 "# الإجراء الافتراضي - يتم تنفيذه عندما تتطابق أي قاعدة مع ACTION =" DROP "# Packets بنفس عنوان IP لخادمي من خلال wan iptables -A INPUT -i $ extranet -s $ SERVER_IP -j $ ACTION # iptables -A OUTPUT -o $ extranet -s $ SERVER_IP -j $ ACTION # Packets with the LAN Range for the wan ، أضعها على هذا النحو في حال كان لديك # أي شبكة معينة ، لكن هذا زائد عن الحاجة مع قاعدة # التالية داخل الحلقة " لـ "iptables -A INPUT -i $ extranet -s $ LAN_RANGE -j $ ACTION iptables -A OUTPUT -o $ extranet -s $ LAN_RANGE -j $ ACTION ## لا تسمح شبكة WAN لجميع شبكات SPOOF للملكية الفكرية في $ SPOOF_IPS do iptables -A INPUT -i $ extranet -s $ ip -j $ ACTION iptables -A OUTPUT -o $ extranet -s $ ip -j $ تم تنفيذ الإجراء
كما هو الحال دائمًا ، أنتظر تعليقاتكم ، ترقبوا هذه المدونة ، شكرًا لك