এখানে হুক স্ক্রিপ্ট ( উত্স ) ব্যবহার করে পোর্ট ফরওয়ার্ডিং সেটআপ করার আরও ভাল উপায় ।
ইন /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: ডকুমেন্টেশনে সেট করা যেতে পারে ।
আমি যতদূর বলতে পারি, নেটওয়ার্ক ফিল্টারগুলি কেবল ভার্চুয়াল নেটওয়ার্কে যা ঘটেছিল তা সীমাবদ্ধ করার জন্য ব্যবহার করা যেতে পারে এবং সেগুলি পোর্ট ফরওয়ার্ডিংয়ের জন্য কার্যকর নয়।