Gerência de Redes (diário 2013-1)

De MediaWiki do Campus São José
Ir para: navegação, pesquisa

Comandos Úteis

  1. man
  2. whereis
  3. strace
  4. netstat
  5. netcat

Tabela de Serviços

A tabela a seguir está baseada na implementação Ubuntu Linux 12.04 LTS:

Serviço Executável Arquivo principal de configuração Porta(s)
Syslog /usr/sbin/rsyslogd /etc/rsyslog.conf 514/UDP
Cron /usr/sbin/cron /etc/crontab
Rede /sbin/ip /etc/network/interfaces
NTP /usr/sbin/ntpd /etc/ntp.conf 123/UDP
SSH /usr/sbin/sshd /etc/ssh/sshd_config 22/TCP
DNS /usr/sbin/named /etc/bind/named.conf 53/UDP
HTTP /usr/sbin/apache2 /etc/apache2/apache2.conf 80/TCP, 443/TCP
LDAP /usr/sbin/slapd /etc/ldap/slapd.conf 389/TCP, 636/TCP

Aulas

01/04: Sobre a disciplina

  • Discutido em aula o andamento da disciplina. Sobre as aulas:
    • Mais foco em administração de sistemas.
    • Serviços a serem abordados:
      • Telnet, SSH.
      • DNS.
      • LDAP.
      • HTTP.
      • SMTP.
      • SNMP.
    • Calendário a ser revisto após a revisão da matéria, que durará as duas primeiras semanas de aula.
  • Thiego trará, para a próxima aula, definição sobre o uso das estações de outros laboratórios para serem virtualizadores dos sistemas vistos nesta disciplina. Em caso negativo, será estudado o uso de virtualização na Amazon.
  • Revisão geral e histórica [1] do UNIX[2].

04/04: Revisão de S.O.

  • Definição sobre o uso de computadores do IFSC para virtualização de sistemas para a disciplina: há dois conjuntos de máquinas que podem ser utilizadas. O primeiro conjunto é de 10 computadores considerados obsoletos, que estão sem uso no Laboratório de Apoio. O segundo conjunto é de 4 máquinas novas (até um ano de uso), que podem virtualizar as máquinas de Gerência (e rodá-las) enquanto não estiverem em uso - essas máquinas serão de laboratórios dos cursos de Tele.
  • Continuação da revisão de sistemas operacionais, partindo dos modelos de Alan Turing [3] e de von Neumann[4] para entender o computador e o S.O. como uma camada de abstração para o usuário final. Visão geral de interrupção, memória, unidade de processamento e outros componentes. O sistema operacional variante do UNIX e a abstração da memória em arquivo. Arquivo como processo e suas interações[5]. Árvore de arquivos, árvore e fila de processos.

06/04: Revisão de S.O.

  • Decisão sobre a escolha do conjunto de computadores para a disciplina e próximos passos para implementação do ambiente de ensino. Delegação de tarefas e definição de datas.
  • Comandos de manipulação dos três elementos básicos do sistema operacional: arquivos, processos e usuários, com resumo dos principais.

08/04: Revisão de S.O. e Redes de Computadores

  • O início (boot) do sistema operacional: scripts e hierarquia entre os mesmos. Sistema de arquivo global e serviços. O sistema operacional em rede. O comando netcat para demonstração de cliente e de servidor, sockets como arquivos, o comando strace para visualizar as chamadas de sistema (diálogo entre aplicação e S.O.).

11/04: Logs e Agendamento

  • Vistos os serviços locais de registro de ações e eventos e agendamento de tarefas. O primeiro é implementado pela família syslog: syslog, rsyslog, syslog-ng e outros, a serem amparados pela RFC 5424, enquanto que o segundo é o clássico cron de Paul Vixie e suas variações.
  • A seguir, a relação de dependência entre os serviços. No caso, o serviço cron e suas tarefas agendadas, com atenção especial ao logrotate, reciclam os logs gerados pelo outro serviço, syslog:
<graphviz>

digraph Serviços {

 Syslog [shape=mrecord]
 Cron [shape=mrecord]
 Cron -> Syslog

}

</graphviz>

15/04: Serviços Rede e Hora Certa

Comandos de hoje:

ifconfig
route
vi /etc/network/interfaces
	"auto eth ..."
vi /etc/resolv.conf
	"nameserver ..."

aptitude update
aptitude install ntpdate
aptitude install ntp
vi /etc/ntp.conf
	"server ..."
service ntp restart
<graphviz>

digraph Serviços {

 Syslog [shape=mrecord]
 Cron [shape=mrecord]
 Rede [shape=mrecord]
 NTP [shape=mrecord]
 Rede -> Syslog
 Rede -> NTP
 NTP -> Cron
 NTP -> Syslog
 Cron -> Syslog

}

</graphviz>

18/04: Acesso Remoto

  • O telnet em sua forma mais básica: conexão remota via TCP. Exemplos:
telnet www.sj.ifsc.edu.br 80
telnet towel.blinkenlights.nl
  • O acesso remoto (mais) seguro com SSH, e o uso de chaves simétricas e esquema de chaves pública e privada. SSL e TLS. Túneis seguros, uso de aplicações gráficas remotas.
<graphviz>

digraph Serviços {

 Syslog [shape=mrecord]
 Cron [shape=mrecord]
 Rede [shape=mrecord]
 NTP [shape=mrecord]
 SSH [shape=mrecord]
 Rede -> Syslog
 Rede -> NTP
 NTP -> Cron
 NTP -> Syslog
 Cron -> Syslog
 Rede -> SSH
 Syslog -> SSH

}

</graphviz>

22/04: DNS

  • Apresentação do serviço, os servidores raiz e ICANN. Delegação de autoridade e whois. Registros DNS, com destaque:
    • SOA
    • NS
    • A
    • CNAME
    • PTR
<graphviz>

digraph Serviços {

 Syslog [shape=mrecord]
 Cron [shape=mrecord]
 Rede [shape=mrecord]
 NTP [shape=mrecord]
 SSH [shape=mrecord]
 DNS [shape=mrecord]

 Rede -> Syslog
 Rede -> NTP
 NTP -> Cron
 NTP -> Syslog
 Cron -> Syslog
 Rede -> SSH
 Syslog -> SSH
 Rede -> DNS
 Syslog -> DNS
 NTP -> DNS

}

</graphviz>

25/04: DNS

  • Configuração de um domínio em ambas as vias: zona direta e zona reversa.
  • Para testar o servidor: http://www.dnsinspect.com

29/04: HTTP

  • Apresentação do protocolo HTTP, a linguagem de formação HTML e a localização por URL, história e padrões recentes.[6]
<graphviz>

digraph Serviços {

 Syslog [shape=mrecord]
 Cron [shape=mrecord]
 Rede [shape=mrecord]
 NTP [shape=mrecord]
 SSH [shape=mrecord]
 DNS [shape=mrecord]
 HTTP [shape=mrecord]

 Rede -> Syslog
 Rede -> NTP
 NTP -> Cron
 NTP -> Syslog
 Cron -> Syslog
 Rede -> SSH
 Syslog -> SSH
 Rede -> DNS
 Syslog -> DNS
 NTP -> DNS
 Rede -> HTTP
 NTP -> HTTP
 DNS -> HTTP

}

</graphviz>

02/05: HTTP

  • HTTP e o modelo cliente-servidor, conteúdo estático, servidor com mapeamento direto entre sistema de arquivos e recursos da URL.

06/05: HTTP

  • Conteúdo dinâmico com interpretação de código. PHP. Apresentação do projeto a ser apresentado na próxima quinta-feira:
    • Blog com a publicação de:
      • Notícia (post) com pelo menos um conteúdo multimídia (áudio ou vídeo).
      • Página com mapa (Google, OpenStreeMaps, etc.) embutido.

09/05: HTTP

  • Entrega do blog com publicação de conteúdo dinâmico.

06/06: LDAP

  • História e visão geral do protocolo, consultas, as relações entre esquema, classe, objeto, atributo e operação.

10/06: LDAP

  • Instalação do servidor LDAP (slapd). Início da configuração usando o modelo antigo (arquivo único de configuração).

13/06: LDAP

  • Continuação da configuração do serviço e inserção do nó raiz do domínio redes2.sj.ifsc.edu.br.

Etapa 1: o arquivo base.ldif: dn: dc=redes2,dc=sj,dc=ifsc,dc=edu,dc=br dc: redes2 objectClass: top objectClass: domain </syntaxhighlight>

Etapa 2: o comando para inserção na árvore de objetos:

ldapadd -x -W -D cn=admin,dc=redes2,dc=sj,dc=ifsc,dc=edu,dc=br -f base.ldif

onde cn=admin,dc=redes2,dc=sj,dc=ifsc,dc=edu,dc=br é, segundo a configuração, o administrador do domínio.

17/06: LDAP

  • Povoamento de um grupo e um usuário associado a esse.

20/06: Projeto 2

Rascunho do trabalho

25/07: Projeto 3

vi /etc/nsswitch.conf
	passwd: files ldap
	group:  files ldap
	shadow: files ldap
vi /etc/ldap/ldap.conf
	BASE dc=redes2,dc=sj,dc=ifsc,dc=edu,dc=br
	URI ldap://127.0.0.1
aptitude install libnss-ldap
rm -f /etc/ldap.conf
ln -s /etc/ldap/ldap.conf /etc/ldap.conf

getent passwd
ldapsearch -x uid=<usuário> homeDirectory
mkdir -p /home/<usuário>
chown <usuário> /home/<usuário>
ls -la /home/<usuário>

aptitude install courier-imap courier-ldap
chmod 1777 /var/run/courier/
vi /etc/courier/authldaprc
	LDAP_PROTOCOL_VERSION   3
	LDAP_URI                ldap://127.0.0.1
	LDAP_BASEDN             dc=redes2,dc=sj,dc=ifsc,dc=edu,dc=br
	LDAP_MAIL               mail
	LDAP_HOMEDIR            homeDirectory
	LDAP_CRYPTPW            userPassword
/etc/init.d/courier-ldap restart
telnet localhost 143
	01 login <usuário> <senha>

Recuperação Final

  1. Instalar uma ferramenta wiki. Recomendado: http://www.mediawiki.org.
  2. Redirecionar os endereços http://wiki.<domínio> e https://wiki.<domínio> para https://www.<domínio>/wiki.

Forma de entrega: por email.

  • DNS: arquivos de configuração.
  • MySQL: arquivo texto com a base:
mysqldump -u<usuário> -p <base> > <arquivo.sql>
  • HTTP: arquivos de configuração.
  • Wiki: arquivos de configuração.

Conceitos

Referências

  1. LÉVÉNEZ, É. UNIX History. Acesso em: http://www.levenez.com/unix/.
  2. THOMPSON, K. e RITCHIE. D. M. UNIX Manual. 1. ed. Acesso em: http://www.cs.bell-labs.com/who/dmr/1stEdman.html.
  3. BOS, J. v. d. e LANDMAN, D. LEGO Turing Machine. Acesso em: http://www.legoturingmachine.org.
  4. BURKS, A. W. e GOLDSTINE, H. H. e NEUMANN, J. v. Preliminary Discussion of the Logical Design of an Electronic Computing Instrument. Acesso em: http://grch.com.ar/docs/p1/Apuntes/eng/Logical%20Design%20of%20an%20Electronic%20Computing%20Instrument.pdf.
  5. WIKIPEDIA. Inter-process communication. Acesso em: http://en.wikipedia.org/wiki/Inter-process_communication.
  6. W3C. World Wide Web Consortium. Acesso em: http://www.w3.org/.