Я пробовал читать много статей в Интернете, но ни одна из них не совсем понятна. Я также знаю, что аналогичный вопрос был размещен здесь раньше, но ни один из них не объясняет мою ситуацию. Раньше я тратил на это 2-3 часа.
Руководство говорит:
НОВОЕ - означает, что пакет начал новое соединение или иным образом связан с соединением, которое не встречало пакетов в обоих направлениях, и
ESTABLISHED - означает, что пакет связан с соединением, которое принимает пакеты в обоих направлениях,
СВЯЗАННЫЙ - означает, что пакет начинает новое соединение, но связан с существующим соединением, например с передачей данных FTP или ошибкой ICMP.
Мои iptables на сервере выглядят так:
iptables -P FORWARD ACCEPT
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
# Flush old rules
iptables -F
# Loopback
iptables -I INPUT 1 -i lo -j ACCEPT
# Allow responses from OUTPUT connection
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
# Apache
iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -P FORWARD DROP
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
Всякий раз, когда я пытаюсь curl --verbose https://server_ip/
с моего ПК он работает отлично. Но когда я пробовал это изнутри сервера после подключения к нему SSH, он всегда застревал на CLIENT HELLO
. Почему это происходит? Примечание: curl --verbose http://server_ip/
(без SSL) отлично работал как с локальным ПК, так и с сервера.
После того, как я казнил iptables -A INPUT -m state --state RELATED -j ACCEPT
, он тоже начал работать изнутри сервера. Опять же, почему он начал работать?
Руководство говорит RELATED -- meaning that the packet is starting a new connection
. Это угроза безопасности? Может ли клиент открыть соединение с другим портом, используя это? Когда это пригодится?
RELATED
полезен для таких протоколов, которым необходимо открывать новое соединение. Часто используется в сочетании с ip_conntrack_ftp
для ftp-соединений взгляните Вот от того, как работает активный ftp.