Я запускаю CentOS на VPS со следующей конфигурацией iptables
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-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 state --state NEW -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 993 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 995 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A OUTPUT -p tcp -m state --state NEW -m tcp --sport 53 -j ACCEPT
-A OUTPUT -p udp -m state --state NEW -m udp --sport 53 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 110 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 143 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 993 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 995 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 80 -j ACCEPT
Есть ли здесь что-нибудь, что сделало бы порты 25, 80, 110, 143, 993 и 995 недоступными? Telnet-соединение с этими портами из моего VPS через telnet localhost <portnumber>
работает, поэтому я уверен, что службы работают. Тем не менее, попытка подключиться к ним с моего локального компьютера по telnet говорит
Connection refused
telnet: Unable to connect to remote host
На моем локальном компьютере можно получить доступ только к портам 22 и 53.
Вы пытались установить правило -A INPUT -j REJECT --reject-with icmp-host-prohibited
после ваших правил ACCEPT? Похоже, это правило блокирует все порты, а iptables не открывает порты, даже если для них есть правила.