লিনাক্স: কোনও প্রোগ্রাম এটির আইপি-ঠিকানার সাথে আবদ্ধ করার কার্যকর উপায় কি?


11

ফ্রিবিএসডি ৪.৯-তে কেবল একটি একক কমান্ডের মতো কাজ করা খুব সহজ ছিল

jail [-u username]  path hostname ip-number command

যদি পথটি /আপনি যথারীতি ঠিক একই প্রোগ্রামে চালিত হয়ে থাকেন তবে এর সমস্ত নেটওয়ার্ক যোগাযোগ কেবলমাত্র উত্স হিসাবে দেওয়া আইপি-ঠিকানা ব্যবহারের জন্য সীমাবদ্ধ ছিল। কখনও কখনও এটি খুব সহজ।

এখন লিনাক্সে এলএক্সসি রয়েছে, যা ফ্রিবিএসডি-র jail(বা সোলারিসের অঞ্চলগুলির) সাথে খুব মিল দেখাচ্ছে - আপনি কি প্রোগ্রাম চালানোর জন্য একইভাবে ভাবতে পারেন?


আপনি কোন প্রোগ্রামটি দিয়ে এটি করার চেষ্টা করছেন? অনেক প্রোগ্রাম কনফিগার যথেষ্ট যে, তারা করা যেতে পারে বলেন বাঁধাই করার যা আইপি।
ওয়ারেন ইয়ং

@ ওয়ারেন ইয়ং, ধন্যবাদ কেও, তবে "অনেক"! = "সমস্ত"
পোয়েজ

"কারাগারে" একটি নির্দিষ্ট আইপি ব্যবহারের জন্য নির্বাহযোগ্য একটি ভাল ব্যবহারের ক্ষেত্রে ল্যান পার্টির একটি মেশিনে একাধিক গেম সার্ভার চলছে। উদাহরণস্বরূপ ভালভ গেমগুলি কেবল 27015-27020 বন্দরগুলিতে সম্প্রচারিত হয় তাই আইপি প্রতি আপনার কেবল 6 সার্ভার থাকতে পারে। সুতরাং আপনি একটি এনআইসিতে ভার্চুয়াল আইপি যুক্ত করেছেন তবে তারপরে আপনাকে গেম সার্ভারের কমান্ড লাইনে "+ ip <address>" উল্লেখ করতে হবে যা ল্যান ব্রাউজারে দৃশ্যমান কোনও সার্ভারের ক্লায়েন্ট => এর কাছে উপস্থিতি সম্প্রচার করা বন্ধ করে দেয়। সুতরাং "+ ip" কাজ করবে না। সুতরাং আমাদের এমন একটি পরিবেশে প্রতিটি সার্ভারকে জেল করতে হবে যেখানে এটি কেবলমাত্র 1 আইপি ঠিকানা খুঁজে পেতে পারে। ফলাফল: # সার্ভার + ক্লায়েন্টের কোনও সীমা নেই সমস্ত সার্ভার দেখতে পাবে।
টিমমস

উত্তর:


12

কোনও নেটওয়ার্ক নেমস্পেসের অভ্যন্তরে প্রক্রিয়া শুরু করা যা কেবলমাত্র পছন্দসই আইপি ঠিকানা দেখতে পারে একই জাতীয় কিছু অর্জন করতে পারে। উদাহরণস্বরূপ, অনুমিত আমি কেবল একটি নির্দিষ্ট প্রোগ্রামে লোকালহোস্ট উপলভ্য চাই।

প্রথমত, আমি নেটওয়ার্ক নেমস্পেস তৈরি করি:

ip netns add limitednet

নেমস্পেসের ডিফল্টরূপে একটি লুপব্যাক ইন্টারফেস থাকে, সুতরাং পরবর্তী আমি কেবল এটি আনতে চাই:

sudo ip netns exec limitednet ip link set lo up

এখন, আমি ব্যবহার করে একটি প্রোগ্রাম চালাতে পারি ip netns exec limitednetএবং এটি কেবল লুপব্যাক ইন্টারফেস দেখতে সক্ষম হবে:

sudo ip netns exec limitednet ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever

যদি আমি লোকালহোস্ট ব্যতীত অন্য কোনও ঠিকানায় এটি সীমাবদ্ধ রাখতে চাইতাম, তবে আমি নাম স্পেসে অন্য ইন্টারফেসগুলি যুক্ত করে যুক্ত করতে পারলাম:

ip link set DEVICE_NAME netns NAMESPACE

ইন্টারফেসের একাধিক আইপি অ্যাড্রেস থাকতে পারে এমন ক্ষেত্রে যেখানে একটি একক আইপি অ্যাড্রেস একটি নামস্থানে যুক্ত করতে হবে তার জন্য আমাকে আরও কিছুটা পরীক্ষা করতে হবে

নামব্যবধান উপর LWN নিবন্ধ এছাড়াও সহায়ক।


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