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

Как открыть Apache2 снаружи в CentOS 6

Я установил CentOS 6, но я могу открыть Apache2 снаружи, только отключив брандмауэр.

Может ли кто-нибудь подсказать мне, как я могу открыть apache2 снаружи, не отключая брандмауэр?

ОБНОВИТЬ:

Моя конфигурация iptables следующая:

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
COMMIT

Эта машина имеет IP-адрес 192.168.59.142, и мне нужно получить к нему доступ через apache через другую машину в моей сети.

ОБНОВЛЕНИЕ2:

Решение состоит в том, чтобы добавить это правило в "/ etc / sysconfig / iptables", а затем перезапустить iptables.

-I INPUT -d 192.168.59.142 -p tcp --dport 80 -j ACCEPT

Это должно работать

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

в -I вставит новое правило в начало таблицы. С помощью -A он будет добавлен в конец таблицы, и ваше общее правило REJECT будет иметь приоритет, поскольку iptables работает сверху вниз по правилам, и первое, которое соответствует правилам, побеждает.

Если посмотреть на опубликованную вами конфигурацию, вы переместили

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

выше

-A INPUT -j REJECT --reject-with icmp-host-prohibited

это тоже сработает. Перезагрузите брандмауэр с помощью

sudo /sbin/service iptables restart

В качестве альтернативы CentOS также имеет инструмент настройки system-config-firewall, что позволяет очень легко открыть порт для веб-сервера.

В интерфейсе ncurses выберите «Настроить» и установите флажок «WWW (HTTP)».

В моей системе CentOS 6.4 он добавил следующее правило: /etc/sysconfig/iptables:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

Решение состоит в том, чтобы добавить это правило в "/ etc / sysconfig / iptables", а затем перезапустить iptables.

-I INPUT -d 192.168.59.142 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT