এলএক্সসি অতিথিদের জন্য কীভাবে বাহ্যিক আইপি ঠিকানাগুলি কনফিগার করবেন?


18

আমি উবুন্টু 12.04 এ LXC বৈশিষ্ট্যগুলি অন্বেষণ করছি এবং আমি সত্যিই এটির মতো একটি নেটওয়ার্ক সেট আপ করতে চাই:

client1:   192.168.56.101/24
lxc-host:  192.168.56.102/24
guest1     192.168.56.201/24
guest2     192.168.56.202/24
guest3     192.166.56.203/24

আমি কেবল একটি "ফ্ল্যাট" নেটওয়ার্ক চাই যেখানে অতিথিদের ল্যানে সম্পূর্ণ প্রবেশাধিকার রয়েছে এবং ক্লায়েন্টদের কাছে দৃশ্যমান। আমি এখানে বর্ণিত হিসাবে লিবিভার্ট / কেভিএম দিয়ে ব্রিজড নেটওয়ার্কিং করতে অভ্যস্ত: http://libvirt.org/formatdomain.html#elementsNICS ব্রিজ

হোস্টে:

# /etc/network/interfaces
auto br0
iface br0 inet static
    address 192.168.56.102
    netmask 255.255.255.0
    broadcast 192.168.56.255
    bridge_ports eth1

প্রথম অতিথির জন্য lxc.conf:

# /var/lib/lxc/guest1/config:
lxc.network.type=veth
lxc.network.link=br0
lxc.network.flags=up
lxc.network.hwaddr=00:16:3e:13:48:4e
lxc.network.ipv4=192.168.56.201/24

দেখে মনে হচ্ছে 192.168.56.201 বাহ্যিক বিশ্বের কাছে অদৃশ্য, যা আমি চাই তা নয়। মনে হচ্ছে এইগুলির মধ্যে একটি কাজ করতে হবে:

1) হোস্ট এবং অতিথির পক্ষে ম্যানুয়ালি রাউটিং সেট আপ করুন

২) হকি কিছু করুন ... সময়ের আগে হোস্টটিতে ভার্চুয়াল ইন্টারফেস তৈরি করুন এবং অতিথিকে তাদের ব্যবহারের জন্য কনফিগার করুন lxc.network.type=phys। আমি জানি না যে এটি আসলে কাজ করবে কিনা।

আমি উবুন্টুতে ফোকাস করছি, তবে আরএইচইএল / ফেডোরার উত্তরগুলিও কার্যকর হবে ....


1
ফলোআপ করুন: আমি বিআর0 কে প্রিফিসিয়াস মোডে সেট করেছি এবং মনে হচ্ছে এখন যা করতে চাইছে তা করে চলেছে। আমি অনুমান করি এটি স্ট্যান্ডার্ড অনুশীলন তবে এটি যে অনেক এলএক্সসি টিউটোরিয়াল পড়েছিলাম তা কোনওর মধ্যে আচ্ছাদিত হয়নি। আমি যদি কোনও প্রতিক্রিয়া পাই তবে এই প্রশ্নটি আমি এক সময়ের জন্য খোলা রেখে দেব ...
twblamer

আমি প্রায় একই কাজটি করেছি (কিছুটা বেশি ম্যানুয়াল সেটআপ ব্যতীত): ব্রিজের (ওয়েস্টের উপরে) ভਥ যোগ করতে প্রতিটি lxc কনফিগারেশনে নেটআপ স্ক্রিপ্ট, প্রতিটি ধারকটিতে ম্যানুয়াল আইপি সেটআপ, প্রতিটি ধারকটিতে অতিরিক্ত স্ক্রিপ্ট / ইন্টারফেস সেট করতে আপ রুটিং (হোস্টে আইপি 4 ফরোয়ার্ডিংয়ের মাধ্যমে)। তবে, যতদূর আমি দেখতে পাচ্ছি, উভয় সমাধানের অর্থ হ'ল ধারকটি বেশ কিছুতেই নিজের আইপি ঠিকানা নির্ধারণ করতে পারে (এবং একটি ব্রিজের সাথে হোস্টের প্রাথমিক ইন্টারফেস যুক্ত করা কিছুটা অসুবিধাজনক)। তাই আমি কিছু প্রতিক্রিয়া / সমাধানে আগ্রহী।
হোভারহেল

উত্তর:


13

এটি বেশ সঠিক — যদিও আপনি এর মতো একটি লাইন মিস করছেন:

lxc.network.ipv4.gateway = X.X.X.X

আমার একটি এলএক্সসি অতিথি দেবিয়ানে চলছে। প্রথমে, আপনি হোস্ট ব্রিজটি (সহজ উপায়) সেট আপ করেছেন /etc/network/interfaces:

auto wan
iface wan inet static
        address 72.X.X.X
        netmask 255.255.255.0
        gateway 72.X.X.1
        bridge_ports wan_phy    # this line is important.
        bridge_stp off
        bridge_fd 2
        bridge_maxwait 20

আপনার ক্ষেত্রে, আপনি এটি কল করেছেন br0, এবং আমি এটি কল করেছি wan। ব্রিজটিকে আপনার যা কিছু বলা যায়। আপনি এই কাজটি প্রথমে পাবেন - যদি এটি ব্যর্থ হয় তবে তদন্ত করুন (যেমন,)brctl

তারপরে সেতুতে যোগদানের জন্য আপনার এলএক্সসি কনফিগারেশন সেট আপ করা হয়েছে:

lxc.utsname = FOO
lxc.network.type = veth
lxc.network.link = wan                  # remember, this is what I call my bridge
lxc.network.flags = up
lxc.network.name = v-wan                # optional, I believe
lxc.network.ipv4 = 72.X.X.Y/24          # different IP than the host
lxc.network.ipv4.gateway = 72.X.X.1     # same as on the host

হোভারহেল নোট হিসাবে, পাত্রে মূল সহ কেউ আইপি ঠিকানা পরিবর্তন করতে পারেন। হাঁ। এটি একটি সেতু (ওরফে ইথারনেট স্যুইচ)। যদি আপনি এটি প্রতিরোধ করতে চান তবে আপনি হোস্টে ফায়ারওয়াল বিধিগুলি ব্যবহার করতে পারেন — কমপক্ষে আমার ক্ষেত্রে, প্যাকেটগুলি হোস্টের iptables মাধ্যমে যেতে হবে।


10
ধন্যবাদ সবাইকে. এটি দুঃখজনক, তবে আমি এটির কাছে ফিরে এসেছি,
গুগলের

2
@ মডেলবার্ট: নিশ্চিত নন যে এটি তখন ফিরে পাওয়া গিয়েছিল, তবে autoএটি lxc.network.ipv4.gatewayআমার কাছে বুদ্ধি অনুযায়ী ইন্টারেফেস সংযুক্ত হয়ে যে সেতুর আইপিতে ডিফল্ট রয়েছে তাও আমার বোধগম্য।
0xC0000022L

ব্রিজ ইন্টারফেসের নিজস্ব আইপি দরকার? যদি wan_phyইন্টারনেটের মুখোমুখি হয়, তবে সেতু আইপিটি আর একটি বৈধ, পাবলিক আইপিভি 4 ঠিকানা হতে হবে কারণ এটি অন্যান্য সার্বজনীন আইপিভি 4 ঠিকানার মতোই থাকতে হবে যা আমি আমার এলএক্সসি অতিথিকে কনফিগার করব, তাই না? তবে সেটা বেশ অপচয়হীন বলে মনে হচ্ছে। Askubuntu.com/a/884293/394569 পরামর্শ দেয় যে একটি ব্রিজের ঠিকানা কনফিগার করা কঠোরভাবে প্রয়োজন হয় না।
জোশ

@ জোছ এই উদাহরণে, wan_phy এর কোনও আইপি নেই, পরিবর্তে এটি ব্রিজের উপরে রয়েছে। আমি সন্দেহ করি এর একেবারে আইপি দরকার, যদিও আপনি যদি "হোস্ট" না থেকে কোনও বাহ্যিক আইপি চান না।
ডার্ববার্ট

6

আমি পুরোপুরি এলএক্সসিতে প্রবেশ করি নি,

তবে আমার কাছে ল্যানের নিজস্ব স্ট্যাটিক আইপিসহ একাধিক কনটেইনার সেটআপ রয়েছে যা আমার কয়েকটি ওয়েবসাইটের জন্য ইন্টারনেট পরিষেবা সরবরাহ করে ...

আপনি এটি আপনার জন্য যা চান তাতে এটি আপনাকে সহায়তা করতে পারে।

আমি একাধিক পাত্রে চালিত, যেমন,

হোস্ট মেশিনে আমি হোস্টের ফাইল সম্পাদনা করেছি, প্রতিটি পাত্রে এবং হোস্ট মেশিন যুক্ত করছি: vi / ইত্যাদি / হোস্ট

lxc host machine:   192.168.1.100
container1:   192.168.1.101
container2:     192.168.1.102
container3:   192.168.56.102
container4:   192.166.56.103

সংরক্ষণের পরে ...

আবার, হোস্ট মেশিনে আমি নেটওয়ার্ক সেট করি এবং সেতুতে:

# /etc/network/interfaces
auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0
        **address** 192.168.1.100
        netmask 255.255.255.0
        **network 192.168.1.1**
        **broadcast** 192.168.1.100
        gateway 192.168.1.1
        dns-nameservers 8.8.8.8 8.8.4.4

নেটওয়ার্কের উপরে লনের জন্য আমার রাউটার আইপি। (অভ্যন্তরীণ) ঠিকানা এবং সম্প্রচারটি হোস্ট মেশিন, অভ্যন্তরীণ আইপি, যা পরে আমি ইন্টারনেট অ্যাক্সেস, ওয়েবসার্ভার, এফটিপি ইত্যাদির জন্য একটি ভিএইচএসটি ব্যবহার করি etc.

এলএক্সসি কন্টেইনারগুলির জন্য 1-4 আমি সেটআপ কনফিগের মতো পছন্দ করি:

LXC CONFIG
lxc.network.type=veth
lxc.network.link=br0
lxc.network.flags=up
lxc.network.hwaddr=00:16:3e:13:48:4e
**lxc.network.ipv4=192.168.1.101**

এখন ধারক 1 আইপি = 192.168.1.101

আমি অতিরিক্ত পাত্রে ল্যানে নিজস্ব স্ট্যাটিক আইপি রাখার জন্য পুনরাবৃত্তি করছি ..

পাত্রে 1-4,

হোস্ট থেকে লগ ইন করুন:

lxc-console -n CONTAINERNAME,

& আমি প্রতিটি পাত্রে নেটওয়ার্ককে স্থিতিশীল, এথ0 এ সেট করেছি:

auto eth0
iface eth0 inet static
        address 192.168.1.101
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.1.101
        gateway 192.168.1.1
        dns-nameservers 8.8.8.8 8.8.4.4

প্রতিটি কন্টেইনার এটির নিজের আইপি, (স্থানীয়) ল্যানে উপলব্ধ। ইউ এসএসএইচ প্রতিটি অভ্যন্তরীণ স্থানীয় আইপি করতে পারেন, পুটি ব্যবহারের পরীক্ষা করতে!

এটির পরে অবশ্যই নিশ্চিত যে আপনার কীভাবে এটি ইন্টারনেটের মাধ্যমে চালানো যায়, উদাহরণস্বরূপ, ধারক আইপি / লোড ব্যালেন্সার / প্রক্সি / ইত্যাদি থেকে ভোস্ট to

সম্ভবত এই সেটআপটি যে কোনও উপায়ে সহায়তা করতে পারে।


আপনি যদি এলএক্সসি কনটেইনার কনফিগারেশনে আইপি এবং গেটওয়ে ইত্যাদি কনফিগার করেন তবে ধারকটির ভিতরে এটি পুনরাবৃত্তি করার দরকার নেই। পরিবর্তে ifaceস্তবকে সেট করুন manual(না staticবা dhcp)। up, down, dns-nameserversইত্যাদি এখনও ডেবিয়ান ইত্যাদি ব্যবহার করা যেতে পারে
0xC0000022L

1

আমি এখনও এলএক্সসির সাথে খেলিনি, তবে এই নিবন্ধটি আপনাকে সহায়তা করা উচিত: ইথারনেট ব্রিজ ব্যবহার করে নেটওয়ার্ক কনফিগারেশন (পদ্ধতি 2 পরীক্ষা করুন)।

আপনাকে কনফিগারেশন সম্পর্কে কিছু ইঙ্গিত দেওয়ার জন্য (আমি ধরে নিলাম আপনার কাছে ইতিমধ্যে br0 সঠিকভাবে অষ্টিগঠিত হয়েছে):

  1. আপনাকে ব্যবহার করে একজোড়া ভ্যাথ ডিভাইস তৈরি করতে হবে ip link add type veth
  2. পূর্ববর্তী কমান্ডটি 2 ভার্চুয়াল ইন্টারফেস তৈরি করেছে: veth0 এবং veth1
  3. এখন সেতুতে ভার্চুয়াল ইন্টারফেস Veth0 যুক্ত করুন: brctl addif br0 veth0
  4. আপনার এলএক্সসি শেলের মধ্যে টাইপ করুন: ns_exec -nm -- /bin/bash
  5. এখন আমাদের অন্যান্য ভার্চুয়ালটি সেট করতে হবে যদি lxc শেলের নেটওয়ার্ক নেমস্পেসে থাকে: ip link set veth1 netns PID_OF_LXC_SHELL
  6. এখন আপনি চান আইপি ঠিকানায় (যেমন, 192.168.56.201) এলএক্সসি শেলটিতে ভ্যাথ 1 কনফিগার করে আপনার সব সেট করা উচিত।

আপনি কি একেবারেই পরীক্ষা করেননি? আপনি সম্ভবত অনুগ্রহ পাবেন তবে আপনার উত্তরটি আমাকে মোটেও সহায়তা করে না এবং আমার ওপি হিসাবে ঠিক একই সেটআপ রয়েছে।
জোনাস জি ড্রেঞ্জ

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