[Distrib] Επικοινωνία των VM's μέσω sockets

Σκουρτσίδ Σκουρτσίδ
Wed Jan 6 19:30:04 EET 2021


Πως ακριβώς θα επικοινωνούν μεταξύ τους τα VMs χρησιμοποιώντας sockets; 
Δοκίμασα επιτυχώς να επικοινωνήσω με τον υπολογιστή μου και το VM που 
έχει την publc IP.Όμως στην επικοινωνία μεταξύ των VMs λαμβάνω κάποια 
errors.

Στην python όταν σε VM χωρίς IPv4 χρησιμοποιώ την εντολή 
"socket.gethostbyname(socket.gethostname())",η οποία λαμβάνει την ΙΡ του 
συγκεκριμένου μηχανήματος, λαμβάνω το εξής error "socket.gaierror: 
[Errno -2] Name or service not known"

Όταν έχω στήσει ένα δίκτυο ΝΑΤ και τρέχω την ίδια εντολή σε VM χωρίς 
ΙΡv4,τότε γίνεται κανονικά το bind του socket.Tρέχω τις ακόλουθες 
εντολές:
     PORT = 6000
     SERVER = socket.gethostbyname(socket.gethostname())
     ADDR = (SERVER, PORT)
     server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     server.bind(ADDR)
     server.listen()
     print(f"[LISTENING] Server is listening on {SERVER}")

και η εντολή print εμφανίζει : "[LISTENING] Server is listening on 
127.0.1.1 "

Στη συνέχεια όμως όταν προσπαθώ από άλλο Vm να συνδεθώ, τότε λαμβάνω το 
εξής error :
"socket.error: [Errno 111] Connection refused"

Τι δεν κάνω σωστά; Μήπως αντί για AF_INET θα έπρεπε να χρησιμοποιήσω 
AF_INET6 χωρίς το δίκτυο ΝΑΤ;
-- 
Ευχαριστώ,
Σκουρτσίδης Γιώργος


More information about the Distrib mailing list