বিভিন্ন নেটওয়ার্ক ইন্টারফেসে সফ্টওয়্যারটি আবদ্ধ করুন


37

আমার দুটি ভিন্ন নেটওয়ার্ক ইন্টারফেস রয়েছে, 2 টি নেটওয়ার্কের সাথে সংযুক্ত। একটি হ'ল একটি নীতি 0 এবং অন্যটি একটি ওয়ালান0। আমি কোনও সফ্টওয়্যারকে কেবল একটি নির্দিষ্ট ইন্টারফেস ব্যবহার করতে কীভাবে বলতে পারি?

মূলত আমি ফায়ারফক্সটি এথ0 ব্যবহার করা চাই কারণ এটি বিশ্ববিদ্যালয়ের ল্যান নেটওয়ার্ক এবং আমাকে ইন্ট্রানেট সাইটে যেতে হবে, অন্যটি একটি ওয়াইফাই নেটওয়ার্ক যা ইন্টারনেটের জন্য উন্মুক্ত এবং আমি এটি ক্রোমের সাথে আবদ্ধ করতে চাই।

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

সমস্যাটি হ'ল যদি আমি উভয়ই সংযুক্ত হয়ে থাকি তবে মাঝে মাঝে ব্রাউজারটি এথ0 ব্যবহার করে www.stackoverflow.com সন্ধান করে। সুতরাং আমি কেবলমাত্র একটি নির্দিষ্ট ইন্টারফেস ব্যবহার করতে ব্রাউজারকে নিয়োগ করতে চেয়েছিলাম।


আপনার সমস্যাগুলির জন্য আরও ভাল সমাধানের পথটি কি নয়? আমি বলতে চাইছি যে উবুন্টু.স্ট্যাকেক্সেঞ্জ ডটকমের সাথে সংযোগগুলি কোনও প্রোগ্রাম থেকে একই ইন্টারফেস ব্যবহার করা উচিত।
জাভিয়ের রিভেরা

উত্তর:


23

আপনি ক্লায়েন্ট সফ্টওয়্যারটিকে নির্দিষ্ট নেটওয়ার্ক ইন্টারফেসের সাথে আবদ্ধ করতে পারবেন না, তবে আপনি কার্নেলকে বলতে পারেন যে আপনি কেবলমাত্র কয়েকটি আইপি অ্যাড্রেসের জন্য একটি নেটওয়ার্ক ইন্টারফেস এবং অন্য কোনও কিছুর জন্য অন্যটি ব্যবহার করতে চান। এটিকে "রাউটিং" বলা হয় এবং কমান্ডগুলি /sbin/routeএবং ব্যবহার করে কনফিগার করা যায় /sbin/ip

আমি যদি আপনার প্রশ্নটি সঠিকভাবে পড়ে থাকি তবে আপনি ইন্টারফেস ব্যবহার করে ইন্ট্রানেট আইপি ঠিকানার সাথে এবং ইন্টারফেস eth0ব্যবহার করে ইন্টারনেটে সংযোগ করতে চান wlan0

আপনি যদি কমান্ডটি চালনা করেন ip route listতবে নীচের মতো একটি আউটপুট দেখতে হবে (সংখ্যাগুলি পৃথক হবে এবং এতে আরও লাইন থাকতে পারে):

$ ip route list
10.60.44.0/25 dev eth0  proto kernel  scope link  src 10.60.44.39  metric 1 
192.168.80.0/21 dev wlan0  proto kernel  scope link  src 192.168.84.122  metric 2 
[...]
default via 10.60.44.1 dev eth0  proto static 

প্রথম দুটি লাইন আপনাকে ইন্টারফেসের সাথে সংযুক্ত নেটওয়ার্কগুলি সম্পর্কে বলবে eth0এবং wlan0: সেই নেটওয়ার্কগুলির কম্পিউটারগুলিতে পরিচালিত নেটওয়ার্ক ট্র্যাফিকগুলি সরাসরি তাদের সম্পর্কিত ইন্টারফেসের মাধ্যমে প্রেরণ করা হবে।

শেষ লাইনটি আপনাকে "ডিফল্ট রুট" কী বলে: আপনার কম্পিউটারটি যদি কোনও নেটওয়ার্কের সাথে কোনও কম্পিউটারের সাথে কথা বলতে চায় তবে এটি সংযুক্ত নেই (যেমন eth0, স্ট্যাকওভারফ্লো ডটকম সার্ভার), এটি হোস্টের মাধ্যমে উপলব্ধ হয়ে ট্র্যাফিকের পথটি যাত্রা করবে 10.60.44.1( "ডিফল্ট গেটওয়ে" বলা হয়)।

সুতরাং, ইন্টারনেট ট্র্যাফিকের পথে চলার জন্য wlan0আপনাকে নিশ্চিত হওয়া উচিত যে ip route listআউটপুটে শেষ লাইনটি এমন কিছু পড়ছে:

default via A.B.C.D dev wlan0 proto static

A.B.C.Dওয়্যারলেস ল্যানে প্রবেশদ্বারের আইপি ঠিকানাটি কোথায় । যদি আউটপুটে "dev wlan0" থাকে না তবে আপনি কমান্ডটি দিয়ে এটি পরিবর্তন করতে পারেন:

sudo ip route change to default dev wlan0 via A.B.C.D

আপনি দুটি উপায়ের A.B.C.Dজন্য সঠিকটি খুঁজে পেতে পারেন wlan0:

  1. ডিরেক্টরিতে দেখুন /var/lib/dhcp3/: আপনার কিছু dhclient-...-wlan0.leaseফাইল খুঁজে পাওয়া উচিত । সাম্প্রতিকতম এক খুলুন এবং স্ট্রিং সঙ্গে একটি লাইন অনুসন্ধান option routerতাতে: লাইন বাকি আপনি IP ঠিকানা বলে A.B.C.D

  2. আপনার স্থানীয় নেটওয়ার্ক প্রশাসকদের জিজ্ঞাসা করুন। (যাইহোক, সম্ভবত সবচেয়ে ভাল কাজ)

এই কনফিগারেশনটি দিয়ে আপনার সক্ষম হওয়া উচিত:

  • ইন্টারনেট ব্রাউজ করুন wlan0
  • আপনার ইন্ট্রনেটের মাধ্যমে ব্রাউজ করুন eth0, তবে এটি একত নেটওয়ার্কে রয়েছে

যদি আপনার ইন্ট্রনেট একাধিক নেটওয়ার্ক বিস্তৃত হয়, তবে আপনাকে তাদের জন্য রুটগুলি যুক্ত করতে হবে - এবং এটি অবশ্যই এমন একটি বিষয় যা আপনাকে স্থানীয় নেটওয়ার্ক প্রশাসকদের সাথে যোগাযোগ করার প্রয়োজন। :-)


কৌতূহলের বাইরে: আমি যদি আইপি অ্যাড্রেসগুলি না দিয়ে ডিএনএস (সাবডোমেনগুলি অন্তর্ভুক্ত করতে) আবদ্ধ করতে চাই?
dierre

1
@ ডিয়ের সংক্ষেপে: আপনি পারবেন না, রাউটিং আইপি অ্যাড্রেসের ভিত্তিতে। দীর্ঘ কাহিনীটি শুরু করে বলেছে যে রাউটিংটি একটি নেটওয়ার্ক স্তর 3 জিনিস, তাই এটি ডিএনএস নামগুলির সম্পর্কেও জানতে পারে না, যার রেজোলিউশনটি নেটওয়ার্কিং প্রোটোকল স্ট্যাকের পরে আরও ঘটে ...
রিকার্ডো মুরি

হ্যাঁ হ্যাঁ, রাউটিংয়ের অর্থ আমার ছিল না। আমি সাধারণভাবে বলতে চাই এটা করা যায়? নেটওয়ার্ক ইন্টারফেসে ডিএনএস বাঁধাই?
dierre

@ ডিয়ের আপনি ঠিক কী করতে চান? কেবলমাত্র একটি নির্দিষ্ট নেটওয়ার্ক ইন্টারফেসে একটি ডিএনএস সার্ভার উত্তর দেওয়া হচ্ছে? বা একটি ডিএনএস ক্লায়েন্ট থাকার (যেমন, ডিএনএস রেজোলিউশন) কেবলমাত্র একটি নির্বাচিত ইন্টারফেস ব্যবহার করবেন?
রিকার্ডো মুরি

1
@Riccardo Murri: ubuntu.stackexchange.com/questions/4988/... এবং ভিওলা
Dierre

2

"আইপি নেট" নেটওয়ার্ক নেমস্পেস তৈরি করে। তারপরে আপনি ভার্চুয়াল ইন্টারফেস (আইপি লিংক অ্যাড ... Veth) তৈরি করতে পারেন এবং এগুলিকে নেমস্পেসে সংযুক্ত করতে পারেন।

নেমস্পেসগুলি উদাহরণস্বরূপ বিভিন্ন রুট ব্যবহার করার জন্য কনফিগার করা যেতে পারে (এভাবে বিভিন্ন ইন্টারফেস ব্যবহার করে)

তারপরে আপনি সেই নাম স্থানটিতে কমান্ডগুলি চালাতে পারেন, এটি তৈরি করা নেমস্পেস ব্যবহার করবে .. "আইপি নেটস এক্সিকিউশন NAME সেন্টিমিটার ..."

সূত্র: http://manpages.ubuntu.com/manpages/saucy/en/man8/ip-netns.8.html

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