Virtualmin at private IP to public IP

System - Oracle VM.Standard.A1.Flex // 1 OCPU // 3 Gb Ram
OS - Ubuntu 20.04 LTS - Packages upgraded
Webmin version: Last (02/Aug/2020) as per # wget
Virtualmin version: Last (02/Aug/2020) as per # wget

Hello! I’ve installed successfully Virtualmin (all packages until phase 3), but somehow it was installed at the Private Ip and not the Public IP, therefore I cannot access the panel at the browser. So:

  1. There is some command line (ssh) to change the ip address (private > public)?
  2. If not, what should I do to install Virtualmin at the public ip instead of private ip?

You’re misunderstanding the problem. Webmin listens on all IPs, by default. If you can’t reach it on one of those IPs, something else is going wrong.

I might have missed something. Privates IPs are not accessible through the internet, right?

What happened is that Virtualmin got installed on: or, therefore, Private IP.

I would like to change my installation to 170.x.x.x.

If it is not possible to just change it, how can I proceed to make a fresh install that would use domain + public ip?

And, I’m telling you you’re misunderstanding the problem. Reread what I said above. Webmin/Virtualmin, the panel you’re trying to access, always listens on all IP addresses configured on the system by default (it listens on, which means “all interfaces” in UNIX/Linux networking). It cannot be “installed on the private IP”. That’s not a thing that can happen. If you can’t reach it on the public IP something else is wrong.

I can’t guess what that is, but restating what you believe the problem is (but isn’t) isn’t going to help us sort it out.

You don’t need a fresh install or to change anything in Virtualmin (though you might need to tell Virtualmin what your public IP is for the vhosts and DNS records, but that has nothing to do with reaching Virtualmin itself on that IP). You need to figure out why you client can’t reach port 10000 on that public IP. It’s probably a routing or firewall or NAT issue. It probably has nothing to do with Webmin/Virtualmin.


It cannot be “installed on the private IP”. That’s not a thing that can happen.

I though it too, but who knows? Definitely not me. I’m just learning. Hahaha. Your words helped me out to stop looking for things that don’t exist/workout.

I will go through the whole process again, from zero.

I think you’re still not getting my point. Something else is wrong. Installing Virtualmin again won’t change anything with your router, NAT, or firewall, which is where, I believe with pretty high confidence, your problem resides.

If you installed this at home, panel will be available to whatever your router has assigned the IP as. e.g. - check what local IP your pc has and then access panel using the IP address:port

To route traffic behind your broadband router and to make DNS to work is a complete different topic. Your dynamic external IP can be mapped using a 3rd party and webmin can respond to that address but you really need some basics sorted before messing about with that.

It already is. It does both. If you’re installing it on your network it will run on your network and your broadcast IP as well. When you check the “edit virtual server” in Virtualmin it will have both IP’s listed - the first number is the network IP and the second is the broadcast (public) IP.

If you’re not reaching Virtualmin it’s because you either have no idea what you’re doing or you have a firewall/router issue or a combination of both.

That’s not right, actually. Virtual hosts created by Virtualmin do have one IP assigned to them, and it could have guessed wrong about what the public IP is. But, that’s not what the question is about. OP can’t reach the control panel itself…which means there’s a networking issue (maybe a consumer router that that isn’t much of a router, maybe a firewall, whatever), because Webmin/Virtualmin (the control panel, not the Apache or nginx virtual hosts that it manages) listens on all IPs by default.

So…domains may very well be getting the wrong IP and that may need to be configured. But, until OP is able to login to Virtualmin, they can’t know.

Mine has always been accurate. I read he simply wanted to swop IP’s that Virtualmin was installed on, hence my reply.

At first, check that Webmin service is actually running:

systemctl status webmin

Considering Virtualmin script didn’t fail, your instance must accept connections to ports 10000-10100 and 20000 already.

But most probably your cloud provider’s firewall is blocking port 10000. It is common practice to block everything, and later let a user manually open ports for needed services only (on cloud provider’s interface). GCP is the vivid example.

The simple test (at first) would be is trying to SSH to your server with the following command:

ssh -v -p 22 root@public-ip

If you can do it, then all is fine, and you would need to look at the cloud provider’s firewall and just open port 10000.

1 Like

I’ve proceeded as per Oracle’s documentations regarding the ports. Somehow, the command to open port 10000 would open just the port 10100, but only at this particular VM with Webmin. After flushing the VM rules and re-adding the port rules, it is working now.

Thank you @Joe and @Ilia.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.