Differences between revisions 1 and 9 (spanning 8 versions)
Revision 1 as of 2013-11-08 13:39:48
Size: 2288
Editor: FrBrGeorge
Comment:
Revision 9 as of 2013-12-15 16:34:05
Size: 4030
Editor: FrBrGeorge
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Прикладной уровень: возможности и потребности системы == == Прикладной уровень: возможности системы ==
Line 31: Line 31:
-----
/!\ TODO
=== Анонс ===
Проблема (авто) определения
## sshd и д/з
Line 37: Line 32:
==== Связь с отдельными функциями: RPC ====
Проблема: динамическое выделение ''входных'' портов.
 * Portmapper (rpcbind, порт 111)
 * `/etc/rpc`
 * rpcinfo
##TODO: avahi, NFS, DNS, SSHD
Line 39: Line 40:
 * /!\ netcat как инструмент
 * /!\ Посмотреть настройки xinetd на сервере
 * /!\ avahi-browse
 * Воспроизвести [[Books/LinuxIntro/14ChapterNet|пример «Обслуживание прикладного уровня в Linux»]] из учебника (с клиентской машины)
==== Запуск сетевых служб ====
 * Посмотреть список зарегистрированных служб:
 {{{
# chkconfig --list
 }}}
  Обратите внимание на то, что команда `chkconfig` управляет и запуском служб посредством `sysvinit`, и метадемоном `xinetd`
 * Остановить службу `dhcpd` и посмотреть, что изменилось (можно также проверить с клиента, что DHCP недоступен):
 {{{
# netlist > full
# service dhcpd status

# service dhcpd stop

# netlist > no_dhcp
# diff -u full no_dhcp

# service dhcpd start

 }}}
  Что делает утилита `netlist`?
 * Посмотреть выдачу утилиты `rpcinfo` без параметров, с ключом `-s` и с ключом `-p`. Что эти команды делают?
==== Метадемон xinetd ====
 * Посмотреть настройки `xinetd` на сервере:
 {{{
# cat /etc/xinetd.conf

# ls /etc/xinetd.d/

# cat /etc/xinetd.d/bftpd-tcp

# grep disable /etc/xinetd.d/*

  }}}
   Обратите внимание, как ''выключаются'' зарегистрированные inetd-фильтры
 * <!> (пример уже воспроизведён). Воспроизвести [[Books/LinuxIntro/14ChapterNet|пример «Обслуживание прикладного уровня в Linux»]] из учебника (подключаться с клиентской машины с помощью netcat вместо telnet)
 * Посмотреть самодельный xinetd-файл и проверить его работу:
  {{{
  [root@uneex ~]# chkconfig --list calendar
  }}}
  {{{
  [root@uneex ~]# cat /etc/xinetd.d/calendar
  }}}
  {{{
  [root@uneexclient ~]# netcat srv 26000
  }}}

Прикладной уровень: возможности системы

Цели:

  • Активация интерпретатора
  • Интерпретация

Прелюдия:

  • что такое dæmon (даймон или даже демон >:> )?

  • кто и когда запускает демонов?
    • схемы типа sysvinit

    • схемы типа rc.d (с зависимостями)

    • схемы типа systemd (с зависимостями, условиями запуска и сокет-активацией)

Задачи:

  • Связывание порта и интерпретатора
  • Анонс прикладных служб
  • Учёт потребления ресурсов прикладными службами. Хотя казалось бы.

Связь с интерпретатором

  • Делает сам демон:
    • создание обслуживание сокета (bind + listen)
    • respawn при закрытии соединения
    • обслуживание нескольких соединений (в т. ч. общие и специфичные для прикладного уровня ограничения)
  • Делает метадемон [x]inetd:

    • интерпретатор обрабатывает stdin (из сокета), stdout (в сокет) и stderr (журнал)
    • см. выше
  • Делает служба запуска (на примере systemd):

    • Запуск демонов
    • Запуск интерпретаторов
    • Сокет-активация бывших демонов
    • {i} Добавлять ли в Д/З виртуалку с упражнениями над systemd?

Связь с отдельными функциями: RPC

Проблема: динамическое выделение входных портов.

  • Portmapper (rpcbind, порт 111)
  • /etc/rpc

  • rpcinfo

Д/З

Запуск сетевых служб

  • Посмотреть список зарегистрированных служб:
    # chkconfig --list
    • Обратите внимание на то, что команда chkconfig управляет и запуском служб посредством sysvinit, и метадемоном xinetd

  • Остановить службу dhcpd и посмотреть, что изменилось (можно также проверить с клиента, что DHCP недоступен):

    # netlist > full
    # service dhcpd status
    # service dhcpd stop
    # netlist > no_dhcp
    # diff -u full no_dhcp 
    # service dhcpd start
    
    • Что делает утилита netlist?

  • Посмотреть выдачу утилиты rpcinfo без параметров, с ключом -s и с ключом -p. Что эти команды делают?

Метадемон xinetd

  • Посмотреть настройки xinetd на сервере:

    # cat /etc/xinetd.conf
    # ls /etc/xinetd.d/
    # cat /etc/xinetd.d/bftpd-tcp 
    # grep disable /etc/xinetd.d/*
    
    • Обратите внимание, как выключаются зарегистрированные inetd-фильтры

  • <!> (пример уже воспроизведён). Воспроизвести пример «Обслуживание прикладного уровня в Linux» из учебника (подключаться с клиентской машины с помощью netcat вместо telnet)

  • Посмотреть самодельный xinetd-файл и проверить его работу:
    •   [root@uneex ~]# chkconfig --list calendar
        [root@uneex ~]# cat /etc/xinetd.d/calendar
        [root@uneexclient ~]# netcat srv 26000

LecturesCMC/LinuxNetwork2013/06-ApplicationSystem (last edited 2013-12-15 16:34:05 by FrBrGeorge)