Iptables - ব্রিজ এবং ফরোয়ার্ড চেইন


14

আমি সেটআপ ইথারনেট ব্রিজ আছে br0যা দুটি ইন্টারফেস eth0এবংtap0

brctl addbr br0
brctl addif eth0
brctl addif tap0
ifconfig eth0 0.0.0.0 promisc up
ifconfig tap0 0.0.0.0 promisc up
ifconfig br0 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255 

আমার ডিফল্ট FORWARDচেইন নীতি হয়DROP

iptables -P FORWARD DROP

আমি যখন নিম্নলিখিত নিয়মটি যুক্ত করি না তখন ট্র্যাফিক ব্রিজের মধ্য দিয়ে যায় না।

iptables -A FORWARD -p all -i br0 -j ACCEPT

যতদূর আমি বুঝতে পেরেছি iptablesকেবলমাত্র আইপি লেয়ারের জন্য দায়ী।

ebtables ইথারনেট ব্রিজের ট্র্যাফিক ফিল্টার করার জন্য দায়বদ্ধ হওয়া উচিত।

তাহলে কেন আমাকে ইপিটেবলের ফরওয়ার্ড চেইনে দুদক নিয়ম যুক্ত করতে হবে?

উত্তর:


12

ব্রিন-এনএফ কোডের কারণে যা লিনাক্স ২.৪-এর প্যাচ হিসাবে উপলব্ধ এবং লিনাক্স ২.6 এ ব্যবহৃত:

বিআর-এনএফ কোড ব্রিজযুক্ত আইপি ফ্রেমগুলি / প্যাকেটগুলি iptables চেইনগুলির মধ্য দিয়ে যায়। ইথবেবলগুলি ইথারনেট স্তরে ফিল্টার করে, যখন iptables কেবলমাত্র আইপি প্যাকেটগুলি ফিল্টার করে।

যেহেতু আপনি যে ট্র্যাফিকের কাজ করছেন তা আইপি, বিআর-এনএফ ব্রিজযুক্ত প্যাকেটগুলি পাস iptablesকরার কারণে নিয়মগুলি এখনও প্রয়োগ হয় ।iptables

এটি ইন্টারঅ্যাকশন সম্পর্কে পড়ার জন্য একটি দুর্দান্ত সংস্থান এবং এটি একটিতে কীভাবে সমস্ত বা কিছু কার্যকারিতা অক্ষম করা যায় (যেমন আইপটেবলগুলিতে ব্রিজ ট্র্যাফিক পাস না করা) সহ ব্র-এনএফ কোডের কার্যকারিতা বিশদ রয়েছে।


কার্যকারিতা 4.4.0-22-জেনেরিক (উবুন্টু 16.04) এ কাজ করছে না, এমনকি আমি করার পরেও echo "1" > /sys/devices/virtual/net/br0/bridge/nf_call_arptables। কোন ধারনা?
এরি স্ক্লিয়েরুক

আমার উত্তর দিচ্ছে: # লোড বিআরনেটফিল্ডার মোডপ্রোব বিআরনেটফিল্টার # সমস্ত আইপিভি 4 প্যাকেটকে iptables ebtables -t ব্রাউটে-ফর ব্রাউট-এ ব্রাউটিং-পি আইপি -4 ড্র করুন
এরি স্ক্লিয়েরুক

11

আপনি এই আচরণটি অক্ষম করতে পারেন (iptables ব্রিজযুক্ত প্যাকেটগুলি পরিচালনা করতে দেওয়া) টাইপ করে:

echo "0" > /proc/sys/net/bridge/bridge-nf-call-iptables

( http://ebtables.sourceforge.net/docamentation/bridge-nf.html দেখুন )


3
এছাড়াও, / proc / sys / নেট / ব্রিজ / ব্রিজ-এনএফ-কল-ip6tables
এমভি।

1

আপনার সিস্টেমে ব্রিজের সাথে iptables ব্যবহার করার প্রয়োজন না থাকলে আপনি নীচের যে কোনওটি ব্যবহার করে স্থায়ীভাবে এটি অক্ষম করতে পারেন:

  1. একটি iptables নিয়ম যুক্ত করা:

iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT

  1. বা সম্পাদনা /etc/sysctl.conf:

net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.