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

Исходящая политика iptables по умолчанию принимается, но некоторые порты кажутся заблокированными

Я новичок в серверах и iptables. У меня есть веб-приложение (оказывается, bugzilla), работающее на моем сервере Centos 6.7 apache / httpd, и оно пытается подключиться к Интернету (updates.bugzilla.org) через порт 80. Оно также пытается подключиться (к smtp .gmail.com) через порт 465. Однако это невозможно. Это несмотря на наличие политики вывода по умолчанию ACCEPT и открытие соответствующих портов для ввода.

Я не уверен, что делать дальше. Где мне искать, чтобы начать устранение неполадок? Каковы вероятные виновники?

Некоторый вывод:

$ service iptables status

Таблица: фильтр

Цепочка INPUT (политика ACCEPT)

num target prot opt ​​источник назначения

1 ПРИНЯТЬ все - 0.0.0.0/0 0.0.0.0/0

2 ПРИНЯТЬ все - 0.0.0.0/0 0.0.0.0/0 состояние СВЯЗАННО, УСТАНОВЛЕНО

3 ПРИНЯТЬ tcp - 0.0.0.0/0 0.0.0.0/0 tcp dpt: 22

4 ПРИНЯТЬ tcp - 0.0.0.0/0 0.0.0.0/0 tcp dpt: 80

5 ПРИНЯТЬ tcp - 0.0.0.0/0 0.0.0.0/0 tcp dpt: 443

6 ПРИНЯТЬ tcp - 0.0.0.0/0 0.0.0.0/0 tcp dpt: 25

7 ПРИНЯТЬ tcp - 0.0.0.0/0 0.0.0.0/0 tcp dpt: 587

Цепочка FORWARD (policy DROP) num target prot opt ​​source destination

Цепочка OUTPUT (policy ACCEPT) num target prot opt ​​source destination

И:

iptables -L -v Цепочка INPUT (политика ACCEPT 881 пакетов, 106 Кбайт)

pkts bytes target prot opt ​​in source назначение

0 0 ПРИНЯТЬ все - все где угодно и где угодно

436 183K ПРИНЯТЬ все - любое в любом месте в любом месте ГОСУДАРСТВО СВЯЗАННО, СОЗДАНО

0 0 ПРИНЯТЬ tcp - любой, где угодно, где угодно tcp dpt: ssh

1 60 ACCEPT tcp - любой, где угодно, где угодно tcp dpt: http

0 0 ПРИНЯТЬ tcp - любой, где угодно, где угодно tcp dpt: https

0 0 ПРИНЯТЬ tcp - любой, где угодно, где угодно tcp dpt: smtp

0 0 ПРИНЯТЬ tcp - любой, где угодно, где угодно tcp dpt: submission

Цепочка FORWARD (политика DROP 0 пакетов, 0 байтов) пакетов байтов target prot opt ​​in out source destination

ЦЕПНЫЙ ВЫХОД (политика ПРИНЯТЬ 348 пакетов, 56741 байт)

pkts bytes target prot opt ​​in source назначение

Я надеюсь, что это не специфическая для bugzilla или centos вещь, так как я успешно установил bugzilla на рабочий стол ubuntu, хотя это было при использовании ufw ubuntu (думаю, я также пробовал это с iptables, но мне нужно попробовать еще раз проверить).

ОБНОВИТЬ:

Для тех, кто ищет в Интернете и видит это позже, оказывается, что это проблема SELinux! Требуется для включения логического "httpd_can_network_connect" (для других используйте "getsebool -a").

Попробуй это:

service iptables save
service iptables stop
chkconfig iptables off

Бум, брандмауэра нет. Еще раз попробуй.

Попробуйте использовать telnet для проверки этого порта:

telnet updates.bugzilla.org 80

После подключения к Telnet введите «get» и посмотрите, есть ли ответ.

Example:

# telnet updates.bugzilla.org 80
Trying 63.245.223.29... 
Connected to updates.bugzilla.org.
Escape character is '^]'
get
<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx/1.0.15</center>
</body>
</html>
Connection closed by foreign host.

Не получилось?

Попробуйте tcptraceroute, чтобы увидеть, где он заблокирован:

tcptraceroute updates.bugzilla.org 80

Может быть что-то еще блокирует порты? Межсетевой экран, роутер, провайдер?