Я новичок в 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, и он должен работать, по крайней мере, для меня это сработало.