ব্রিজড জেন নেটওয়ার্কিং সেটআপে প্রতি নেটওয়ার্ক প্রতি তিনটি আইপি হারিয়ে যাওয়া এড়াতে পারি?


1

প্রায় এক মাস আগে, আমি সুপারউসারটিতে এই প্রশ্নটি করেছি। সেখানে দেওয়া উত্তর অবশ্যই কাজ করে, তবে আমি এমন একটি সমস্যা নিয়ে এসেছি যা আমি আগে ভাবিনি।

আমার যে সেটআপটি চলছিল (আগের উল্লিখিত উত্তরের ভিত্তিতে) তা ছিল

auto eth0
iface eth0 inet static
    address a.b.c.d
    netmask 255.255.255.0
    network a.b.c.0
    broadcast a.b.c.255
    gateway a.b.c.254

auto xenbr0
iface xenbr0 inet static
    bridge_ports none
    address e.f.g.1
    netmask 255.255.255.0

তারপরে, আমি ডেটাসেন্টার দ্বারা নির্ধারিত রেঞ্জের একটি ঠিকানা ব্যবহার করার জন্য আমি ডমইউগুলি কনফিগার করব। বিশেষত এই পরিসরটি efg24 / 29 হবে, আমাকে domUs এর জন্য 8 আইপি ঠিকানা উপলব্ধ। গেটওয়েটি সেতুর আইপি হবে, সেখান থেকে প্যাকেটগুলি ইথ 0 এর মাধ্যমে বাইরের বিশ্বে পৌঁছে দেওয়া হবে। এটি পুরোপুরি কাজ করে।

কিছু দিন আগে আমি যে বিষয়টি বুঝতে পেরেছি তা হ'ল, ডমইউগুলি কখনই ইএফজি 1 এর মতো ঠিকানাগুলিতে পৌঁছাতে সক্ষম হবে না, কারণ এটি সেতু নিজেই। তবে, যদি কোনও ডমইউতে আসলে efg1 (প্রকৃত বাইরের আইপি) অ্যাক্সেস করা প্রয়োজন?

সুতরাং, আমি আমাকে যে নেটওয়ার্কগুলি বরাদ্দ করা হয়েছিল তার ভিতরে সমস্ত কিছু সরিয়ে নেওয়া শুরু করে। তখন সমস্যাটি ছিল, একটি / 29 ব্লক সহ, আমি কেবল একটি ডোমইউয়ের জন্য 5 আইপি ঠিকানা উপলব্ধ রাখি:

auto xenbr0
iface xenbr0 inet static
    bridge_ports none
    address e.f.g.25
    netmask 255.255.255.248

আমি আমার নেটওয়ার্কে সর্বদা তিনটি ঠিকানা আলগা করি (একটি "নেটওয়ার্ক" এর জন্য একটি, সেতুর জন্য নিজেই এবং একটি সম্প্রচারের ঠিকানা)। আমি আসলে নেটওয়ার্ক এবং সম্প্রচারের ঠিকানাটি সংজ্ঞায়িত করি নি, তবে ifconfigএখনও সম্প্রচারের ঠিকানাটি 31 হিসাবে দেখায় (নেটওয়ার্কের শেষ আইপি) এবং আমি কোনও কার্যকরী পদ্ধতিতে 24 ঠিকানায় সেতুটি রাখতে পারি না। ইস্যুটি একটি / 30 নেটওয়ার্কের সাথে আরও খারাপ হয়ে যায়, যেখানে আমার কাছে কেবল ডমইউগুলির জন্য একটি মাত্র চারটি আইপি পাওয়া যায় (হ্যাঁ, আমারও এই জাতীয় নেটওয়ার্ক রয়েছে)।

যেহেতু আমি প্রতি আইপি ঠিকানার জন্য অর্থ প্রদান করছি, আমি তাদের যথাসম্ভব দক্ষতার সাথে ব্যবহার করতে চাই। আমি তখন জেনের রুট নিয়ে গবেষণা শুরু করি। আমি এখন যা করার চেষ্টা করছি তা হ'ল ব্যবহার করা vif-routeএবং network-routeএর /etc/xen/xend-config.sxpমতো একটি সেটআপ করা:

     +-----------------------------+        +-------------+
     |            dom0             |        |     domU    |
     |                             |        |             |
-------eth0                vif1.0--------------eth0       |
     | a.b.c.d              ????   |        |  e.f.g.24   |
     |                             |        |             |
     +-----------------------------+        +-------------+

এইভাবে ডেটাসেন্টারটি আমার আইপিগুলির জন্য ডোম0 এর এথ0-তে প্যাকেট প্রেরণ করত, ডম0 এটিকে সঠিক ভিএফ-এ পাঠিয়ে দেবে যা এটি ডমইউ এর এথ0-এ ছেড়ে দেবে।

আমি যতই চেষ্টা করি না কেন, ডিবাগ করা শুরু করার জন্য কোনও অর্থবহ ত্রুটি বার্তা ছাড়াই, আমি এটি কাজ করে চলেছি বলে মনে হচ্ছে না। দু'দিন অবিচ্ছিন্ন গুগলিং আমাকে সাহায্য করেনি এবং আমি এই মুহুর্তে একদম ফাঁকা শুকিয়েছি।

আমি কি এটিকে ভুল উপায়ে দেখছি, বা আমি কি ভুলভাবে জিনিস কনফিগার করছি? এই ধরনের একটি সেটআপ এমনকি সম্ভব? যদি তাই হয় তবে আমি কী ভুল করছি?


সম্ভবত xenbr0 ইন্টারফেস ঠিক ঠিকানা না? পরিবর্তে ip route add e.f.g.24/29 dev xenbr0হোস্টের মতো একটি রুট রাখুন , যা ইন্টারনেট থেকে ব্রিজের বাইরে সমস্ত কিছু ফরোয়ার্ড করবে। তারপরে হোস্টগুলিতে, তাদের ট্র্যাফিকের একইভাবে তাদের E0 এর বাইরে ফরোয়ার্ড করুন।
পল

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

@ পল আপনি হয় যা বলার চেষ্টা করছেন তা আমি ভুল বোঝাবুঝি করছি বা আমি কিছু ভুল করছি। আমি আমার ব্রিজের জন্য কোনও আইপি নির্ধারিত না করে শুরু করতে পারি না। তদুপরি, যখন আমি কেবল একটি 24 / ব্রিজ তৈরি করি এবং তারপরে এটি স্বয়ংক্রিয়ভাবে যে রুট তৈরি হয় তা মুছে ফেলার চেষ্টা করি যাতে আমি এটিকে একটি / 29 রুট দিয়ে প্রতিস্থাপন করতে পারি, এটি আমাকে সমস্ত ধরণের ত্রুটি দেয় ('এরকম কোনও প্রক্রিয়া নেই'); এবং এটি আমাকে 24 / রুট মুছতে বাধা দেয়।
সাইমন

আপনি কি আইপি ছাড়াই ব্রিজটি শুরু করতে "ম্যানুয়াল" ব্যবহার করেছেন? লাইক iface xenbr0 inet manual। এটি কোনও আইপি ঠিকানা যুক্ত করার চেষ্টা করে এটি প্রতিরোধ করবে।
পল

@ পল, হ্যাঁ এটি ম্যানুয়ালটিতে সেট করা সত্যই কৌশলটি করেছে। আমি একটি কার্যকরী সমাধান নিয়ে এসেছি, যা আমি নীচে যুক্ত করেছি। আমি এটিকে সমাধান হিসাবে চিহ্নিত করি নি, কারণ আমি মনে করি এটি করার একটি পরিষ্কার সমাধান আছে। আপনারা উভয়ের সহায়তার জন্য আবারও ধন্যবাদ!
সাইমন

উত্তর:


1

আমি এটি কাজ করতে পরিচালিত। এটি যতটা পরিষ্কার হোক তা 100% পরিষ্কার নয়, তবে কমপক্ষে এটি কার্যকরী।

আমার সমাধানটি মূলত ব্রিজটি একটি / 24 নেটমাস্ক দিয়ে এবং কোনও আইপি ঠিকানা ছাড়াই শুরু করে। ব্রিজটি শেষ হয়ে গেলে, আমি আমার সার্ভারে বরাদ্দকৃত 29/29 আইপি ব্লকের জন্য আমি নিজে একটি রুট যুক্ত করি। ডোমইউগুলিতে আমি গেটওয়ে ছাড়াই সঠিক আইপি এবং একটি / 24 নেটমাস্ক দিয়ে ইন্টারফেসটি শুরু করি। ইন্টারফেসটি শেষ হয়ে গেলে, আমি ম্যানুয়ালি আমার ডম0 এর এথ0 ঠিকানায় একটি রুট যুক্ত করি এবং এটি ডিফল্ট গেটওয়ে তৈরি করি। অবশ্যই, নেটওয়ার্কগুলির মধ্যে আইপি প্যাকেটগুলি রুট করার জন্য dom0 সেট আপ করা হয়েছে।

dom0- র এর /etc/network/interfaces

### The primary adapter ###
# These settings are provided by the dServer host
auto eth0
iface eth0 inet static
        address a.b.c.d
        netmask 255.255.255.0
        network a.b.c.0
        broadcast a.b.c.255
        gateway a.b.c.254

### Network bridges ###
auto xenbr0
iface xenbr0 inet manual
        bridge_ports none
        network e.f.g.0
        netmask 255.255.255.0
        gateway a.b.c.254

### Static routes ###
# No route for e.f.g.0/24 was automatically set
# I assume that's due to the bridge not having an IP address assigned
up ip route add e.f.g.h/29 dev xenbr0
down ip route delete e.f.g.h/29

domU এর /etc/network/interfaces

# The primary network interface
auto eth0
iface eth0 inet static
        address e.f.g.h
        netmask 255.255.255.0

# Static routing
up ip route delete e.f.g.0/24
up ip route add a.b.c.d dev eth0
up ip route add default via a.b.c.d
down ip route delete default via a.b.c.d
dow ip route delete a.b.c.d

এটি সেট করা আছে কিনা তা নিশ্চিত করে প্যাকেট রাউটিং সক্ষম করুন /etc/sysctl.d/xen-routing.conf(ফাইলের নাম স্বেচ্ছাসেবক, তবে অবশ্যই .conf এ শেষ হওয়া উচিত)

net.ipv4.ip_forward=1

এটি করার পরে, আপনি রিবুট করে কনফিগারেশন সক্ষম করতে পারেন বা এটি অনলাইনে দিয়ে

sysctl -w net.ipv4.ip_forward=1

আমি peerআইপ্রেট 2 সহ একটি আইপি কনফিগারেশন ব্যবহার করার পরামর্শ দিচ্ছি । এইভাবে, আপনি কোনও ঠিকানা "হারাবেন না"। ডুনো কিভাবে দেবিয়ান দিয়ে এটি করবেন, যদিও।
ড্যানিয়েল বি

ব্রিজ ইন্টারফেসে আপনার নেটমাস্ক ইত্যাদি প্রয়োজন বলে আমি মনে করি না, কারণ এতে কোনও আইপি নেই। এটির পক্ষে এটি ভাল বলে মনে হচ্ছে - অতিথিটির জন্য আপনাকে ডিফল্ট রুটটি কিছুটা হ্যাক করার দরকার দেখতে পাচ্ছি :)
পল

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