LXC ধারকটির জন্য সর্বজনীন আইপি ঠিকানা


26

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

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

আমি যদি স্ট্যাটিকভাবে ধারকটিতে একটি আইপি নির্ধারণ করতে চাই, তবে আমি কীভাবে এটি করব? হোস্টে আমার ব্রিজ কনফিগারেশনে আমার কোনও পরিবর্তন করা দরকার? এটি MACVLAN বিকল্পের সাহায্যে করা ভাল কি?

কোন সাহায্য প্রশংসা করা হবে।


আমি এলএক্সসির সাথে পরিচিত নই, তবে আপনার সাধারণত আইএসপি কেবল আপনাকে একটি সার্বজনীন আইপি ঠিকানা দেবে। আপনার কাছে কি একাধিক স্ট্যাটিক আইপিএস রয়েছে?
wlraider70

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

উত্তর:


23

আমার পদ্ধতির ধারণা ধরে নিয়েছে যে আপনার সার্ভারে একটি একক এনআইসি রয়েছে এবং আপনাকে সেই এনআইসিটি হোস্ট এবং এলএক্সসি অতিথির মধ্যে ভাগ করে নেওয়া দরকার। এর মধ্যে একটি ব্রিজ ব্যবহার করা জড়িত। ব্রিজটি মালিকানাধীন এবং পরিচালনা করে eth0। হোস্ট এখন তার br0পরিবর্তে তার নিজস্ব নেটওয়ার্কিং কনফিগার করে eth0। এলএক্সসি অতিথিদের সেতুর সাথে সংযোগ করার জন্য কনফিগার করা হয়েছে।

  1. হোস্টে sudo apt-get install bridge-utils,।

  2. হোস্টে, eth0একটি ব্রিজ দিয়ে প্রতিস্থাপন করুন :

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

    ইন /etc/network/interfaces:

    1. auto eth0সঙ্গে প্রতিস্থাপন auto br0
    2. প্রতিস্থাপন করুন:

      iface eth0 inet dhcp
      

      সঙ্গে:

      iface br0 inet dhcp
          bridge_ports eth0
      

      আপনার যদি স্থিতিশীল নেটওয়ার্ক কনফিগারেশন থাকে, তবে আপনি প্রতিস্থাপন করবেন:

      iface eth0 inet static
          address ...
          netmask ...
          gateway ...
          etc.
      

      সঙ্গে:

      iface br0 inet static
          bridge_ports eth0
          address ...
          netmask ...
          gateway ...
          etc.
      

      আপনি কেবল পরিবর্তন eth0করছেন br0এবং bridge_ports eth0লাইনটি যুক্ত করছেন ।

    3. হোস্টটি রিবুট করুন। আপনি যদি স্থানীয়ভাবে এটি করে থাকেন তবে sudo ifdown eth0আপনার শুরু করার আগে দৌড়াতে sudo ifup br0হবে এবং পরে এটিও করবে। নোট করুন যে সেতুটি উপরে আসতে একটু সময় নিতে পারে, তাই আপনি সমস্ত কিছু হারিয়ে গেছে এমনটি ধরে নেওয়ার আগে পুনরায় বুট করার পাঁচ মিনিট পরে এটি দিন।

  3. প্রদত্ত নামের এলএক্সসি কনটেইনারটিকে সার্বজনীন আইপিতে স্থানান্তরিত করতে:

    1. ধারক থামান।
    2. হোস্টে, সম্পাদনা করুন এবং এতে পরিবর্তন করুন ।/var/lib/lxc/container_name/configlxc.network.linkbr0
    3. হোস্টে, আপনার পাবলিক আইপিটি সাধারণভাবে যেমন সম্পাদনা করুন এবং কনফিগার করুন (ডিএইচসিপি বা প্রয়োজন হিসাবে একটি স্ট্যাটিক কনফিগারেশন)। নোট করুন যে ইন্টারফেসটি এখনও ধারকটির দৃষ্টিকোণ থেকে কল করা হয়েছে।/var/lib/lxc/container_name/rootfs/etc/network/interfaceseth0
    4. ধারকটি পুনরায় চালু করুন।
  4. নতুন LXC ধারকগুলির জন্য ডিফল্ট পরিবর্তন করতে, হোস্টটিতে সম্পাদনা /etc/lxc/default.confকরুন এবং এতে পরিবর্তন lxc.network.linkকরুন br0

  5. আপনি সব সময়ে LXC প্রদত্ত ন্যাট সেতু প্রয়োজন না থাকে, তাহলে (অর্থাৎ। আপনার সব পাত্রে নতুন সেতু পরিবর্তে ব্যবহার করা হবে) তাহলে হোস্ট সম্পাদনাটি /etc/default/lxcএবং পরিবর্তন USE_LXC_BRIDGEকরার জন্য "false"তারপর হোস্ট চালনার, এবং sudo service lxc restart


ধন্যবাদ! চারদিকে একই রকম প্রশ্ন রয়েছে। তবে, এই উত্তরটি আমাকে শেষ পর্যন্ত কাজ করতে সাহায্য করেছে।
Mausy5043

1

রবি, এই উত্তরটি পোস্ট করার জন্য আপনাকে অনেক ধন্যবাদ, আমি আমার চুলগুলি চালিয়ে যাচ্ছি এই চেষ্টা করার চেষ্টা করে এবং এটিই একমাত্র পদ্ধতি যা কাজ করেছে!

আমি ভেবেছিলাম অন্যান্য প্রশাসকদের নির্দেশাবলী স্পষ্ট করার জন্য আমার কয়েকটি জিনিস উল্লেখ করা উচিত।

আমার হোস্টের অতিথির জন্য এথ0-তে একাধিক স্ট্যাটিক আইপি এলিয়াস নির্ধারণ করা হয়েছিল, উদাহরণস্বরূপ:

iface eth0:1 inet static
  address 5.5.5.5
  netmask 255.255.255.5
  gateway 5.5.5.1
etc.

এখন আমরা একইভাবে br0 সেট আপ করতে চাই না, আমরা কেবলমাত্র একটি আইপি চাই যা উপরে বর্ণিত রবির মতো কোনও উপকরণ নেই।

সুতরাং আসুন আমরা বলি যে আপনি 5.5.5.5 কনটেইনার ডিবিয়ান 8 তে নির্ধারিত হতে চান।

সম্পাদনা করুন /var/lib/lxc/debian8/etc/network/interfacesএবং যুক্ত করুন:

iface eth0 inet static 
      address 5.5.5.5
      netmask 255.255.255.5
      gateway 5.5.5.1
    etc.

তারপরে এই আদেশটি জারি করুন: route add default gw <gateway-ip, in my case 5.5.5.1>

এর পরে, ধারকটি পুনরায় বুট করুন এবং সবশেষে কাজ করা উচিত! :)


1

আমারও একই সমস্যা ছিল এবং আমার এই সমাধানটি (দ্রুত এবং নোংরা)।

server: eth0 = 10.1.0.77/24
server: lxdbr0 (lxd bridge) = 10.255.255.77/24

container: eth0 = 10.255.255.100/24 (same network as lxdbr0)
container: eth0:0 = 194.99.99.99/28  (public ip address on eth0 alias)

সার্ভারে: route add -host 194.99.99.99 gw 10.255.255.100 dev lxdbr0

এছাড়াও প্রয়োজন হলে উজানের রাউটারগুলিতে রুট যুক্ত করুন।

সম্ভবত, সেরা সমাধান নয় তবে এর জন্য কোনও দুর্দান্ত প্রচেষ্টা প্রয়োজন নেই! চিয়ার্স।

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