Статья давно не обновлялась, поэтому информация могла устареть.
Содержание |
Проверка доступности сервера (сервиса)
ping
ping - позволяет проверить доступность удаленного хоста
ping -B <Source_IP> <IP>
Пингует удаленный IP c выбранного IP на сервере. Можно проверить доступность точки назначения с определенного IP на сервере.
telnet
telnet - позволяет проверить доступность порта удаленного хоста
telnet <IP> <port>
Выполняет подключение на указанный порт указанного IP, можно проверить “открытость” порта.
nmap
nmap - позволяет проверить доступность портов удаленного хоста
nmap -p0-1000 <ip>
Проверяет “открытость” портов в диапазоне от 0 до 1000 и выводит их список на экран.
mtr
mtr - мультитрассировка до удаленного хоста, с проверкой доступности промежуточных хостов
mtr -n -s 1500 -r -c 1000 -i 0.1 <Dest_IP> [-a <Src_IP>] -n - не резолвить ptr, в выводе будут IP адреса -s - размер пакета -r - режим отчета, чтобы можно было легко скопировать вывод результата -c - количество пакетов -i - интервал, с которым шлются пакеты -a - дает возможность указать с какого IP адреса будут отсылаться пакеты, не обязательный параметр, по умолчанию пакеты идут с основного IP
Проверка домена
whois
whois - информация о домене
whois <domain> whois <domain> | grep -iE 'nserver|status|name ser|nameser|state'
Вырежет только то что чаще всего необходимо, а именно: сервера имен и статус. State - это статус в рушных доменах, из-за него для всяких org/com/net может выводится всякая контактная информация (штат), так что можно убирать когда их whois’ите
dig
dig - позволяет получать информацию о доменах с серверов имен
dig <domain> @<name_server>
Запрос о домене к определенному серверу имен.
dig A <domain>
Покажет А-запись для домена. Выводится по умолчанию. Можно также указвать другие типы записей, например:
dig TXT dig MX dig AAAA dig NS
Результатом будут TXT/MX/AAAA/NS-записи домена.
dig ANY
Покажет все записи о домене (не поддоменах)
dig AXFR <domain> @<name_server>
Запрос полной зоны домена. Работает не всегда, а только в том случае если разрешена отдача AXFR. У нас по-умолчанию можно всегда выполнить данную команду с сервера клиента в качесте name_server
dig +trace <domain>
Покажет трассировку вашего запроса. Позволяет узнать с каких конкретно серверов имен отдается домен вам.
dig +short <domain>
Покажет короткий вывод ответа на ваш запрос. Зависит от того что спрашиваете.
host
host - при использовании на домен резолвятся А/AAAA/MX-записи. При использовании на IP разрешается PTR-запись.
Что посмотреть на сервере
Где лежат логи
Все логи могут находиться в разных местах в зависимости от настроек сервераи его ОС. В данной статье будут рассмотрены варианты дефолтного расположения логов при установке ispmanager
Сайты
CentOS - /var/www/httpd-logs
Debian - /var/www/httpd-logs
Сервисов (apache, nginx, mail, auth, messages, ftp)
CentOS
apache - /var/log/httpd/
nginx - /var/log/nginx/
exim - /var/log/exim/
SSH auth - /var/log/secure
FTP auth - /var/log/messages
Debian
apache - /var/log/apache2/
nginx - /var/log/nginx/
exim - /var/log/exim4/
SSH auth - /var/log/auth.log
FTP auth - /var/log/proftpd/proftpd.log
ispmanager
ispmanager 5 - /usr/local/mgr5/var/ispmgr.log
Почтового сервера
Postfix и Sendmail - /var/log/maillog
Exim - /var/log/exim/main.log
Exim на Debian - /var/log/exim4/main.log
Где лежат конфиги
Debian
Apache - /etc/apache2/apache2.conf
В ispmanager 5 конфиги сайтов находятся в отдельных файлах:
/etc/apache2/vhosts/<username>/<domain>
Nginx - /etc/nginx/nginx.conf
В ispmanager 5 конфиги сайтов находятся в отдельных файлах:
/etc/nginx/vhosts/<username>/<domain>
Exim - /etc/exim4/exim4.conf.template
SSH - /etc/ssh/sshd_config
FTP - /etc/proftpd/proftpd.conf
PHP - /etc/php5/apache2/php.ini
Centos
Apache - /etc/httpd/conf/httpd.conf
В ispmanager 5 конфиги сайтов находятся в отдельных файлах:
/etc/httpd/conf/vhosts/<username>/<domain>
Nginx - /etc/nginx/nginx.conf
В ispmanager 5 конфиги сайтов находятся в отдельных файлах:
/etc/nginx/vhosts/<username>/<domain>
Exim - /etc/exim/exim.conf
SSH - /etc/ssh/sshd_config
FTP - /etc/proftpd.conf
PHP - /etc/php.ini
ispmanager
ispmanager 5 - /usr/local/mgr5/etc/ispmgr.conf
Полезные команды
Фаервол
iptables
Данный фаерволл используется на ОС семейства Linux
iptables -L -n --line-numbers
Посмотреть все текущие правила
-n - запрещает разрешать IP адреса в PTR --line-numbers - показывает номер правил
iptables -F
Сбросить все правила
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Добавляет разрешающее правило на 22 порт (SSH)
-A - добавить правило в цепочку INPUT - название цепочки с которой сейчас будут производится изменения -p - протокол передачи данных, например, tcp/udp/icmp --dport - порт на который будет создано правило -j - что делать, если пакет попал под правило, например drop/reject/accept/forward
iptables -D INPUT -p tcp --dport 22 -j ACCEPT -D - удалить правило
iptables -D INPUT 1
Удалить правило по номеру, который можно узнать при помощи --line-numbers
iptables -P INPUT DROP
Запретить все входящие соединения, если сделать такое вас выкинет с сервера
ipfw
Данный фаерволл используется на ОС FreeBSD
ipfw show
Посмотреть все текущие правила
ipfw add allow ip from any to me 22
Добавляет разрешающее правило на 22 порт (SSH)
ipfw add deny ip from any to me
Запретить все входящие соединения, если сделать такое вас выкинет с сервера
Прочие команды
Данные команды лучше всего использовать комбинируя, это даст максимальный профит от их использование. Так же такие команды как grep можно использовать и с ранее рассмотренными (whois, iptables -Ln, ipfw show и т.п.)
du
du - позволяет узнать сколько места занимает так или иная директория
du -hs /* -h - делает вывод в человекопонятных единицах (Кб, Мб, Гб) -s - выводит только размер указанных файлов, а не всех. /* - размер чего показать, в данном случае посчитается размер всех файлов и директорий в корне
df
df - показывает размеры разделов и свободное/занятое место
df -h / -h - делает вывод в человекопонятных единицах (Кб, Мб, Гб) / - указывает какой раздел показать, если выполнить без данного параметра, то покажет статистику по всем примаунченным разделам.
df -i -i показывает статистику использования inodes, индексных дексриптеров (то сколько всего файлов/директорий может быть создано на разделе)
ls
ls - показывает содержимое директорий
ls -la -l выводит список файлоы и директорий в полном формате, позволяет видеть права и владельцев файлов и директорий -a - выводит скрытые файлы
cat
cat - выводит содержимое файла на экран
less
less - открывает файл для чтения с возможностью перемещения по файлу вперед/назад, а так же возможностью поиска
/ - для поиска вперед /forward. ? - для поиска назад ?backward. n - следующий результат поиска : - переход на строку :123 G - переход в конец файла
ps
ps - показывает все процессы запущенные на сервере
ps auxwwf
Cамое полезное сочетание аргументов, позволяет увидеть дерево процессов, т.е. понять кто кого породил, а так же увидеть полную команду которая запустила данный процесс, использовать лучше всего вместе с grep
tail
tail - работает так же как и cat, но показывает лишь конец файла. Но есть полезные ключи:
-f - не останавливает вывод файла когда доходит до его конца, а ждет когда в файл что то добавится и выводит это на экран, полезно при просмотре логов -n<N> - выводит N последних строк на экран, можно вывести 0, чтобы не мешало читать новый лог
grep
grep - позволяет ограничить вывод только при наличии совпадения, часто используется через символ | (pipe, труба)
-A<N> - after - вывод N строк после совпадения -B<N> - before - вывод N строк до совпадения -C<N> - context - вывод N строка как до, так и после совпадения -i - совпадение независимо от регистра -R - рекурсивный греп в директории (grep -R example /etc), после | не употребляется только если grep вызывается непосредственно -E - Позволяет использовать регулярные выражения при поиске, см пример в разделе про whois
kill, killall, pkill
kill - завершить процессы по PID
killl <pid>
killall - завершить процессы по имени
killall <name>
pkill - завершить процессы по шаблону
pkill <name_pattern>
netstat, sockstat
netstat - показывается сетевую активность, используется на Linux-based ОС.
netstat -napt
Cамое полезное сочетание аргументов, выводит кто что слушает и кто куда подключен, использовать лучше всего вместе с grep
sockstat - показывается сетевую активность, используется на FreeBSD
Перезапуск сервисов
Запуск/перезапуск/остановка сервисов на Linux
/etc/init.d/<service_name> start/restart/stop
service - перезапуск сервисов кросплатформенный.
service <service_name> start/restart/stop