I'M GETTING CONFUSED ABOUT IPV4/IPV6, FLOATING IPS AND HOT-PLUGGING. CAN YOU PROVIDE A SIMPLE EXPLANATION FOR ALL THESE?
Sure, we 'll try to answer your questions in a Q&A style:
Q: Well, uhm, what is an IP in the first place?
A: An IP address is a unique numerical address that is assigned to a device that participates to a computer network.
Q: There is more than one computer network?
A: The most known computer network is, of course, the Internet, but there are other computer networks that you may encounter in your everyday life. Take for instance the Wi-fi of your house, where your smartphone and laptop are connected to your router. This forms a computer network between those two devices.
Q: So, the Internet is considered as a public network whereas my house is
more of a private network?
A: Exactly. We use the same terminology in ~okeanos too. A public IP of a VM is an IP that can be reached from anywhere, whereas a private IP is an IP that can be reached only by VMs that participate in the same private network.
Q: Ok, got that, but why do I see two IPs for my VM, IPv4 and IPv6?
A: It's not only your VM. All modern network cards have two IP addresses and most probably your PC has two right now. We suggest you read this Mashable article (yes also in Q&A style, we were that picky) to help you understand the reason why there are two.
Q: Is it a problem if my VM has only an IPv6 address?
A: Well, given that the adoption rate of IPv6 is slow, there may be sites that are not accessible via IPv6. Also, you may not be able to access your VM, if your router isn't setup to handle IPv6 connections. This is not a common issue nowadays, but for old configurations it may happen.
Q: Ouch, I don't like that. Is there anything we can do about it?
A: Yes, we have what we call floating IPs. Floating IPs are IPv4 addresses that can be assigned to any VM you want on-the-fly. This means that when you want to connect to one of your VMs, you can detach a floating IP from another VM and attach it to it. This happens in a matter of seconds using NIC hot-plugging, so it shouldn't interrupt your workflow. You can take a look at the floating IPs guide to see how it's done. Also, remember that you can connect your machines to a private network, which is faster and safer, if you want VM-to-VM communication.
Q: Private networks and floating IPs do not cover my use case. I need all
my VMs to be accessible from the Internet at the same time.
A: In this case, we would suggest you create a project where you formally make a request for more resources (floating IPs in this case). Else, you will need to resort to more expert solutions, such as using a VM of yours to route traffic to the rest of your VMs (you can find more information on our NAT guide).
Q: I see. One more question, what is NIC hot-plugging?
A: Let's explain first what hot-plugging is. hot-plugging is an OS feature that allows you to register devices the moment they are connected to the system. A common example is your USB drive, which you can plug and unplug without rebooting your computer.
NIC (Network Interface Controller) hot-plugging is essentially the hot plugging of a specific device, the network card. When a network card is plugged in a running system that supports hot-plugging, it is registered immediately by the OS and the Network Manager of your VM should assign an IP address to it.
Note: ~okeanos-knossos images have been thoroughly tested to support hot-plugging. If however your OS or application does not work properly with hot-plugging, you are advised to shut down your VM first, before attaching/detaching any IP.
- Can I modify the technical specifications of an already created VM?
- How can I recover my data from a VM that has been destroyed? Is there any way to restore my VM back to its previous state?
- If I disconnect from my account, do my Virtual Machines stop working?
- Why does my VM's image show up as "Deleted" in its details?
- I registered but I cannot create VMs.
- What is the username and password of my VM?
- Can I change the provided domain name of my VM?
- How can I connect to the VM that I have created?
- How can I access all my VMs using one public IP?
- Why X2Go does not work when trying to connect to my VM?
- Why X2Go does not work on MacOS X?
- Is there a way of creating a local network using my Virtual Machines?
- Is it possible to create a local network between Virtual Machines that have been created by different users?
- In which case would I need to connect to my VM through the console?
- My VM does not seem to have a network adapter, even though it is connected to a network.
- My VM does not work properly with IPv6.
- I'm getting confused about IPv4/IPv6, floating IPs and hot-plugging. Can you provide a simple explanation for all these?
- Can I shutdown/reboot my VM internally?
- Why is port X closed? Is it blocked by design?
- How can I add my public SSH key in an existing VM?
- I updated my Ubuntu 16.04 VM to Ubuntu 18.04 and cannot connect to it.