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
12
задан bsod99
20.01.2023 4:28 Количество просмотров материала 2409
Распечатать страницу

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 2023-01-21 12:16

Я не мастер 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 2023-01-21 14:33

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх