Когда я запускаю команду netstat -tln
Я вижу следующий результат:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 :::8000 :::* LISTEN
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 :::443 :::* LISTEN
Я понимаю все записи кроме 0.0.0.0:22
и 127.0.0.1:3306
; почему там эти записи?
Я использую iptables в качестве инструмента брандмауэра и хочу знать, нужно ли мне отключить это и как эта запись появилась в первую очередь.
я знаю это 3306
для mysql. Но почему существуют определенные IP-адреса для SSH и Mysql, но нет для других серверов?
0.0.0.0:22
Вышеупомянутое означает, что вы слушаете на порту 22 (ssh) все IP-адреса.
127.0.0.1:3306
Вышеупомянутое означает, что вы слушаете порт 3306 (mysql) только для локальной петли.
Причина, по которой первые два выглядят иначе, чем другие, заключается в том, что это адреса IPv4, а остальные - адреса IPv6, как видно из Proto
столбец, показывающий либо tcp
или tcp6
Для строк с IPv6-адресами (tcp6
) он слушает :::
все IP-адреса, эквивалент IPv4 0.0.0.0
Спасибо, но почему я получаю IPv6-адреса, когда я отключил ipV6, о чем свидетельствует вывод 1 при запуске "cat / proc / sys / net / ipv6 / conf / all / disable_ipv6"? Я не делаю ничего особенного (по крайней мере, мне кажется) при запуске серверов http, https, mysql и ssh. Я ожидал одинаковых записей для всех из них, как для IPv6, так и для IPv4. Я понимаю вывод в целом, но мне трудно понять его точно. Мне это нужно, чтобы связать это с моими правилами iptables. - Сэм 7 минут назад
Вы отключили IPv6 на сетевых интерфейсах, но это не удаляет IPv6 из системы; для этого вам необходимо отключить модуль ядра IPv6.