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

Как открыть порт в Centos 6

Я новичок в Centos. Мне нужно открыть несколько портов в Centos.

Я немного погуглил и нашел что-то вроде этого.

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT

Но при попытке перезапустить iptables появляется следующая ошибка.

iptables: Applying firewall rules: iptables-restore: line 13 failed

Как я могу открыть порты в Centos 6

Если вы хотите открыть единственный порт:

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

Для нескольких вы можете вместо этого использовать следующее (или повторить указанную выше строку несколько раз):

-A INPUT -m state --state NEW -m tcp -p tcp -m multiport --dports 22,80,143 -j ACCEPT

Причина, по которой ваша линия не работает, вероятно, заключается в том, что у вас нет цепочки с именем «RH-Firewall-1-INPUT». CentOS 6 просто использует INPUT в качестве имени цепочки. Вы заметите что-то вроде следующего в верхней части конфигурации по умолчанию, назвав существующие цепочки:

:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

Чтобы объяснить немного дальше, строка -A INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT средства:

  • -A: добавить правило
  • INPUT: в цепочку INPUT
  • -m state: используйте модуль 'состояние'
  • --state NEW: ищите только НОВЫЕ соединения (т.е. не те, которые ранее были установлены / связаны)
  • -m tcp: используйте модуль tcp
  • -p tcp: искать пакеты по протоколу TCP
  • --dport 143: ищите пакеты с портом назначения 143

Вы можете решить эту проблему, добавив:

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

сразу после 22 порта

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

перезапустите iptables, и он должен работать, по крайней мере, для меня это сработало.