Я недавно установил Webmin на сервере Ubuntu, но я не могу заставить его работать. Я спросил недавний вопрос насчет сохранения iptables, но оказывается, что вам не нужно "сохранять" изменения iptables.
В любом случае, я все еще не могу заставить Webmin работать после открытия порта:
iptables -A INPUT -p tcp -m tcp --dport 10000 -j ACCEPT
Похоже, либо команда не открывает порт 10000, либо есть отдельная проблема с Webmin. Если я сбегу iptables -L
Я вижу такие строки, но нет порта 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
Однако есть строчка:
ACCEPT tcp -- anywhere anywhere tcp dpt:webmin
Есть идеи, почему Webmin не работает? IP-адрес работает нормально, и мы можем просматривать веб-сайты на сервере, но https://[ip]:10000/
(или http) не работает.
Мне удалось это исправить по совету на этой странице добавляя правило в начало списка, а не в конец. Если вы добавите его, правило действует после того, как весь трафик был сброшен, что не работает.
Эта команда сделала это:
iptables -I INPUT 1 -p tcp --dport 10000 -j ACCEPT
Попробуйте изменить port
и listen
в \ etc \ webmin \ miniserv.conf
пример:
port=1000
listen=1000
Затем перезапустите webmin:
/etc/init.d/webmin restart
Теперь используйте:
https://iporhost:1000/
Работает ли он локально на сервере, где установлен webmin (например, http [s]: //127.0.0.1: 10000)? Если вы не хотите устанавливать графический веб-браузер, чтобы проверить это, просто попробуйте с помощью wget или чего-то еще.
Часть вашего вывода dpt: webmin просто означает, что в вашем / etc / services есть запись для webmin на порту 10000, и iptables просматривает ее, чтобы получить более значимый вывод (тип службы вместо имени хоста).
Также убедитесь, что webmin настроен на прослушивание с удаленных адресов. Это в конфигурации webmin> Контроль доступа IP.
может быть заблокирован / перенаправлен на роутере? это не обычный порт, который должен быть открыт на каждом маршрутизаторе ... я случайно открыл его на одном только потому, что он DMZ. Также вы не упоминаете, как пытаетесь подключиться. мой корпоративный брандмауэр блокирует все, кроме портов 80 и 443, поэтому для доступа из их системы я должен изменить его на порт, который они разрешают.
в качестве другого возможного решения (поскольку вы не упомянули об этом ...), если возможно, VPN в вашу сеть. VPN должен разрешать подключение.
Мне пришлось изменить приведенный выше ответ, чтобы включить -i
опция, позволяющая указать, к какому интерфейсу следует применять правило. Когда я запускал правило без опции, он не отображался в iptables -L
но после указания интерфейса он работал как шарм.
Из iptables -h docs:
[!] --in-interface -i input name[+]
network interface name ([+] for wildcard)
Итак, чтобы применить правило к любому интерфейсу Ethernet, вы должны сделать следующее:
iptables -I INPUT 1 -p tcp --dport 10000
-i eth + -j ACCEPT
Или, чтобы прослушивать определенный интерфейс Ethernet (например, eth1), вы должны:
iptables -I INPUT 1 -p tcp --dport 10000
-i eth1 -j ACCEPT
Сейчас, iptables -L
он должен отображаться вверху вывода, и вы сможете получить доступ к веб-интерфейсу webmin. HTH.
Можешь попробовать
Sudo service webmin restart