مضمون جو مقصد غير پروگرامر، غير سسيڊمينز، عام طور تي، Habr جي مکيه سامعين لاءِ نه آهي. آرٽيڪل هڪ وقف IP سان ميني ڪرافٽ سرور ٺاهڻ لاءِ قدم قدم جي هدايتن تي مشتمل آهي، آئي ٽي کان پري ماڻهن لاءِ ٺاهيل. جيڪڏهن اهو توهان جي باري ۾ ناهي، اهو بهتر آهي ته مضمون کي ڇڏي ڏيو.
هڪ سرور ڇا آهي؟
پوء هڪ سرور ڇا آهي؟ جيڪڏهن اسان هڪ سافٽ ويئر جزو جي طور تي "سرور" جي تصور تي ڀروسو ڪريون ٿا، پوء سرور هڪ پروگرام آهي جيڪو وصول ڪري سگهي ٿو، پروسيس ۽ منتقلي ڊيٽا حاصل ڪري سگهي ٿو صارفين (ڪلائنٽ) کان جيڪي هن سرور سان ڳنڍيل آهن. سائيٽ کي مثال طور استعمال ڪندي، سائيٽ ڪجهه ويب سرور تي واقع آهي، جنهن تائين توهان برائوزر ذريعي رسائي ڪندا آهيو. اسان جي صورت ۾، Minecraft سرور هڪ دنيا ٺاهي ٿو جنهن سان رانديگر (ڪلائنٽ) ڳنڍيندا آهن، ڪير هلائي سگهي ٿو، بلاڪ ٽوڙي، وغيره. Minecraft سرور رانديگرن ۽ انهن جي ڪنهن به عمل کي ڳنڍڻ جو ذميوار آهي.
ظاهر آهي، سرور ڪمپيوٽر (مشين) تي هلندڙ هوندو. توھان پنھنجي گھر جي ڪمپيوٽر تي سرور قائم ڪري سگھو ٿا، پر ھن صورت ۾:
توهان ان تي بندرگاهن کي کولڻ سان توهان جي پنهنجي ڪمپيوٽر جي سيڪيورٽي کي خطرو ڪيو
سرور توهان جي ڪمپيوٽر تي هڪ لوڊ ڪندو، جيڪو توهان جي ڪم سان مداخلت ڪري سگهي ٿو
توهان پنهنجي گهر جي ڪمپيوٽر کي 24/7 هلائي نٿا سگهو: ڪڏهن ڪڏهن توهان ان کي بند ڪري ڇڏيو، ڪڏهن ڪڏهن توهان جو ڪمپيوٽر انٽرنيٽ ڪنيڪشن وڃائي ٿو، وغيره.
ٻاهرين دنيا مان توهان جي سرور تائين رسائي حاصل ڪرڻ لاء، توهان کي توهان جي ڪمپيوٽر ذريعي رسائي ڪرڻو پوندو IP پتو, جيڪو ”گهر“ انٽرنيٽ فراهم ڪندڙن لاءِ آهي متحرڪ، اهو آهي، اهو هر 2-3 ڏينهن ۾ تبديل ٿي سگهي ٿو توهان جي ڪنٽرول کان ٻاهر جي سببن لاء.
۽ اسان انهن مسئلن کي ڪيئن حل ڪريون ٿا؟
انهن سڀني مسئلن جو حل استعمال ڪرڻ آهي مجازي مشين سان گڏ جامد، اهو آهي، هڪ ناقابل تبديلي IP پتو.
پيچيده اصطلاح؟ اچو ته ان جو اندازو لڳايو.
اچو ته وڪيپيڊيا ڏانهن رخ ڪريون.
Виртуальная машина (VM, от англ. virtual machine) — программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы...
ان کي تمام خراب اصطلاحن ۾ رکڻ لاء، اهو ڪمپيوٽر جي اندر اندر ڪمپيوٽر آهي. توهان ان تي هڪ آپريٽنگ سسٽم پڻ انسٽال ڪري سگهو ٿا ۽ ان سان ڪم ڪري سگهو ٿا جيئن باقاعده ڪمپيوٽر سان.
اسان ان کي ڪٿي حاصل ڪري سگهون ٿا؟
جواب سادو آهي- اوس. هي هڪ پليٽ فارم آهي جيڪو مهيا ڪري ٿو ڪيتريون ئي مختلف ڪلائوڊ خدمتون جيڪي هر ڪنهن لاءِ مفيد آهن جيڪي ويب سان ڪم ڪن ٿا ۽ نه صرف. هڪ minecraft سرور ٺاهڻ لاء، AWS شين مان هڪ مڪمل آهي - ايم ڊي ايڪسڪسڪسڪس - هڪ ڪلائوڊ ورچوئل مشين جيڪا موجود آهي 24/7. AWS پيش ڪري ٿو گھٽ ۾ گھٽ ورچوئل مشين (10GB SSD، 1GB ريم) هڪ سال لاءِ مفت، ان کان علاوه، اهو ممڪن بڻائي ٿو هڪ مفت وقف (جامد) IP پتي کي پابند ڪرڻ لاءِ مستقل رسائي لاءِ توهان جي VM (ورچوئل مشين) ساڳئي پتي تي.
ڪنسول ۾، خدمتن جي وچ ۾، ڳولهيو EC2 ۽ ان ڏانهن وڃو.
اهو ضروري آهي ته ڊيٽا سينٽر چونڊڻ لاء، آسانيءَ سان، جڳھ جتي Amazon سرور واقع آھن. توھان کي چونڊڻ گھرجي توھان جي جڳھ جي لحاظ کان، ڇو ته انٽرنيٽ تي ڪميونيڪيشن جي رفتار مختلف آھي، ۽ توھان کي ھڪڙو ڊيٽا سينٽر چونڊڻ گھرجي جنھن سان توھان جي شھر کان ڪميونيڪيشن جيترو تيز ٿي سگھي.
ڊيٽا سينٽر چونڊڻ لاء، آئون خدمت استعمال ڪرڻ جي صلاح ڏيان ٿو WonderNetwork، جيڪو ٻين شهرن سان پيڪن جي ٽرانسميشن جي رفتار کي ماپي ٿو.
منهنجي صورت ۾ (ماسڪو)، آئرش ڊيٽا سينٽر مون کي مناسب.
اهو هڪ مجازي مشين ٺاهڻ جو وقت آهي. هن کي ڪرڻ لاء، ٽيب ڏانهن وڃو لانچ جو مثال
اچو ته VM ترتيب ڏيڻ شروع ڪريون.
1) چونڊيو آپريٽنگ سسٽم تصوير. لينڪس سرورز کي وڌائڻ لاءِ تمام آسان آھي؛ اسان استعمال ڪنداسين تقسيم کٽ سينس 7
اهو ياد رکڻ گهرجي ته توهان جي ورچوئل مشين تي ڪو به گرافڪ ماحول نه هوندو؛ مشين تائين رسائي ڪنسول ذريعي ٿيندي. اهو ڪمپيوٽر جي ماؤس جي بدران حڪم استعمال ڪندي VM کي ڪنٽرول ڪرڻ ۾ شامل آهي. هن کان ڊپ نه ٿيو: اهو توهان کي هاڻي روڪڻ نه گهرجي يا توهان جي پنهنجي Minecraft سرور کي وڌائڻ جو خيال نه ڏيو ڇو ته اهو "ڏاڍو ڏکيو" آهي. ڪنسول ذريعي مشين سان ڪم ڪرڻ ڏکيو نه آهي - توهان جلد ئي پاڻ لاء ڏسندا.
2) هاڻي اچو ته وضاحت ڪريون VM جي ٽيڪنيڪل تشڪيل. مفت استعمال لاءِ، Amazon پيش ڪري ٿو تشڪيل t2.micro, ڪافي نه هڪ مڪمل وڏي minecraft سرور لاء، پر ڪافي دوستن سان کيڏڻ لاء.
3) باقي سيٽنگن کي ڊفالٽ طور ڇڏي ڏيو، پر ٽيب تي روڪيو سيڪيورٽي گروپن کي ترتيب ڏيو.
هتي اسان کي Minecraft سرور لاء بندرگاهن تائين رسائي کي ترتيب ڏيڻ جي ضرورت آهي.
سادي اصطلاحن ۾، هڪ پورٽ هڪ غير منفي نمبر آهي جنهن کي ظاهر ڪري ٿو ته ٻاهرئين دنيا مان ايندڙ ڊيٽا کي خطاب ڪيو ويندو آهي. هڪ VM ڪيترن ئي مختلف خدمتن ۽ سرورز کي ميزباني ڪري سگهي ٿو، تنهن ڪري سڀئي ايندڙ ڊيٽا پيڪيٽ انهن جي هيڊر ۾ VM اندر منزل (سروس، سرور) جي بندرگاهه (نمبر) کي محفوظ ڪن ٿا.
Minecraft سرورز لاءِ، ڊي فيڪٽو معياري پورٽ استعمال ڪرڻ آهي 25565. اچو ته هڪ قاعدو شامل ڪريو جنهن مان ظاهر ٿئي ٿو ته توهان جي VM تائين رسائي هن بندرگاهه ذريعي قابل قبول آهي.
اسان بٽڻ تي ڪلڪ ڪندي VM جي ٺاھڻ کي مڪمل ڪرڻ لاء ونڊو ڏانھن وڃو جائزو وٺو ۽ لانچ ڪريو
هڪ VM لاءِ SSH ڪيڏي جوڙو ترتيب ڏيڻ
تنهن ڪري، مشين سان ڪنيڪشن ڪيو ويندو SSH پروٽوڪول استعمال ڪندي.
SSH پروٽوڪول هن ريت ڪم ڪري ٿو: چاٻين جو هڪ جوڙو (عوامي ۽ خانگي) ٺاهيل آهي، عوامي ڪيئي VM تي محفوظ ڪئي وئي آهي، ۽ نجي چاٻي VM (ڪلائنٽ) سان ڳنڍڻ واري شخص جي ڪمپيوٽر تي محفوظ ڪئي وئي آهي. جڏهن ڳنڍيندي، VM چيڪ ڪري ٿو ته ڪلائنٽ وٽ هڪ مناسب نجي چيڪ آهي.
پريس لانچ. هيٺ ڏنل ونڊو توهان جي سامهون ظاهر ٿيندي:
داخل ڪريو اهم جوڙي جو نالو (توهان جي سهولت لاءِ) ۽ ڪلڪ ڪريو ڊائون لوڊ ڪريو اهم جوڙو. توھان کي ڊائون لوڊ ڪرڻ گھرجي پي ايم هڪ فائل جنهن ۾ توهان جي خانگي چاٻي شامل آهي. بٽڻ تي ڪلڪ ڪريو لانچ جا مثال. توهان صرف هڪ مجازي مشين ٺاهي آهي جنهن تي سرور نصب ڪيو ويندو.
هڪ جامد IP حاصل ڪرڻ
هاڻي اسان کي حاصل ڪرڻ جي ضرورت آهي جامد IP اسان جي VM ڏانهن. هن مينيو لاءِ اسان ٽيب ڳوليندا آهيون لچڪدار IPs ۽ اسان ان سان گڏ هلون ٿا. ٽيب تي، بٽڻ تي ڪلڪ ڪريو مختص ڪريو لچڪدار IP پتو ۽ حاصل ڪريو جامد IP.
ھاڻي مليل IP پتو اسان جي VM سان لاڳاپيل ھجڻ گھرجي. هن کي ڪرڻ لاء، ان کي چونڊيو فهرست مان ۽ مينيو ۾ ڪارناما چونڊيو لاڳاپيل IP پتو
اڳيون، اسان VM کي اسان جي IP پتي تي پابند ڪنداسين
ٿي ويو!
اسان وي ايم ڏانهن وڃو
هاڻي ته VM ترتيب ڏنل آهي ۽ IP پتو لڳايو ويو آهي، اچو ته ان سان ڳنڍيون ۽ اسان جي ميني ڪرافٽ سرور کي انسٽال ڪريو.
SSH ذريعي VM سان ڳنڍڻ لاء اسان پروگرام استعمال ڪنداسين PuTTY. انسٽال ڪريو PuTTYgen هن صفحي تان فوري طور تي
PuTTY انسٽال ڪرڻ کان پوء، ان کي کوليو. هاڻي توهان کي ڪنيڪشن ترتيب ڏيڻ جي ضرورت آهي.
ٽئب ۾ اجلاس ڪنيڪشن جو قسم چونڊيو ايس، بندرگاهه 22. ڪنيڪشن لاءِ نالو بيان ڪريو. SSH ذريعي ڳنڍڻ لاء ميزبان جو نالو هڪ تار آهي جهڙوڪ: имя_пользователя@публичный_dns.
CentOS لاءِ AWS ۾ ڊفالٽ صارف نالو آھي سئو. توهان جو عوامي DNS هتي ڏسي سگھجي ٿو:
ٽئب ۾ SSH -> Auth پنھنجي پرائيويٽ SSH چيڪ داخل ڪريو. اهو هڪ فائل ۾ ذخيرو ٿيل آهي .pem، جيڪو اسان اڳ ۾ ڊائون لوڊ ڪيو. پر PuTTY فائلن سان ڪم نٿو ڪري سگهي .pem، هن کي فارميٽ جي ضرورت آهي .ppk. تبادلي لاءِ اسان استعمال ڪنداسين PuTTYgen. PuTTYgen ويب سائيٽ تان تبادلي جون هدايتون. وصول ٿيل فائل .ppk اچو ته محفوظ ڪريون ۽ هتي اشارو ڪريون:
اسان بٽڻ سان ڪنيڪشن کولڻ سان VM سان ڳنڍيندا آهيون کوليو.
مبارڪون هجن! اسان صرف توهان جي VM جي ڪنسول سان ڳنڍيل آهي. باقي اهو آهي ته اسان جي سرور کي انسٽال ڪرڻ لاء ان تي.
هڪ Minecraft سرور کي انسٽال ڪرڻ ۽ ترتيب ڏيڻ
اچو ته اسان جي سرور کي ترتيب ڏيڻ شروع ڪريون. پهرين، اسان کي اسان جي VM تي ڪيترن ئي پيڪيجز کي نصب ڪرڻ جي ضرورت آهي.
sudo yum install -y wget mc iptables iptables-services java screen
اچو ته ڄاڻون ته هر هڪ پيڪيجز لاء ڇا آهي.
وهن - لينڪس ۾ فائلون ڊائون لوڊ ڪرڻ لاء هڪ افاديت. ان کي استعمال ڪندي اسان سرور فائلون ڊائون لوڊ ڪنداسين.
mc - ڪنسول ٽيڪسٽ ايڊيٽر. اهو سادو ۽ استعمال ڪرڻ آسان آهي هڪ untrained استعمال ڪندڙ لاء.
iptables - فائر وال کي منظم ۽ ترتيب ڏيڻ لاءِ هڪ افاديت، ان جي مدد سان اسان پنهنجي VM تي سرور لاءِ هڪ بندرگاهه کولينداسين.
اسڪرين - لينڪس لاءِ ونڊو مئنيجر. اهو اسان کي سرور کي وڌائڻ لاء اسان جي ڪنسول کي نقل ڪرڻ جي اجازت ڏيندو. حقيقت اها آهي ته سرور کي ڪنسول ذريعي شروع ڪيو وڃي؛ جيڪڏهن توهان پنهنجي VM کان ڌار ڪيو، سرور جي عمل کي روڪيو ويندو. تنهن ڪري، اسان ان کي الڳ ڪنسول ونڊو ۾ هلائينداسين.
ھاڻي اچو ته فائر وال کي ترتيب ڏيو.
هڪ فائر وال هڪ ڪمپيوٽر نيٽ ورڪ جو هڪ سافٽ ويئر يا هارڊويئر-سافٽ ويئر عنصر آهي جيڪو مخصوص ضابطن جي مطابق ان مان گذرندڙ نيٽورڪ ٽرئفڪ کي ڪنٽرول ۽ فلٽر ڪري ٿو. (وڪيپيڊيا)
سادي اصطلاحن ۾ وضاحت ڪرڻ لاء: هڪ قلعي وارو شهر تصور ڪريو. مٿس مسلسل ٻاهران حملا ٿيندا رهيا آهن، جڏهن ته شهر ۾ عام زندگي هلندي رهي. شهر ۾ پهچڻ لاءِ قلعي جي ڀت ۾ هڪ دروازو آهي، جنهن تي نگهبان بيٺا آهن ۽ فهرستن مان چيڪ ڪندا آهن ته ڇا ان شخص کي قلعي ۾ داخل ٿيڻ جي اجازت ڏئي سگهجي ٿي. ڪمپيوٽر نيٽ ورڪ ۾ ڀت ۽ دروازي جو ڪردار هڪ فائر وال جي ذريعي انجام ڏنو ويندو آهي.
sudo mcedit /etc/sysconfig/iptables
اسان صرف هڪ فائر وال ترتيب واري فائيل ٺاهي آهي. اچو ته ان کي معياري ترتيب واري ڊيٽا سان ڀريون، بشمول بندرگاهن لاءِ ضابطو 25565، جيڪو minecraft سرور لاءِ معياري بندرگاهه آهي.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 25565 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
دٻائي فائل بند ڪريو F10، تبديلين کي محفوظ ڪرڻ.
ھاڻي اچو ته فائر وال کي لانچ ڪريون ۽ ان کي شروع ۾ فعال ڪريون:
حڪم استعمال ڪندي فولڊر جي مواد کي ڏسو ls، پڪ ڪريو ته فائلون ڊائون لوڊ ٿيل آهن.
اچو ته سرور فائل شروع ڪريون. ھاڻي سرور ڪم نه ڪندو: اھو ڪم لاءِ ضروري فائلون ٺاھيندو، ۽ شڪايت ڪندو ته توھان EULA لائسنس جي شرطن سان متفق نه آھيو. فائل کولڻ سان شرطن کي قبول ڪريو eula.txt
sudo mcedit eula.txt
داخلا کي تبديل ڪندي پنھنجي معاهدي جي تصديق ڪريو:
eula=true
فائل کوليو server.properties: ھي آھي توھان جي سرور جي ٺاھ جوڙ واري فائل. سرور سيٽنگون بابت وڌيڪ
ان ۾ ھيٺ ڏنل تبديلي ٿيڻ گھرجي:
online-mode=false
باقي سيٽنگون توهان جي صوابديد تي آهن.
سرور جي شروعات
اهو سرور شروع ڪرڻ جو وقت آهي. جيئن مون اڳ ۾ چيو آهي، سرور سڌو ڪنسول کان شروع ٿئي ٿو، پر جيڪڏهن اسان مين ڪنسول کي بند ڪريون ٿا، سرور جو عمل بند ٿي ويندو. تنهن ڪري، اچو ته هڪ ٻيو ڪنسول ٺاهي: