Πως ακριβώς θα επικοινωνούν μεταξύ τους τα 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 χωρίς το δίκτυο ΝΑΤ;