لماذا لا إيبتبلس إدخالات كتلة الأزيز Xen الجهاز الظاهري ؟ [مغلقة]
سؤال
أنا أكتب باش النصي لإضافة بسيطة جدار النار لمدة كسين.
وهنا الفعلية تكوين جدار الحماية :
Chain INPUT (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all -- anywhere anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain RH-Firewall-1-INPUT (2 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere icmp any
ACCEPT esp -- anywhere anywhere
ACCEPT ah -- anywhere anywhere
ACCEPT udp -- anywhere 224.0.0.251 udp dpt:mdns
ACCEPT udp -- anywhere anywhere udp dpt:ipp
ACCEPT tcp -- anywhere anywhere tcp dpt:ipp
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT udp -- anywhere anywhere state NEW udp dpt:ha-cluster
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:http
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:https
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
أود إضافة سلسلة جديدة لكل من الأجهزة الظاهرية (كل واحد منهم لديه واجهة افتراضية تسمى vif1.0, vif2.0, الخ).واجهة الانتاج (الجسر) هو xenbr0.
هنا هو ما أقوم به (على سبيل المثال لمنع بينغ 'في'ل domU1, vif1.0) :
iptables -N domUFirewall
iptables -I FORWARD -j domUFirewall
iptables -I INPUT -j domUFirewall
iptables -A domUFirewall -i vif1.0 -p icmp -j DROP
ولكن ..أنها لا تعمل, أنا لا تزال قادرة على بينغ في/خارج domU.
يجب أن يكون هناك شيء حقا 'غبية' ولكن أنا لا يمكن معرفة ما هو الخطأ.
أي أدلة ؟
Thx
المحلول
منذ كنت تستخدم كسين مع الشبكات الموصولة الحزم يتم اعتراضها في المستوى قبل العاديين إيبتبلس الأوامر يمكن التأثير عليهم.وهكذا, وربما كنت سوف تحتاج إلى استخدام ebtables
الأمر إلى التأثير توجيه حزم في الطريقة التي تريد.
- ebtables/إيبتبلس التفاعل على لينكس على أساس الجسر
- ebtables(8) - لينكس رجل الصفحة
- كسين ويكي * XenNetworking
الجواب الأصلية اليسار تحت شأنها أن تعمل على تكوينات أخرى ، ولكن ليس كسين مع الشبكات الموصولة.
أنا ذاهب إلى التظاهر على سبيل المثال أن عنوان IP vif1.0
هو 192.168.1.100.
وأود أن إعادة المنطق أن يتم التحقق جهاز الإدخال ، ولكن بدلا من ذلك تحقق من عنوان IP.في إدخال سلسلة الحزمة قادمة من (أقول) الجهاز eth0
, وليس من vif1.0
.وبالتالي فإن هذه القاعدة:
iptables -I INPUT -i vif1.0 -j domUFirewall
التي سبق المقترحة لن تتطابق مع أي من الحزم.ومع ذلك ، إذا كنت تفعل التالية ، ينبغي أن تفعل ما تريد:
iptables -I INPUT -d 192.168.1.100 -j domUFirewall
حيث في هذه الحالة سلسلة domUFirewall
تم إعداده من قبل:
iptables -N domUFirewall
iptables -F domUFirewall
iptables -A domUFirewall -p icmp -j DROP
إذا أعطيت السلسلة على جهاز واحد ، ثم تريد أن تجعل من هذا الاختيار قبل القفز في سلسلة على الحكم "-j chainName
"العمل.ثم في السلسلة نفسها ، لم تحقق من الجهاز أو عنوان IP.
ثانيا: أنا دائما دافق (فارغة) سلسلة في البرنامج النصي الخاص بك فقط في حال كنت إعادة تشغيل البرنامج النصي.لاحظ أنه عند تشغيل البرنامج النصي, يمكنك الحصول على الشكاوى على -N
خط.هذا هو موافق.
هناك طرق أخرى يمكنك أن تفعل هذا, ولكن لإعطاء مختلفة سبيل المثال, سوف تحتاج إلى معرفة على وجه التحديد كيف VM هو اقامة -- سد الشبكات ؟ نات ؟ الخ.ولكن المثال أعطى هنا يجب أن تعمل في أي من هذه الأوضاع.
وهنا بعض الروابط المفيدة للمستقبل: