Прикладной уровень: что нужно для полноценной работы?
Дополнение: команды netstat и netlist
netlist
netstat -a (-i -r), -l, -p
DNS
Проблема адресации vs. именование: административная, топологическая, человеческая Решение:
/etc/hosts
- самоанонс (zeroconf etc.)
- DNS
Работа DNS
- Домены и поддомены. Корневые сервера.
- Рекурсивные и прямые запросы
- Прямое и обратное преобразование
- DNS как иерархическая БД:
- дерево
типы записей (SOA, A, AAAA, NS, MX, PTR, CNAME, SRV, TXT) Типы_ресурсных_записей_DNS
/etc/resolv.conf и проблема перегенерации; resolvconf
Анонсирование служб
DNS rfc2782
_service._proto.name TTL class SRV priority weight port target
- Zeroconf
Самонпастройка IPv4 (rfc3927) (169.254.* (link-local))
- «Multicast DNS» — произвольное преобразование имён
- Анонс и обнаружение сервисов
- Порт 5353
avahi-browse и avahi-publish
- Проблема семантики анонсов
/etc/nsswitch.conf
Сетевые файловые системы
- NFS:
- UDP+TCP+RPC
- Идемпотентность файловых операций:
- Без сохранения состояний (UDP, параллелизм, атомарные операции write/open/..)
Проблемы с блокировкой записи (nfslockd)
- Порт 2049
/etc/exports
showmount
- Другие: CIFS, всяческие кластерные ФС и т. п.
Д/З
DNS
Посмотреть настройку сети: [root@uneex ~]# cat /etc/net/ifaces/enp0s3/options
Что лежит в /etc/resolv.conf на сервере и на клиенте?
- Создать DNS-запрос на клиенте и посмотреть, как его разрешает сервер (напоминаю, что подсказка в начале показывает, на какой машине давать команды):
[root@uneex ~]# tcpdump -i enp0s3 port 53 … [root@uneexclient ~]# dig cmc.msu.ru … [root@uneex ~]# tcpdump -i enp0s8 port 53 … [root@uneexclient ~]# hostinfo 10.30.50.13 … [root@uneexclient ~]# hostinfo host17 …
- Заглянуть в настройки BIND на сервере:
прямую и обратную зоны: /var/lib/bind/zone/* (в т. ч. для localhost)
настройки: /var/lib/bind/etc/options.conf (обратите внимание на поле forwarders) и /var/lib/bind/etc/local.conf
NFS
- посмотреть работу NFS:
[root@uneex ~]# tcpdump -i enp0s8 not port 53 … [root@uneexclient ~]# showmount -e srv … [root@uneexclient ~]# mount srv:/home /mnt [root@uneexclient ~]# find /mnt … [root@uneexclient ~]# umount /mnt
- Обратите внимание на premission denied. Отчего это?
Посмотреть DNS-трафик при ls /mnt/net/home с клиента (используются анонсированные через DNS службы)
Zeroconf
- Работа Avahi:
# avahi-browse -at
- Посмотреть анонсирующую настройку:
[root@uneex ~]# cat /etc/avahi/services/nfs-home.service …
- посмотреть трафик работы zeroconf:
[root@uneexclient ~]# tcpdump -i enp0s8 … [root@uneex ~]# ping uneexclient.local … [root@uneex ~]# tcpdump -i enp0s8 … [root@uneexclient ~]# ls /mnt/net/Homes …