मेरा फ़ायरवॉल (iptables) मेरे ब्रिज (brctl) में हस्तक्षेप क्यों करता है?


11

मैंने br0दो इंटरफेस के लिए एक पुल "संलग्न" स्थापित किया :

  • eth0, मेरा भौतिक इंटरफ़ेस वास्तविक LAN से जुड़ा है,
  • vnet0, केवीएम वर्चुअल इंटरफ़ेस (विंडोज वीएम से जुड़ा)।

और मैं आगे श्रृंखला में इस एकल फ़ायरवॉल नियम है:

iptables -A FORWARD -j REJECT

अब, केवल पिंग जो काम कर रहा है वह VM से होस्ट तक है।

br0इंटरफ़ेस मेरी होस्ट मशीन का IP पता का मालिक है। eth0और vnet0मेजबान के दृष्टिकोण से, किसी भी आईपी को "खुद" न करें। Windows VM में एक स्थिर IP कॉन्फ़िगरेशन है।

अगर मेरे iptablesनियम को बदलो ACCEPT(या यहां तक ​​कि अधिक प्रतिबंधक का उपयोग करें iptables -A FORWARD -o br0 -j ACCEPT), तो सब कुछ ठीक चल रहा है! (यानी मैं VM से किसी भी लैन मशीन को पिंग कर सकता हूं, और दूसरा तरीका भी)।

सभी आईपी फ़ॉरवर्डिंग कर्नेल विकल्प अक्षम हैं (जैसे net.ipv4.ip_forward = 0)।

तो, नेटफिल्टर फ़ायरवॉल कुछ ऐसा कैसे ब्लॉक कर सकता है जो सक्षम भी नहीं है?

इसके अलावा, वीएम - लैन ट्रैफिक केवल इम्प्लीमेंट eth0और होना चाहिए vnet0। फिर भी यह -o br0"कार्यों" के साथ फॉरवर्ड ट्रैफ़िक की अनुमति देने जैसा लगता है (हालांकि मैंने बहुत सावधानी से जांच नहीं की थी)।


इस यू एंड एल क्यू करने के लिए अपने एक पर एक नज़र डालें: सेटिंग एक पुल का उपयोग करते समय
SLM

1
इसका उत्पादन क्या हैsysctl -a | grep bridge-nf
स्टीफन चेज़लस

@ net.bridge.bridge-nf-call-arptables = 1 net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-filter-vlan-tagged = 0 net.bridge.bridge-nf-filter-pppoe-tagged = 0
स्टीफनचेज़ेलस

जवाबों:


10

स्टीफन चेज़लस की टिप्पणी उत्तर का संकेत प्रदान करती है।

ब्रिज-एनएफ के अनुसार अक्सर पूछे जाने वाले प्रश्न ब्रिज-एनएफ ब्रिज ट्रैफिक को देखने के लिए iptables, ip6tables या arptables को सक्षम करता है।

कर्नेल संस्करण 2.6.1 के रूप में, पुल-एनएफ व्यवहार नियंत्रण के लिए पांच sysctl प्रविष्टियाँ हैं :

  • bridge-nf-call-arptables - आर्कवर्ड की फ़ोरवर्ड श्रृंखला के लिए एआरपी ट्रैफ़िक को पार किया।
  • bridge-nf-call-iptables - iptables की चेन के लिए IPv4 ट्रैफ़िक को पार करें।
  • bridge-nf-call-ip6tables - ip6tables की चेन में आईपीवी 6 ट्रैफिक को पार करें।
  • bridge-nf-filter-vlan-tagged - उत्तीर्ण vlan टैग टैग एआरपी / आईपी यातायात arptables / iptables के लिए।
  • net.bridge.bridge-nf-filter-pppoe-tagged - {आईपी, आईपी 6} तालिकाओं के लिए पपी-टैगेड आईपी / आईपीवी 6 ट्रैफ़िक पास करें

आप नेटफिल्टर फ़ायरवॉल को अवरुद्ध करने के साथ अक्षम कर सकते हैं:

# sysctl -w net.bridge.bridge-nf-call-iptables=0
# sysctl -w net.bridge.bridge-nf-call-ip6tables=0

4
लिनक्स 3.18 के बाद से, कार्यक्षमता जहां पुल से iptables पैकेट संभालती है, br_netfilterमॉड्यूल लोड नहीं करके अक्षम किया जा सकता है । मॉड्यूल लोड नहीं होने का मतलब यह भी है कि कोई /proc/sys/net/bridge/प्रविष्टि नहीं है ।
लेकेनस्टेयिन

और लिनक्स कर्नेल 5.3 के बाद से यह सुविधा वैश्विक के बजाय प्रति नाम स्थान पर बन जाती है।
एबी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.