Сетевые настройки из командной строки

Тема дорожной карты · Linux & Unix Fundamentals

Сетевые настройки из командной строки — это ключевые инструменты для диагностики и управления сетевыми соединениями на серверах Linux. Эти команды позволяют быстро и эффективно решать проблемы, связанные с сетевым соединением, маршрутизацией и безопасностью. Важность этих инструментов заключается в их способности обеспечивать стабильную работу сети и своевременно выявлять проблемы.

Как это работает

Сетевые настройки из командной строки осуществляются с помощью различных утилит, таких как ip (для управления интерфейсами, маршрутами и соседями), ss (для анализа сокетов), nmcli и networkctl (для управления сетью), ethtool (для диагностики сетевых адаптеров), tcpdump и tshark (для захвата сетевых пакетов), iperf3 (для измерения пропускной способности), dig и mtr (для диагностики DNS и маршрутов), а также iptables и nft (для настройки сетевых фильтров). Эти утилиты взаимодействуют с ядром системы, обеспечивая доступ к текущему состоянию сетевых соединений.

Когда применять

Команды ss -tnlp и ip a являются первыми инструментами для отладки сетевых проблем. Они позволяют быстро определить, какие порты открыты и кто их использует, а также получить информацию о текущих IP-адресах. Команда mtr объединяет функциональность ping и traceroute, обеспечивая непрерывную выборку данных о сетевом соединении. Команда tcpdump используется для захвата сетевых пакетов, что особенно полезно при подозрении на проблемы с сетевым трафиком. Сохранение захваченных данных и их анализ в Wireshark на ноутбуке позволяют более детально изучить сетевые проблемы.

Для управления сетевыми фильтрами рекомендуется использовать ufw на Ubuntu и firewalld на RHEL, вместо использования iptables напрямую. Эти утилиты предоставляют более удобный и интуитивно понятный интерфейс для настройки сетевых правил.

Типичные ошибки

Типичные ошибки при работе с сетевыми настройками из командной строки включают правку firewall-правил по SSH и блокировку себя. Это может произойти, если вы случайно заблокировали свой доступ к серверу. В таких случаях может потребоваться использование screen-сессии или запуск скрипта для восстановления доступа.

Другая распространенная ошибка — использование различных DNS-резолверов, таких как nslookup и dig, которые могут давать разные ответы. Это связано с тем, что каждая из этих утилит использует свои собственные настройки DNS-резолвера.

Открытый порт 22 без дополнительных мер безопасности, таких как fail2ban или ключевая аутентификация, также может привести к проблемам. Это может привести к тому, что ваш сервер будет атакован ботнетами.

Наконец, путаница между проблемами маршрутизации и DNS может привести к неверной диагностики. Например, если curl http://example.com работает, но curl http://192.0.2.1 не работает, это может указывать на проблемы с маршрутизацией, а не с DNS.

Связанные понятия

Полезные ресурсы