Назад | Перейти на главную страницу

Что может незаметно блокировать доступ к порту на сервере Ubuntu 10.04?

У меня есть проприетарная служба, работающая на порту 8090 (фактически работающая на виртуальной машине VBoxHeadless и захватывающая этот порт с главной машины) на Интернет-сервере.

Nmap показывает, что порт 8090 открыт как на хосте, так и на виртуальной машине. Служба запускается (и останавливается, если запрашивается) нормально. Telnet может подключаться к порту со стороны удаленного клиента (но в telnet нет данных, поэтому я могу быть уверен, работает он или нет). Другие службы (такие как Postfix и Dovecot) также работают на виртуальной машине (хотя Debian Lenny, хотя хост и гость, которых я заинтересован в запуске Ubuntu Lucid) работают нормально, Samba на одной виртуальной машине работает нормально.

Но клиент (Windows, подключенный к хосту через OpenVPN (который работает - Samba отлично работает с ним) через Интернет) говорит, что он не может получить доступ к этой службе через порт 8090.

Что может его блокировать? Может быть, это какая-то вещь app-armor / selinux / hosts.allow или около того? Сервис был установлен 100% вручную (по мануалу), скриптов нет).

ОБНОВИТЬ, чтобы быть более конкретным. Я только что настроил все сам, используя в основном конфигурации по умолчанию и без специальной маршрутизации / брандмауэра. Конфигурации клиента и сервера OpenVPN взяты из документации OpenVPN (и они работали один раз, когда я не использовал виртуальные машины), правила iptables (как на хосте, так и на виртуальной машине) теперь установлены, принимают все и не делают ничего особенного, я только планирую их защитить после того, как я вообще получу систему. hosts.allow / deny кажутся пустыми (все # -ed, так как выходит из коробки).

Как я указывал выше, туннель OpenVPN, похоже, работает нормально, так как пинги проходят туда без проблем, а доступ к Samba через 445-й порт работает нормально (хотя он не работает через Интернет, если OpenVPN не используется). В конфигурации OpenVPN нет никаких специальных правил доступа / маршрутизации, как и в iptables. Схема маршрутизации проста - клиент запрашивает серверный хост (к которому можно получить доступ либо через OpenVPN, который он запускает, либо напрямую через Интернет), затем правила VirtualBox natpf захватывают определенные порты и передают их на виртуальные машины (есть 2 виртуальные машины и никаких конфликтов там нет, один работает с почтовым сервером, другой - с Samba + FireBird + AbraAppServer (последний является проблемным сервисом).

У меня нет никаких знаний о app-armor / selinux или о том, что есть в Ubuntu Lucid - может быть так? Имейте в виду, что если он есть, он настроен по умолчанию, как если бы он был из коробки в Ubuntu 10.04 Server.

iptables -L и проверьте там свои цепочки, может быть странное правило блокировки для определенных пакетов на порту 8090. hosts.allow - еще одно правило для проверки.

Одна вещь, которую нужно проверить с помощью VPN, - это конфигурация вашего маршрутизатора. Распознается ли подсеть VPN? Есть ли вообще какие-либо явные правила разрешения / запрета на маршрутизаторе? Если да, то что они разрешают / запрещают, и включена ли подсеть VPN в какую-либо из них? У вас настроена переадресация / сквозная пересылка портов на маршрутизаторе для порта 8090?

Что вы можете сделать, поскольку вы подключаетесь напрямую к компьютеру, а не к маршрутизатору, это если вы можете настроить правило для перенаправления трафика с порта X на порт 8090 IF (и только если) данные поступают с вашего Подсеть / адрес VPN и попробуйте получить доступ к порту X через VPN. Если это сработает, то вы знаете, что у вас есть проблема на локальном компьютере с разрешением трафика на порт 8090, если нет, то вы можете внимательнее изучить конфигурацию вашего маршрутизатора, поскольку может показаться, что обход NAT / брандмауэра OpenVPN может не работать в вашей сети.