হোস্ট সিস্টেম থেকে কোনও অতিথি ভিএমের সাথে কীভাবে সংযুক্ত করবেন?


15

আমার একটি ভিএম ওয়েবসার্ভার সেটআপ আছে এবং আমি অ্যাপাচি ইনস্টল করে শুরু করেছি। ভিএম এর একটি ব্রিজড নেটওয়ার্ক ইন্টারফেস রয়েছে এবং 192.168.0.2 ব্যবহার করে হোস্ট থেকে পিন করা যায়।

তবে, আমি যদি হোস্ট মেশিনে ব্রাউজারে সেই একই আইপি ঠিকানাটি টাইপ করি তবে আমি ভিএম-তে উত্পন্ন ডিফল্ট অ্যাপাচি পৃষ্ঠাটি দেখতে প্রত্যাশা করছিলাম, তবে পরিবর্তে, আমি can't connect to 192.168.0.2হোস্ট মেশিনগুলির ব্রাউজারে পাব ।

আমি স্পষ্টভাবে কিছু মিস করেছি। কেউ কি জানেন আমি কী মিস করেছি বা ভুল করেছি?

ভিএম থেকে আউটপুট netstat -tnlp

tcp     0     0 0.0.0.0:22        0.0.0.0:*     LISTEN     950/sshd
tcp     0     0 127.0.0.1:25      0.0.0.0:*     LISTEN    1026/master
tcp     0     0 :::22                  :::*     LISTEN     904/sshd
tcp     0     0 ::1:25                 :::*     LISTEN     980/master

আমি কীভাবে নেটওয়ার্ক ক্রিয়াকলাপ / কানেক্টিভিটি ভাবছি তার মোটামুটি অঙ্কন।

                               এখানে চিত্র বর্ণনা লিখুন


আপনি যদি কেবল দেখতে পান :::80তবে আপাচি কেবল আইপিভি 6 সংযোগের জন্য শুনছে। আপনি কি আপনার Listenনির্দেশাবলী পরীক্ষা করার চেষ্টা করেছেন ?
লেকেনস্টেইন

আপনি অ্যাপাচি 80 পোর্টে আসলে শুনছেন এবং অন্য কোনও পরিষেবা নয় তা যাচাই -pকরতে পতাকাটি যুক্ত করার চেষ্টা করুন netstat। আপনি কি curl localhostঅতিথির কাছ থেকে চালাতে পারবেন ? কি grep -C3 -rni Listen /etc/httpd/দেখায়?
লেকেনস্টেইন

আমার পক্ষে কোনও পক্ষ করুন, যদি এই দিকনির্দেশগুলি কাজ করে তবে এটিকে উত্তর হিসাবে লিখুন, কারণ আপনার স্ক্রিনশট অ্যাক্সেস থাকবে। এই প্রশ্নটি মোটামুটি পরিমাণে আসে, আমি বিশ্বাস করি না যে এর সমাধানটি সঠিকভাবে ধরা পড়েছে।
slm

উত্তর:


14

সংখ্যা # 1 - ভিএম নেটওয়ার্কিংয়ের ধরণ

নেটওয়ার্কিংয়ের 3 টি পদ্ধতি রয়েছে:

  1. ন্যাট
  2. কেবল হোস্ট
  3. সেতু নির্মাণ

সেগুলি স্থাপনের বিশদ

কখন ব্যবহার করবেন?

  • # 1 : অন্যান্য সার্ভারে থাকা ফেসবুক / ওয়েব অ্যাপ্লিকেশনগুলির বিকাশের জন্য
  • # 2 : আপনি যদি নিজের নিজস্ব অ্যাপ্লিকেশন তৈরি করতে চান এবং ভার্চুয়ালবক্স হোস্ট থেকে এটি পরীক্ষা করতে চান (কেবল অতিথি ভিএম নয়)
  • # 3 : আপনি যদি কোনও অ্যাপ তৈরি করতে চান এবং ল্যানের অন্যান্য সিস্টেম থেকে এটি পরীক্ষা করতে চান

সমস্যা # 2 - ফায়ারওয়াল ব্লকিং?

আপনি কোন ডিস্ট্রো ব্যবহার করছেন তার উপর নির্ভর করে ফায়ারওয়াল আপনার ওয়েব ব্রাউজারটি আপনার অ্যাপাচি উদাহরণটি অ্যাক্সেস করা থেকে আটকাচ্ছে। আপনি সিস্টেমে পিং করতে সক্ষম হয়ে গেছেন, তবে এটি 80 পোর্টের মাধ্যমে অ্যাক্সেস না করার মাধ্যমে এটি বোঝা যাবে which এটি পোর্ট যা অ্যাপাচি শুনছে।

সাময়িকভাবে এটি অক্ষম করা হচ্ছে

CentOS এ আপনি এটি নিষ্ক্রিয় করতে এই আদেশটি ব্যবহার করেন।

$ /etc/init.d/iptables stop

অ্যাপাচি এর শ্রবণ পরীক্ষা

আপনি এটিও নিশ্চিত করতে পারেন যে এটি এই বন্দরে শুনছে।

$ netstat -antp | grep :80 | head -1 | column -t
tcp  0  0  :::80  :::*  LISTEN  3790/httpd

ফায়ারওয়াল বন্ধ নিশ্চিত করুন

ফায়ারওয়াল নিশ্চিত করা যায় যে এটি চওড়া।

$ iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination      

এটি যদি আপনার সমস্যার সমাধান করে তবে আপনি স্থায়ীভাবে একটি বিধি যুক্ত করতে পারেন যা টিসিপি পোর্ট 80 এর মাধ্যমে ট্র্যাফিকের অনুমতি দেয়।

টিসিপি পোর্ট 80 এর জন্য একটি বিধি যুক্ত করা হচ্ছে

$ /etc/init.d/iptables restart
$ iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ /etc/init.d/iptables save

দ্রষ্টব্য: এটি পুনরায় বুট করার মধ্যে বিধি স্থির করে তুলবে।

ফায়ারওয়াল টিসিপি পোর্ট 80 গ্রহণ করছে

80 পোর্ট খোলা একটি সিস্টেমটি দেখতে এরকম কিছু দেখতে পাবে:

$ iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     icmp --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh 
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:http 
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:https 
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:8834 
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     icmp --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

সংখ্যা # 3 - আপাচে শুনছেন?

উপরের ইস্যুতে আমরা দেখেছি যে আপাচি শুনছে, তবে কখনও কখনও এটি ভুলভাবে কনফিগার করা হয় যাতে এটি কেবল 1 আইপি ঠিকানায় শুনছে, বা এটি একটি ভিন্ন নেটওয়ার্ক ইন্টারফেসে শুনছে। কমান্ডটি netstatএটি দ্বিগুণ পরীক্ষা করার পাশাপাশি অ্যাপাচি কনফিগারেশন ফাইলগুলি পর্যালোচনা করতে ব্যবহৃত হতে পারে।

$ netstat -anpt | grep :80 | column -t
tcp  0  0  0.0.0.0:80  0.0.0.0:*  LISTEN  1750/httpd

এটি দেখায় যে আপাচি সমস্ত ইন্টারফেসে শুনছে (আইপি 0.0.0.0)।

@ লেকেনস্টেইনের জবাবটি আমি এর পুনরাবৃত্তি করব না যা এখানে আরও বিশদে এই নির্দিষ্ট সমস্যাটি জুড়ে।

তথ্যসূত্র


এখন আমি সম্পূর্ণ বিভ্রান্ত আমি ইতিমধ্যে ব্রিজড মোডে ভিএম পেয়েছি, আমি হোস্ট থেকে ভিএমকে পিং করতে পারি তবে হোস্টের ওয়েব ব্রাউজার থেকে আমি একই আইপি অ্যাড্রেসটি পেতে পারি না যদিও ভিএম অ্যাপাচি ইনস্টল করে শুরু করেছে, আমার দেখা উচিত it worked!Apache পাতা।
oshirowanen

@oshirowanen - হতাশ না হওয়ার জন্য ধন্যবাদ আমরা চেষ্টা করে 8- টি সমস্যাটি সমাধান করেছি) নিশ্চিত করুন যে আপাচি সেন্টোজে চলছে /etc/init.d/httpd status, চলমান দেখানো উচিত।
slm

1
আমি ভিএম-তে ফায়ারওয়ালটি থামিয়ে দিয়েছি এবং ভিএম এর ইউআরএল অ্যাক্সেস করতে হোস্ট মেশিনে একটি ওয়েব ব্রাউজার ব্যবহার করার সময় আমি এখন ডিফল্ট আইপি পৃষ্ঠাটি দেখতে পাচ্ছি !!!
oshirowanen

1
@oshirowanen - উডাহু! ঠিক আছে সুতরাং পুরো সমস্যাটি কেবল ফায়ারওয়াল ছিল, আমি আপনার ফায়ারওয়ালে নিয়ম যুক্ত করার জন্য একটি কমান্ড যুক্ত করব, আপনি এটিকে স্থায়ী w / এই কমান্ডও বানাতে পারেন /sbin/service iptables save,।
slm

হ্যাঁ! আমি সেন্টোসের একটি ন্যূনতম ইনস্টল করেছি এবং আমার ধরে নেওয়া উচিত ছিল না যে ফায়ারওয়ালটি ডিফল্টরূপে অক্ষম করা হয়েছিল ... সত্যি কথা বলতে, ফায়ারওয়ালটি আমার মনেও আসেনি। সাহায্য করার জন্য আপনার সময় ব্যয় করার জন্য ধন্যবাদ।
oshirowanen

2

আপনার অ্যাপাচি ইনস্টলেশন সম্ভবত লোকালহোস্টে শুনতে কনফিগার করা হয়েছে। আপনার অতিথির মধ্যে দৌড়ে আপনি যাচাই করতে পারেন:

$ netstat -tnl | grep :80
Proto Recv-Q Send-Q Local Address      Foreign Address  State
tcp        0      0 0.0.0.0:80         0.0.0.0:*        LISTEN
tcp6       0      0 :::80              :::*             LISTEN

যদি এটি বলে 0.0.0.0:80, এটি সমস্ত ইন্টারফেসে শুনবে। আপনার ক্ষেত্রে, আমি 127.0.0.1:80পরিবর্তে আশা করব । এটি সমাধানের জন্য, আপনার অ্যাপাচি কনফিগারেশন (কোথাও কোথাও /etc/httpd/conf/) সম্পাদনা করুন এবং পরিবর্তন করুন:

Listen 127.0.0.1:80

প্রতি:

Listen 80

আপনি nmapআপনার মেশিনে উপলব্ধ পরিষেবাদি যাচাই করতেও ব্যবহার করতে পারেন । এটি দেখতে হবে:

$ nmap 192.168.0.2

Starting Nmap 6.40 ( http://nmap.org ) at 2014-01-11 15:22 CET
Nmap scan report for localhost (192.168.0.2)
Host is up (0.0036s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 0.21 seconds

2

CentOS 7-এ, ফায়ারওয়াল্ড iptables কে ডিফল্ট ফায়ারওয়াল হিসাবে প্রতিস্থাপন করেছে।

আমাকে ব্যবহার করতে হয়েছিল

systemctl stop firewalld

হোস্ট থেকে সেন্টোজ ভিএম-তে সংযোগ পরীক্ষা করতে ফায়ারওয়ালকে বিরতি দিতে।

এখানে আরও দেখুন: /programming/24756240/how-can-i-use-iptables-on-centos-7

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.