I've recently installed Webmin on a Ubuntu server but I can't get it to work. I asked a recent question about saving iptables but it turns out you don't need to "save" iptables changes.

Anyway, I still can't get Webmin working after opening the port up:

iptables -A INPUT -p tcp -m tcp --dport 10000 -j ACCEPT

It seems that either the command is not opening up port 10000, or there is a separate problem with Webmin. If I run iptables -L I see lines like the following, but no port 10000:

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:5555 state NEW
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:8002 state NEW
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:9001 state NEW

However, there is a line:

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:webmin

Any ideas why Webmin is not working? The IP address works fine and we can view web sites on the server, but https://[ip]:10000/ (or http) doesn't work.

  • Are you able to access it from inside your network? – Joshua K Oct 3 '09 at 1:35

I managed to fix this following the advice on this page by adding the rule to the beginning of the list, rather than the end. If you append it, the rule comes after all the traffic has been dropped, which doesn't work.

This command did it:

iptables -I INPUT 1 -p tcp --dport 10000 -j ACCEPT
  • I have to do this after every reboot.. what is going on? – Ortix92 Apr 12 '15 at 10:11
  • 1
    @Ortix92 You need to save the rules and get them to reload on boot. The firewall section of this page should help. – DisgruntledGoat Apr 13 '15 at 11:18

Try changing the port and listen in \etc\webmin\miniserv.conf



Then restart webmin:

/etc/init.d/webmin restart

Now use:

  • don't you mean to use 10000 and not 1000? – Falcon Momot Feb 28 '14 at 0:19
  • use another port (ex: 1000) instead of 10000 – Tayba Mar 1 '14 at 7:56
  • This solution really helped me in my case. My ISP was blocking the port 10000 – Imtiaz Apr 4 '18 at 22:28

Does it work locally on the server where webmin is installed (ie. http[s]:// If you don't want to install a graphical webbrowser to test this, just try it with wget or something.

The dpt:webmin part of your output just means there is an entry for webmin on port 10000 in your /etc/services and iptables looks it up to give a more meaningful output (service type instead of hostname).

  • Yes, trying https://localhost:10000 with wget grabs the regular login page. So internally it seems to be working fine. – DisgruntledGoat Sep 14 '09 at 16:58

Also make sure webmin is configured to listen from remote addresses. This is under webmin configuration>IP access control.

  • ...but I can't access Webmin. I suppose I may be able to use Lynx locally to check, but Lynx is always funny with anything more than basic HTML (i.e. certificates, cookies, etc). I'm sure by default you can access from remote addresses - that's what it's for! – DisgruntledGoat Sep 15 '09 at 9:59

maybe blocked/forwarded on the router? it's not a usual port to be open on every router... i happen to have it open on one only because it's DMZ'd. Also you don't mention how you're trying to connect. my corporate firewall blocks anything other than port 80 and 443 so to access from their system I have to change it to a port that they permit.


as another possible solution (since you didn't mention this...) if possible, VPN to your network. VPN should permit connectivity.


I had to modify the above answer to include the -i option which allows you to specify which interface the rule should be applied to. When I ran the rule without the option, it was not showing up in iptables -L but after specifying the interface, it worked like a charm.

From the iptables -h docs:

[!] --in-interface -i input name[+]
                                network interface name ([+] for wildcard)

So, to apply the rule to any ethernet interface you would do the following:

iptables -I INPUT 1 -p tcp --dport 10000 -i eth+ -j ACCEPT

Or, to listen on on a specific ethernet interface (eth1, for example) you would do:

iptables -I INPUT 1 -p tcp --dport 10000 -i eth1 -j ACCEPT

Now, iptables -L should show it at the top of the output and you will be able to access webmin's web interface. HTH.


You can try

Sudo service webmin restart
  • 1
    If you had taken the time to read the accepted answer, it would be clear that this wouldn't help. – Sven Oct 16 '17 at 18:01
  • This question was solved over 7 years ago... – DisgruntledGoat Oct 18 '17 at 12:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.