Похожие вопросы

Отключение RC4 в наборе шифров SSL сервера Apache
VPN и локальная переадресация портов Apache
Apache 2.4 на Windows реагирует медленно, зависает при обслуживании некоторых динамических страниц
Не могу открыть virtualhosts на CentOS/Апач
Как проверить, если файл обслуживается Apache или nginx (nginx обратный прокси)
Как установить и настроить Fail2ban 0.9.3-1 на Ubuntu 16.04? Любое руководство для начинающих?
Как установить Horde Webmail на Ubuntu 14.04?
Карта папке "сайты" в http://localhost на ОС Х
Apache2 обратный прокси и отказано в HTTPS-соединении
Почему apache не переходит по моим символическим ссылкам?
Отказано в разрешении, так как отсутствуют разрешения поиска для компонента пути после chmod и chgrp
Apache не запускается, нет сообщений об ошибках httpd
WAMP server-когда я иду на свой IP-адрес, он не перенаправляет на индекс.РНР
XAMPP не запускает Apache на Mac OS X 10.6.8 Snow Leopard
Apache2 сделать субдомен доступ к локальному FTP-серверу

CentOS 6-iptables, предотвращающие веб-доступ через порт 80

я настраиваю новый веб-сервер с CentOS 6.2 и не могу подключиться через интернет. Все выглядит правильно в httpd.conf и Apache работает, поэтому я предполагаю, что это проблема в iptables.

есть ли что-нибудь в следующем что может быть причиной проблемы?

EDIT: если я остановлю iptables, я могу нормально подключиться, поэтому должно быть что-то нужно настроить ниже. Я уже запустил iptables -A INPUT -p tcp --dport 80 -j ACCEPT и сохранены и перезапущены iptables, но не сделал разница

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

следующий совет в ответ ниже:

[root@staging ~]# iptables -N TCP
[root@staging ~]# iptables -A TCP -p tcp --dport 80 -j ACCEPT
[root@staging ~]# iptables-save > /etc/iptables/iptables.rules
-bash: /etc/iptables/iptables.rules: No such file or directory
[root@staging ~]# iptables-save
# Generated by iptables-save v1.4.7 on Thu Nov  8 14:09:09 2012
*filter
:INPUT ACCEPT [91:7480]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [70:6556]
:TCP - [0:0]
-A TCP -p tcp -m tcp --dport 80 -j ACCEPT
COMMIT
# Completed on Thu Nov  8 14:09:09 2012
[root@staging ~]# iptables-restore
^C
[root@staging ~]# service iptables start
iptables: Applying firewall rules:                         [  OK  ]

дальнейшее редактирование: iptables-сохранить ничего не показал, как я запустил его после того, как я остановил iptables! Итак, вот результат:

# iptables-save
# Generated by iptables-save v1.4.7 on Thu Nov  8 14:39:10 2012
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [28:3344]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Thu Nov  8 14:39:10 2012
5
задан bsod99
источник

2 ответов

iptables-save вывод показывает этот бит дополнительной информации для Правила 3 не показывается с iptables -L:

С iptables -L вывод можно подумать, что все трафик принимается:

ACCEPT     all  --  anywhere             anywhere

но iptables-save показывает:

-A INPUT -i lo -j ACCEPT

что означает iptables действительно принимает весь трафик... но только из интерфейса loopback (lo).

и вот почему HTTP-трафик не достигает веб-сервера: единственный разрешенный трафик устанавливается соединениями в правиле 1 ICMP (например ping) в Правило 2: -A INPUT -p icmp -j ACCEPT и SSH в правиле 4:-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT.

тогда все отвергается в правиле 5:-A INPUT -j REJECT --reject-with icmp-host-prohibited.

то есть весь HTTP-трафик отклоняется даже до достижения правила 6: -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

исправить удалить Правило 6 (-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT):

iptables -D INPUT 6

и вставьте его (опция -I) как правило 5:

iptables -I INPUT 5 -p tcp -m tcp --dport 80 -j ACCEPT

или импорт это:

# Generated by iptables-save v1.4.6 on Thu Nov  8 16:46:28 2012
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [40:5423]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Thu Nov  8 16:46:28 2012

, сохранив его в файл и выполнив iptables-restore < file.

EDIT: OP заметил, что новые правила теряются после перезапуска iptables.

как пояснил здесь: http://wiki.centos.org/HowTos/Network/IPTables каждый раз, когда мы обновить правила мы должны спасти их, поэтому запустите этого:

# /sbin/service iptables save

чтобы сделать изменения постоянными. Теперь измененные правила будут загружены iptables.

7
отвечен jaume 2012-11-08 21:50:58
источник

Я не мастер iptables, но, как моя установка я использовал отдельную пользовательскую цепочку для моего открытия порта:

iptables -N TCP
iptables -A TCP -p tcp --dport 80 -j ACCEPT

убедитесь, что вы сохранить

iptables-save > /etc/iptables/iptables.rules

загрузить

iptables-restore < /etc/iptables/iptables.rules

^^ ^ если демон не загружает его для вас. Я вижу, что вы сказали, что вы уже запустили метод, описанный выше (только для входной цепи, которая, я не думаю, имеет значение), так что оставляет меня верить, что вы не могли бы экономить и перезагрузки правильно. Работает ли демон iptables правильно? Убедитесь, что после запуска вышеуказанных команд и использования iptables-L вы видите недавно добавленную цепочку и правило.


В ответ на ваши дальнейшие проблемы. iptables-save > location_of_rules я не уверен, где он находится на CentOS. Но проверьте, есть ли новая цепочка, используя iptables-L

Я также рекомендую проверить, чтобы убедиться, что ваш сайт не доступен. Для этого зайдите в свой webbrowser (на компьютере) и поставьте в url http: //127.0.0.1 / < - без sapce между: и // Если веб-сайт доступен, то проблема с маршрутизатором. Вам нужно перенаправить порт, чтобы открыть порт в брандмауэре. http://en.wikipedia.org/wiki/Port_forwarding

0
отвечен u8sand 2012-11-08 14:21:20
источник

Другие вопросы apache-http-server centos iptables linux