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

Пункт назначения недоступен (хост запрещен административно) при разрешении через FirewallD и SELinux

Я пытаюсь подключиться к своей виртуальной машине, на которой работает Oracle Database XE 18c в Oracle Linux 7.6 и использую мостовую сеть через разработчика Oracle SQL, однако мне не повезло.

Я постоянно разрешил порт прослушивателя Oracle (1521) через зону моего интерфейса в FirewallD, отключил iptables и установил SELinux как разрешающий.

Службы Oracle Database на самом сервере в порядке, и кажется, что все в порядке, но когда я пытаюсь подключиться к своему серверу (который работает в локальной сети) через Oracle SQL Developer, я получаю следующее:

Состояние: сбой - проверка не удалась: ошибка ввода-вывода: сетевому адаптеру не удалось установить соединение

Итак, я попытался использовать nmap чтобы определить, был ли порт на хосте открыт или закрыт, и я получил это обратно:

Host is up (0.0024s latency).

PORT     STATE    SERVICE
1521/tcp filtered oracle

Пинг сервера работает нормально, только этот порт остается заблокированным, даже если он разрешен через брандмауэр системы и SELinux. При захвате пакета, возвращаемого в Wireshark, я вижу следующее:

Пункт назначения недоступен (хост запрещен административно)

Итак, я предполагаю, что соединение определенно происходит, но что-то где-то препятствует его продолжению, и я не знаю, что это такое.

Примечание. Для справки я следил за этот учебник по настройке Oracle Database на моем сервере, и я использую стандартный Интернет-сервис NBN операторского / домашнего уровня, если это помогает.

Вам нужно открыть порт в брандмауэре. К сожалению, вы думали, что сделали это, но на самом деле этого не произошло.

firewall-cmd --add-port=1521/tcp

На самом деле вы добавили --permanent вместо этого на команду, которая записывает постоянную конфигурацию, но не изменяет работающий брандмауэр.

За исключением вещей, которые требуют этого, таких как добавление и удаление зон, использование --permanent не рекомендуется. Вместо этого вам следует изменить текущую конфигурацию, чтобы в случае ошибки, которая блокирует вас, вы могли перезапустить firewalld или компьютер и вернуться в систему. Убедившись, что это работает, вы можете сохранить текущую конфигурацию с помощью firewall-cmd --runtime-to-permanent.