দ্বৈত নেটওয়ার্ক সংযোগ


9

আমার উবুন্টু ১০.১০ বাক্সে আমার কাছে একটি ইউএসবি সেলুলার মডেম এবং একটি হোম ল্যান সংযোগ রয়েছে।

দুজনেই স্বতন্ত্রভাবে কাজ করে।

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

কেউ কি জানেন, এটা কিভাবে করে?

উত্তর:


11

কোন প্যাকেটগুলি কোথায় যায় তা আপনি কীভাবে সিদ্ধান্ত নিতে চান তার উপর নির্ভর করে বিভিন্ন সম্ভাবনা রয়েছে। টিসিপি / আইপি নেটওয়ার্কিং কীভাবে লিনাক্সে কাজ করে সে সম্পর্কে তাদের বেশিরভাগের কিছুটা বোঝার প্রয়োজন হবে। প্রধান সরঞ্জামগুলি আপনাকে থাকবে না জানি জটিল জিনিস iptables(উবুন্টু: iptables- র Iptables ইনস্টল করুন ) এবং iproute2 ( ipকমান্ড) (উবুন্টু: iproute আইপ্রেট ইনস্টল করুন , iproute-ডক আইপ্রেট-ডক ইনস্টল করুন )।

যদি আপনি টার্গেটের আইপি ঠিকানার মাধ্যমে সম্পূর্ণ বৈষম্য করতে পারেন তবে এটি সহজ: আইপি ঠিকানাগুলি আপনার ইচ্ছা অনুযায়ী চালাবেন route উদাহরণস্বরূপ, নিম্নলিখিত কমান্ডগুলি 1.2.3.3 এর জন্য সমস্ত প্যাকেট তৈরি করবে। এক্স এবং 1.2.4.2 যেতে হবে ppp0এবং অন্যান্য প্যাকেটগুলি দিয়ে যেতে হবে eth0

route add -net 1.2.3.4/24 ppp0
route add -host 1.2.4.2 ppp0
route add -net 0.0.0.0/0 eth0

আরও জটিল প্রয়োজনীয়তার জন্য আপনার ব্যবহার শুরু করতে হবে iptablesএবং ip route। উদাহরণস্বরূপ, নিম্নলিখিত কমান্ডগুলি বিশেষ রাউটিং টেবিলগুলি সেট আপ করে যাতে 1 চিহ্নিত সমস্ত প্যাকেটগুলি বের হয়ে যায় eth0এবং 2 চিহ্নিত সমস্ত প্যাকেটগুলি বাইরে চলে যায় ppp0( localhostলুপব্যাক ইন্টারফেসের সাথে থাকা প্যাকেটগুলি বাদে )।

ip rule add fwmark 1 table 1
ip route add 127.0.0.0/0 table 1 dev lo
ip route add 0.0.0.0/0 table 1 dev eth0
ip rule add fwmark 2 table 2
ip route add 127.0.0.0/8 table 2 dev lo
ip route add 0.0.0.0/0 table 2 dev ppp0

এখন আপনি iptablesবহির্গামী প্যাকেটগুলিকে "ম্যাঙ্গেল" করতে ব্যবহার করতে পারেন , এমন একটি চিহ্ন যুক্ত করুন যা তারা সিদ্ধান্ত নেবে যে তারা কোন পথে চলে। উদাহরণস্বরূপ, সমস্ত বিদায়ী এসএমটিপি ট্র্যাফিক (পোর্ট 25) এর মাধ্যমে কীভাবে প্রেরণ করা যায় eth0এবং সমস্ত ট্র্যাফিকের proxyমাধ্যমে ব্যবহারকারী হিসাবে চলমান একটি অ্যাপ্লিকেশন দ্বারা উত্পন্ন হয় ppp0

iptables -t mangle -A OUTPUT -p tcp --dport 25 -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -m owner --uid-owner proxy -j MARK --set-mark 2

ইন্টারনেটে সংযুক্ত 2 টি নেটওয়ার্ক ইন্টারফেসও দেখুন এক ডোমেইন নাম অনুযায়ী ব্যবহার করার জন্য চয়ন এবং বিভিন্ন নেটওয়ার্ক ইন্টারফেসের সাথে যুক্ত হন সফ্টওয়্যার


যখন উভয় ইন্টারফেস সংযুক্ত থাকে তখন আপনাকে এই আদেশগুলি চালনার ব্যবস্থা করতে হবে। আমি আপনাকে প্রস্তাব দিচ্ছি যে আপনি এমন একটি স্ক্রিপ্ট লিখুন যা আপনাকে /etc/network/if-up.d/0justin-routesচাইলে আদেশগুলি চালায়। এই স্ক্রিপ্টটি কার্যকর করা হবে যখনই কোনও নেটওয়ার্ক ইন্টারফেস উপস্থিত হবে; এর নামটি শুরু হওয়ার সাথে সাথে 0এটি প্রক্রিয়াটির প্রথম দিকে চলবে, অ্যাপ্লিকেশন-নির্দিষ্ট সেটআপের আগে যা রুটগুলি ঠিকঠাক হওয়ার আশা করতে পারে। /etc/network/if-down.d/ইন্টারফেসগুলির মধ্যে একটি নীচে নেমে আসলে আপনি জিনিসগুলি করতে চান এমন ক্ষেত্রে প্রতিসাম্য রয়েছে। (সমস্ত সম্পর্কিত রুটগুলি স্বয়ংক্রিয়ভাবে মুছে ফেলা হবে, যা আপনি যখন অন্য প্যাকেটগুলি অন্য ইন্টারফেসে ফিরে যেতে চান তখন আটকা পড়ে থাকতে পারে stra)

Ifup স্ক্রিপ্টগুলি নথিভুক্ত করা হয় interfaces(5) man page। মূল বিষয়টি হ'ল যে ইন্টারফেসটির নামটি উপরে বা নীচে আনা হচ্ছে তা এনভায়রনমেন্ট ভেরিয়েবলের মধ্যে রয়েছে IFACE। অন্য ইন্টারফেসটি ইতিমধ্যে রয়েছে কিনা তা আপনি জানতে পারবেন if ifconfig | sed 's/ .*//' | grep -Fqx 'eth0'; then …


@ জাস্টিন: এটি এমন জিনিস নয় যা নিয়ে আমার অনেক অভিজ্ঞতা আছে, সুতরাং দয়া করে কী কাজ করেছেন, কোনটি কাজ করেন না, যা আপনি বুঝতে পারছেন না ইত্যাদি সম্পর্কে
মতামত দিন

1
আমি করতে দুটি সংযোজন পেয়েছি: প্রথমত, এটি পিপিপি 0 এথিক থেকে উত্স ঠিকানা সহ ট্র্যাফিক প্রেরণ করে। আপনি এটি ব্যবহার করে এটি পরিবর্তন করতে পারেন: that অ্যাডাপ্টারের আইপি ঠিকানাটি iptables -t nat -A POSTROUTING -o tun0 -j SNAT --to-source ppp_ipকোথায় ppp_ip। দ্বিতীয়ত, আপনি কঠোর বন্ধ করতে হবে rp_filter/proc/sys/net/ipv4/config/ppp0/rp_filter। রিল্যাক্স মোডে সেট করার সময় এটি কাজ করে, যা ২
করালগা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.