উবুন্টুতে কেভিএম ব্যবহার করে 0.8.3 লাইবভার্ট সহ হোস্ট থেকে অতিথি পোর্ট ফরওয়ার্ডিং


14

হোস্টের একটি একক বহিরাগত আইপি পাওয়া যায়, তাই আমি আমার কেভিএম অতিথিকে NAT এর সাথে সেট আপ করি।

বাইরে থেকে কিছু অনুরোধ অতিথির কাছে ফরোয়ার্ড করার জন্য কীভাবে আমি একটি বন্দর ফরওয়ার্ড সেট আপ করব?

আমি এটিতে কোনও নথিপত্র পাইনি couldn't নিকটতম উত্তর সম্ভবত এই উত্তর , কিন্তু তারপরে এটি লিবিভার্ট 0.8.3 এ করার সহজ উপায় আছে বলেও উল্লেখ করা হয়েছে। কেউ কি এটি করার জন্য আরও বর্তমান পদ্ধতি সম্পর্কে জানে?


বাহ্যিক - আপনার মানে ইন্টারনেট আইপি? বা শুধু আপনার ল্যান (ভিএমএস থেকে বাহ্যিক)? ব্রিজড নেটওয়ার্কিং সেট আপ করার জন্য আপনি কি আপনার ভিএমগুলিতে এই বাহ্যিক ঠিকানাগুলি বরাদ্দ করতে পারেন?
আর্ট শায়দারভ

আমি কেবল একটি ইন্টারনেট আইপি ঠিকানা পেতে পারি, সে কারণেই আমি ব্রিজড নেটওয়ার্কিং মোড ব্যবহার করি নি।
ওয়েই

উত্তর:


12

এখানে হুক স্ক্রিপ্ট ( উত্স ) ব্যবহার করে পোর্ট ফরওয়ার্ডিং সেটআপ করার আরও ভাল উপায় ।

ইন /etc/libvirt/hooks/qemu:

#!/bin/sh

GUEST_NAME=
HOST_PORT=
GUEST_IPADDR=
GUEST_PORT=

if [ "$1" = "$GUEST_NAME" ]; then
  if [ "$2" = start ]; then
    iptables -t nat -A PREROUTING -p tcp --dport "$HOST_PORT" \
         -j DNAT --to "$GUEST_IPADDR:$GUEST_PORT"
    iptables -I FORWARD -d "$GUEST_IPADDR/32" -p tcp -m state \
         --state NEW -m tcp --dport "$GUEST_PORT" -j ACCEPT
  elif [ "$2" = stopped ]; then
    iptables -t nat -D PREROUTING -p tcp --dport "$HOST_PORT" \
         -j DNAT --to "$GUEST_IPADDR:$GUEST_PORT"
    iptables -D FORWARD -d "$GUEST_IPADDR/32" -p tcp -m state \
         --state NEW -m tcp --dport "$GUEST_PORT" -j ACCEPT
  fi
fi

আপনার livvirt সেটআপে ফিট করার জন্য আপনাকে শীর্ষে চারটি ভেরিয়েবল সেট করা উচিত।

আপনাকে লিবার্টি-বিনটি পুনরায় চালু করতে হবে যা উবুন্টু দিয়ে করা হয়েছে:

sudo sh -c 'service libvirt-bin stop; service libvirt-bin start'

তারপরে আপনাকে অতিথিকে পুনরায় চালু করতে হবে। উবুন্টুতে, আপনাকে /etc/apparmor.d/usr.sbin.libvirtdহুক স্ক্রিপ্টটি কার্যকর করার অনুমতি দেওয়ার জন্য সামঞ্জস্য করতে হবে :

পাশেই

/usr/sbin/* PUx,

পরিশেষে যোগ

/etc/libvirt/hooks/* PUx,

তারপরে অ্যাপারমার পুনরায় লোড করুন:

sudo service apparmor reload

$GUEST_IPADDRভাইরাস / ডাম্প এক্সএমএল / আইফেস-ডাম্প এক্সএমএল ব্যবহার করে অটোকনফিগারের সম্ভবত একটি উপায় রয়েছে তবে আমি এটি খুঁজে পাইনি। বিকল্পভাবে, আইপিটি স্থায়ীভাবে নেটওয়ার্ক xML: ডকুমেন্টেশনে সেট করা যেতে পারে ।

আমি যতদূর বলতে পারি, নেটওয়ার্ক ফিল্টারগুলি কেবল ভার্চুয়াল নেটওয়ার্কে যা ঘটেছিল তা সীমাবদ্ধ করার জন্য ব্যবহার করা যেতে পারে এবং সেগুলি পোর্ট ফরওয়ার্ডিংয়ের জন্য কার্যকর নয়।


1
/etc/libvirt/hooks/** rmix,বিশ্বাসের ডিফল্টরূপে অ্যাপারমার কনফিগারেশন ফাইলে একটি লাইন থাকে এবং এটির একই প্রভাব রয়েছে বলে মনে হয়। আমি অ্যাপমর্ম কনফিগারেশনটি পরিবর্তন না করে স্ক্রিপ্টটি চালাতে পারতাম।
আমির আলী আকবরী

2

আমিও একই রকম অবস্থায় আছি। আমার বেসরকারী নায়েটেড নেটওয়ার্কে কেভিএম-তে একটি উইন্ডোজ সার্ভার চলছে যা ভার্চুয়ার ইন্টারফেসের মাধ্যমে হোস্টের সাথে সংযুক্ত। আমি দূরবর্তী ডেস্কটপের মাধ্যমে ভিএম অ্যাক্সেস করতে চাই। সুতরাং আমাকে ট্র্যাফিকটি 3389 (আরডিপি) পোর্টটি ভিএম বন্দরে 3389 এ ফরোয়ার্ড করতে হবে some আমি কিছু অপ্রয়োজনীয় বিধি দ্বারা এটি অর্জন করেছি।

/ sbin / iptables -t nat -A PREROUTING -p tcp -d HOST-IP --dport 3389 -j DNAT - to- গন্তব্য ভিএম-আইপি: 3389

/ এসবিিন / আইপিটিবলস -আমি ফরওয়ার্ড-মি রাজ্য-ভি ভিএম-নেট / ২৪ - নতুন নতুন, সম্পর্কিত, প্রতিষ্ঠিত -জে এসিসিপিটি

হোস্ট-আইপি, ভিএম-আইপি, এবং ভিএম-নেট অবশ্যই অবশ্যই গ্রহণ করতে হবে। তবে iptables এবং libvirt এর সাথে জগাখিচুড়ি করা জটিল। এই মুহুর্তে আমি আমার ভিএম-তে ইন্টারনেট অ্যাক্সেস পাওয়ার জন্য একটি সমাধান অনুসন্ধান করছি যা আমি iptable বিধিগুলির সাথে গোলযোগের কারণে হারিয়ে ফেলেছি :-(


আমি জানি এটি কয়েক বছরের পুরানো তবে এই উত্তরটি আমার পক্ষে কার্যকর হয়েছিল। ধন্যবাদ!
mtdbrd

1

আমি বিশ্বাস করি যে উত্তর আপনি উল্লেখ করেছেন এখনও উপযুক্ত iptables বিধি প্রদর্শন করে। তবে, এখন আপনি ভার্চুয়াল মেশিনগুলি শুরু এবং বন্ধ হয়ে গেলে নিয়ম তৈরি করতে এবং ধ্বংস করতে স্ক্রিপ্ট হুক ব্যবহার করতে পারেন । ভালো লেগেছে ইসহাক পূর্ববর্তী বললেন, এছাড়াও আছে নেটওয়ার্কের ফিল্টার বর্তমান libvirt দ্বারা কিন্তু আমি নিশ্চিত কিভাবে বা এমনকি যদি তারা NATed গেস্ট সিস্টেমের জন্য খোলা পোর্ট ব্যবহার করা যেতে পারে না।


0

অতিথি নেটওয়ার্কিং কিভাবে সেট আপ করা হয়? যদি এটি ব্রিজ করা হয় তবে আপনাকে কেবল পোর্টগুলি অতিথিদের আইপিগুলিতে ফরোয়ার্ড করতে হবে। যদি আপনার অতিথিরা আর একটি NAT এর পিছনে থাকে তবে একটি পছন্দসই সেট আপ করে, তবে এটি জটিল হয়ে ওঠে

তবে যে কোনও ক্ষেত্রে, এখানে আপনি কেবল ভিএমএসকে এমনভাবে ব্যবহার করবেন যেমন আপনি কোনও শারীরিক মেশিনের মতো করেন


আমি অনুমান করি যে আমি এটি পরিষ্কারভাবে স্পষ্টভাবে বলিনি। হোস্টটি কোনও NAT এ নেই, এটির একটি বাহ্যিক আইপি ঠিকানা রয়েছে। দুর্ভাগ্যক্রমে, গেস্ট নেটওয়ার্কিং লিবিভার্ট দ্বারা সেট করা NAT এর পিছনে রয়েছে।
wei

আহ্, তাহলে এটি অন্য বিষয়। মূলত libvirt এটি নিজস্ব NAT সমাধান পরিচালনা করে, যা সম্পাদনা করা যায়।
dyasny

হ্যাঁ, এটাই আমাকে বলা হয়েছে, এটি সম্পাদনা করা যেতে পারে। তবে আমি এটি সম্পর্কে কোনও রেফারেন্স খুঁজে পাচ্ছি না, এনবিফিল্টার এক্সএমএল কনফিগারেশন ফাইলগুলি কেবল আমার কাছে উদ্ভট বলে মনে হচ্ছে, libvirt ওয়েবসাইটে ডকুমেন্টেশন খুব কার্যকর নয়।
wei

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