লিনাক্সে প্রতি প্যাকেট মাল্টিপ্যাথ রুটিং কীভাবে অর্জন করবেন?


9

লিনাক্স কার্নেল ৩.6 এর আগে আইপিভি 4 মাল্টিপ্যাথ রাউটিং করতে রুট ক্যাশে ব্যবহার করেছিল, যার অর্থ দুটি পৃথক লাইন / আইএসপিগুলির মধ্যে রাউটিংটি বেশ সহজ ছিল। ৩.6 থেকে অ্যালগরিদম প্রতি-প্যাকেটে পরিণত হয়েছে, যার অর্থ দুটি লাইন / আইএসপি অর্জনের জন্য কয়েকটি রুট টেবিল / নিয়ম / iptables চিহ্নিতকারী ট্রিকস প্রয়োজন ছিল।

তবে, যদি আপনার একই আইএসপির সাথে দুটি লাইন থাকে যা ভারসাম্যহীন / ব্যর্থতার ফ্যাশনে প্রতি প্যাকেটের ভিত্তিতে উভয় লাইন একক আইপি রুট করতে পারে তবে 3.6 থেকে আপনি সহজেই লাইন বন্ডিং অর্জন করতে পারবেন (আইপি স্তরে) কারণ উভয় দিক প্রতি প্যাকেট রাউটিং।

৪.৪ থেকে, কার্নেলটি উত্স এবং গন্তব্য ঠিকানাগুলির উপর একটি হ্যাশের উপর ভিত্তি করে ফ্লো-ভিত্তিক লোড ব্যালেন্সিংয়ে আবার পরিবর্তন হয়েছে

আমি বর্তমানে কার্নেল ৪.৪.৩6 চালাচ্ছি, এবং পিপিপিওই সংযোগে মাল্টিপ্যাথ রাউটিং ব্যবহার করছি। আইএসপি থেকে আমার ডাউন স্ট্রিম ট্র্যাফিক প্রতি প্যাকেটের ভিত্তিতে দুটি পৃথক লাইন পেরিয়ে যায় (একটি আইপি উভয় লাইনের নিচে রুটে)। এটি আমাকে একটি পৃথক লাইনের গতির চেয়ে দ্রুত ডাউনলোডের গতি দেয়। উভয় লাইনের প্রায় গতি একসাথে যুক্ত হয়েছে। এটি সত্যই ভাল কাজ করে, স্কাইপ ভিডিও, ভিওআইপি (ইউডিপি), ইউটিউব ইত্যাদি সমস্ত দুর্দান্ত কাজ করে।

এ জাতীয় ভাল প্রবাহের অভিজ্ঞতার কারণে আমি এটিকে প্রবাহের দিকে চেষ্টা করতে চাই তবে আমার প্রবাহের ট্র্যাফিক উভয় পিপিপি ডিভাইস জুড়েই নতুন প্রবাহ ভিত্তিক অ্যালগরিদম অনুসারে চালিত হয়েছে (যার আইপি ঠিকানা রয়েছে)। এর অর্থ হ'ল আমি কোনও আপলোডের গতি অর্জন করতে পারি না যা একটি লাইনের গতির চেয়ে দ্রুত is

প্রতি প্যাকেট অ্যালগোরিদম ব্যবহারের জন্য বর্তমান কার্নেলটি কনফিগার করার কোনও উপায় আছে কি? অথবা প্রতি-প্যাকেট মাল্টিপাথ রুটিং অর্জনের জন্য অন্য কোনও পদ্ধতি? আমার কি কোনও পুরানো কার্নেলটিতে ফিরে যেতে হবে (যা আমি অন্যান্য বিভিন্ন কারণে করতে চাই না)?

আমার আইএসপি বহু লিঙ্ক পিপিপি সমর্থন করে না।

যদি এটি প্রাসঙ্গিক হয় তবে আমি বর্তমানে একটি রাস্পবেরি পাই 3 এ আর্চ লিনাক্স এআরএমভি 7 চালিয়ে যাচ্ছি।


3
এটি একটি খুব খারাপ ধারণা। L2 (অর্থাত্ MLPPP) এ প্রতি প্যাকেট ব্যালেন্সিংয়ে প্যাকেটগুলিকে পুনরায় সাজানোর জন্য যথেষ্ট যুক্তি অন্তর্ভুক্ত। এই আইপি-র উপর দিয়ে চালানো বাহিরের-অর্ডার সরবরাহের জন্য একটি অসাধারণ সুযোগ (যদি নিকট-নিশ্চিত না হয়) খোলে। এটি ধীরে ধীরে টিসিপি সেশন, সম্পূর্ণরূপে ভাঙা ইউডিপি, যে কোনও ধরণের রিয়েল-টাইম স্ট্রিমিংয়ের সমস্যা ইত্যাদি নিয়ে বিপুল সংখ্যক সমস্যা সৃষ্টি করতে চলেছে The তারা আপনার দিকে একইভাবে ভারসাম্য বজায় রাখবে এমন কোনও পরামর্শ নেই।
rnxrx

@ আরএনএক্সআরএক্স আপনার মন্তব্যের জন্য ধন্যবাদ - অতিরিক্ত বিবরণ দেওয়ার জন্য প্রশ্নটি সম্পাদনা করেছেন। আমার প্রশ্ন থেকে: "আইএসপি থেকে ডাউন স্ট্রিম ট্র্যাফিক প্রতি প্যাকেটের ভিত্তিতে দুটি পৃথক লাইন পেরিয়ে যায়"। আইএসপি একটি কন্ট্রোল প্যানেল সরবরাহ করে - যখন আমি উভয় লাইনের উপর দিয়ে একটি আইপি বেছে নেওয়ার জন্য বেছে নিই তখন তারা প্রতি প্যাকেটের ভিত্তিতে একেবারে সুষম রাউন্ড-রবিনকে রুট করে। উভয় লাইনের গতির প্রায় 90% এ একসাথে যুক্ত হয়েছে এবং তাত্ক্ষণিক ব্যর্থতা সরবরাহ করে, ভাল কাজ করে। স্কাইপ ভিডিও, ভিওআইপি কলগুলি, ইউটিউব, বিবিসি স্ট্রিমিং ইত্যাদি সমস্ত দুর্দান্ত - এ জাতীয় একটি দুর্দান্ত ডাউন স্ট্রিম অভিজ্ঞতা আমাকে উজানে চেষ্টা করতে বাধ্য করে
bao7uo

1
আহ - পেয়েছেন ... সুতরাং বর্তমানে আপনার কাছে দুটি অনন্য আইপি রয়েছে (প্রতি সংযোগে একটি) বা তারা দুটি সমান্তরাল পাথ দিয়ে আপনার পাশের একটি একক আইপি (বা একটি সাবনেট) এ চলেছে? আপনি যদি কোনও ধরণের NAT চালাচ্ছেন তবে এটি সুস্পষ্টভাবে গুরুত্বপূর্ণ যে এটি এই ভারসাম্যের আগেই ঘটেছিল। যাইহোক - আপনি সমর্থন . aa.net.uk/… একবার দেখেছেন ? এটি আপনি যা বর্ণনা করছেন তা মূলত সম্পাদন করতে iptables এক্সটেনশনগুলি ব্যবহার করে এবং যেমন আধুনিক কার্নেল সংস্করণগুলিতে মোটামুটি সুসংগত হওয়া উচিত।
আরএনএক্সআরএক্স

ধন্যবাদ @ আরএনএক্সআরএক্স - হ্যাঁ আমি দুটি বিকল্প করতে পারি (দুটি অনন্য আইপি বা একটি আইপি সমান্তরাল পাথ দিয়ে)) এটি আরও বুদ্ধিমান বলে মনে হওয়ায় আমি একক আইপি বিকল্পটি পছন্দ করেছি।
bao7uo

উত্তর:


3

ঠিক আছে, তাই এটি তদন্ত করার জন্য আরও সময় দেওয়ার পরে আমি লিনাক্স টিইকিউএল (ট্রু লিঙ্ক ইকুয়ালাইজার) ব্যবহার করে এটি করার একটি উপায় খুঁজে পেয়েছি। এখানে আমি একটি লিঙ্কটি শিথিলভাবে অনুসরণ করেছি তবে কিছু টুইটের সাথে।

http://lartc.org/howto/lartc.loadshare.html

এইভাবে আমি এটি আর্চ লিনাক্স এআরএমভি 7 (রাস্পবেরি পাই 3) এ কাজ করতে পেলাম

বুট চালু:

নিম্নলিখিত কমান্ডটি উপযুক্ত কার্নেল মডিউলটি লোড করার জন্য বুটে চালানো উচিত।

modprobe sch_teql

নীচের কমান্ডগুলি বুথের উপর নির্ভর করে চালানোর জন্য আপনাকে এথ0 এ স্থানীয় নেটওয়ার্ক থেকে নেট করতে চান।

sysctl -w net.ipv4.ip_forward=1
iptables -A INPUT -i ppp+ -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i ppp+ -o eth0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A POSTROUTING -t nat -o teql+ -j MASQUERADE

ফরওয়ার্ড রিটার্ন ট্র্যাফিক পিপিপি + তে রয়েছে, এবং টেকএল-তে পোস্ট করা মস্কোয়ারেড + কারণ বহির্গামী ট্র্যাফিক টেকএলে চলে যায় এবং পিপিপিতে ফিরে ট্র্যাফিক ফিরে আসে।

পিপিপি লিঙ্কগুলি যখন আসে:

লিঙ্কগুলি লোড-ভারসাম্যযুক্ত বলে ধরে নিলে পিপিপি হয়, একটি স্ক্রিপ্টের স্ক্রিপ্টে চালানোর জন্য নিম্নলিখিত কমান্ডগুলি /etc/ppp/ip-up.d/

sysctl -w net.ipv4.conf.ppp1.rp_filter=2
sysctl -w net.ipv4.conf.ppp2.rp_filter=2
tc qdisc add dev ppp1 root teql0
tc qdisc add dev ppp2 root teql0
ip address add 1.1.1.1/32 dev teql0
# you can add additional public IP addresses teql0 if you need to
ip link set teql0 up
ip route replace default scope global dev teql0

1.1.1.1আপনার আইএসপি-মুখী সর্বজনীন আইপি ঠিকানাটি কোথায় । অতিরিক্ত জনসাধারণের আইপিগুলি টেল্ক্লি0 ডিভাইসে বরাদ্দ করা যেতে পারে তবে পিপিপি ডিভাইসগুলিতে নির্ধারিত হওয়ার দরকার নেই। আমার সেটআপে দুটি পিপিপি লিঙ্ক একই আইপি শেয়ার করে (পিপিও ইত্যাদির মাধ্যমে আলোচিত) টেকল লিঙ্কটি উপরে বর্ণিত হিসাবে ম্যানুয়ালি নির্ধারিত হয়েছে। আইএসপি উভয় লিঙ্ক সমানভাবে আইপি জন্য ট্রাফিক প্রেরণ করা প্রয়োজন।

বিপরীত পথ ( rp_filter) 2উভয় উপরের স্ক্রিপ্টে (আলগা) সেট করা হয়েছে যাতে পিপিপি ইন্টারফেসে টেকল্লির পরিবর্তে ফিরে আসার কারণে রিটার্ন প্যাকেটগুলি বাদ না পড়ে।

আমি এটি সেভাবে সেট আপ করেছি এবং এটি পুরোপুরি কার্যকর হয়। খুব সহজ! লিঙ্কগুলি যখন ব্যর্থ হয়, সেখানে নির্বিঘ্নে ব্যর্থতা হয়। যখন তারা আসে, তারা কেবল আবার কাজ শুরু করে। দেখে মনে হচ্ছে কোনও প্যাকেটের ক্ষতি বা বিলম্ব নেই যখন এটি ব্যর্থ হয় এবং এটি কখনই ফিরে আসে না none

এছাড়াও, একজন মন্তব্যকারী নীচের লিঙ্কটির পরামর্শ দিয়েছেন যা নীতিগত রাউটিং ব্যবহার করে, প্রতিটি অন্যান্য প্যাকেট ইত্যাদি চিহ্নিত করার জন্য iptables সহ, ​​তবে আমি এটি কয়েক দিনের মধ্যে চেষ্টা করব যে এটি উপরের চেয়ে আরও ভাল কাজ করে কিনা এবং সে অনুযায়ী এখানে প্রতিক্রিয়া সরবরাহ করবে।

http://support.aa.net.uk/Router_-_Linux_upload_bonding_using_policy_routing


আমি কখনও পলিসি রাউটিংয়ের চেষ্টা করি নি কারণ টিইকিউএল এত ভাল কাজ করেছে। যদি এটি না ভাঙে ....
বাও

আমি এটি কাজ পেতে চেষ্টা করছি। আমার বন্ডিং কাজ করছে, আমি রাউটার থেকে বন্ডেড ইন্টারফেসটি ব্যবহার করতে পারি। যদিও আমি এনএটি কাজ করতে পারি না, আমার ল্যান থেকে ট্র্যাফিক বন্ধিত লিঙ্কটি
নামছে না

আপনি যদি সার্ভারের ত্রুটিতে কোনও নতুন প্রশ্ন পোস্ট করেন এবং একটি মন্তব্য থেকে এটির সাথে লিঙ্ক করেন তবে আমি এটি আপনার জন্য বের করার চেষ্টা করব। ইন্টারফেস / আইপি কনফিগারেশন, রাউটিং টেবিল, iptables নিয়ম ইত্যাদির মতো যথাসম্ভব তথ্য অন্তর্ভুক্ত করুন যদি না আপনি মন্তব্যগুলিতে এখানে সমস্ত তথ্য ফিট না করতে পারেন?
bao7uo

1
পুনশ্চ. স্রেফ আমার কনফিগারেশনে একটি ভুল লক্ষ্য করেছেন। এটি বলেছে sysctl -w net.ipv4.ip_forwardতবে বলা উচিত sysctl -w net.ipv4.ip_forward=1তাই আমি উপরে সংশোধন করেছি। এটি অবশ্যই বন্ধনযুক্ত লিঙ্কটি ল্যান থেকে নামার পথে ট্র্যাফিককে আটকাতে পারে।
bao7uo

আমি মনে করি না যে এটিই আমার জন্য কাজ করা বন্ধ করে দিয়েছে, আমার সিস্টেমে সাস্কটিএলে ফরোয়ার্ডিং সক্ষম ছিল। আমি এখন প্রচুর পরিমাণে অর্ডার প্যাকেট যা দেখছি তা প্রত্যাশিত কিনা তা নিয়ে কাজ করার চেষ্টা করছি।
andynormancx
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.