Anda di halaman 1dari 206

Linux Networks

Administration
www.3way.com.br
Apostila
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
2
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 1
Sumrio
Convenes ......................................................................................................................................... 6
Legendas........................................................................................................................................... 6
Cenrio ............................................................................................................................................. 6
1. Redes TCP/IP ................................................................................................................................. 8
1.1. Introduo ................................................................................................................................. 8
1.1.1. TCP/IP ................................................................................................................................ 8
1.2. Conceitos bsicos ...................................................................................................................... 9
1.3. O protocolo IP ......................................................................................................................... 11
1.4. O Protocolo TCP ..................................................................................................................... 11
1.5. Protocolos de rede ................................................................................................................... 12
1.5.1. O modelo OSI .................................................................................................................. 13
1.5.2. Modelo TCP/IP ................................................................................................................. 14
1.6. O Endereo IP ......................................................................................................................... 16
1.7. Classes de Endereamento IP .................................................................................................. 16
1.8. Endereos de Rede e Broadcast .............................................................................................. 17
1.9. Mscara de rede ....................................................................................................................... 18
1.10. Sub-rede ................................................................................................................................ 18
1.11. Endereos IP para redes privadas .......................................................................................... 21
1.12. O Nmero de Porta ................................................................................................................ 21
1.13. Roteamento ........................................................................................................................... 21
1.14. DNS ....................................................................................................................................... 22
1.15. Arquivos Gerais .................................................................................................................... 22
1.16. Configurao TCP/IP ........................................................................................................... 23
1.16.1. Hostname ........................................................................................................................ 23
1.16.2. Interface de Rede ............................................................................................................ 24
1.17.3. Configurao das rotas ................................................................................................... 26
1.17.4. Resoluo de Nomes ...................................................................................................... 28
1.18. Inetd / Xinetd ......................................................................................................................... 28
1.19. Utilitrios de redes ............................................................................................................... 31
1.19.1. host ................................................................................................................................. 31
1.19.2. netstat ............................................................................................................................. 31
1.19.3. tcpdump .......................................................................................................................... 32
1.19.4. traceroute ........................................................................................................................ 33
1.19.5. nmap ............................................................................................................................... 33
1.20. Laboratrio ........................................................................................................................... 35
1.21. Exerccios ............................................................................................................................. 37
2. Servidor SSH ................................................................................................................................ 39
2.1. Instalao e configurao ........................................................................................................ 39
2.2. Laboratrio ............................................................................................................................. 40
2.3. Exerccios ................................................................................................................................ 41
3. Sistema de Nomes de Domnio .................................................................................................... 42
3.1. Servios de Nomes - DNS ...................................................................................................... 42
3.2. Instalao do BIND ................................................................................................................. 43
3.2.1. Instalao cdigo fonte ..................................................................................................... 43
3.2.2. Instalao automatizada .................................................................................................... 44
3.3. Hierarquia DNS ....................................................................................................................... 44
3.3.1 Hierarquia de Consultas DNS ........................................................................................... 45

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 1
Sumrio
Convenes ......................................................................................................................................... 6
Legendas........................................................................................................................................... 6
Cenrio ............................................................................................................................................. 6
1. Redes TCP/IP ................................................................................................................................. 8
1.1. Introduo ................................................................................................................................. 8
1.1.1. TCP/IP ................................................................................................................................ 8
1.2. Conceitos bsicos ...................................................................................................................... 9
1.3. O protocolo IP ......................................................................................................................... 11
1.4. O Protocolo TCP ..................................................................................................................... 11
1.5. Protocolos de rede ................................................................................................................... 12
1.5.1. O modelo OSI .................................................................................................................. 13
1.5.2. Modelo TCP/IP ................................................................................................................. 14
1.6. O Endereo IP ......................................................................................................................... 16
1.7. Classes de Endereamento IP .................................................................................................. 16
1.8. Endereos de Rede e Broadcast .............................................................................................. 17
1.9. Mscara de rede ....................................................................................................................... 18
1.10. Sub-rede ................................................................................................................................ 18
1.11. Endereos IP para redes privadas .......................................................................................... 21
1.12. O Nmero de Porta ................................................................................................................ 21
1.13. Roteamento ........................................................................................................................... 21
1.14. DNS ....................................................................................................................................... 22
1.15. Arquivos Gerais .................................................................................................................... 22
1.16. Configurao TCP/IP ........................................................................................................... 23
1.16.1. Hostname ........................................................................................................................ 23
1.16.2. Interface de Rede ............................................................................................................ 24
1.17.3. Configurao das rotas ................................................................................................... 26
1.17.4. Resoluo de Nomes ...................................................................................................... 28
1.18. Inetd / Xinetd ......................................................................................................................... 28
1.19. Utilitrios de redes ............................................................................................................... 31
1.19.1. host ................................................................................................................................. 31
1.19.2. netstat ............................................................................................................................. 31
1.19.3. tcpdump .......................................................................................................................... 32
1.19.4. traceroute ........................................................................................................................ 33
1.19.5. nmap ............................................................................................................................... 33
1.20. Laboratrio ........................................................................................................................... 35
1.21. Exerccios ............................................................................................................................. 37
2. Servidor SSH ................................................................................................................................ 39
2.1. Instalao e configurao ........................................................................................................ 39
2.2. Laboratrio ............................................................................................................................. 40
2.3. Exerccios ................................................................................................................................ 41
3. Sistema de Nomes de Domnio .................................................................................................... 42
3.1. Servios de Nomes - DNS ...................................................................................................... 42
3.2. Instalao do BIND ................................................................................................................. 43
3.2.1. Instalao cdigo fonte ..................................................................................................... 43
3.2.2. Instalao automatizada .................................................................................................... 44
3.3. Hierarquia DNS ....................................................................................................................... 44
3.3.1 Hierarquia de Consultas DNS ........................................................................................... 45
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
6
6
6
8
8
8
9
10
11
11
13
15
16
16
17
17
18
20
22
22
22
23
24
24
25
26
28
28
32
32
32
33
34
34
36
39
41
41
42
43
45
45
46
46
47
47
48
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
3
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 2
3.3.2. Cache de consultas ........................................................................................................... 49
3.4. O arquivo named.ca................................................................................................................. 50
3.5. Configurando o cliente DNS ................................................................................................... 51
3.5.1. Definir o servidor de DNS ................................................................................................ 51
3.5.2. Definir a ordem de consulta ............................................................................................. 52
3.6. Zonas e Domnios ................................................................................................................... 53
3.7. Servidores DNS ....................................................................................................................... 54
3.8. Servidor de cache .................................................................................................................... 56
3.9. Servidor primrio .................................................................................................................... 59
3.9.1 Registros de Recursos ....................................................................................................... 60
3.9.2 O arquivo de RR ................................................................................................................ 61
3.10. Arquivo da Zona Reversa ..................................................................................................... 64
3.11. Ferramentas de Teste ............................................................................................................. 66
3.11.1. nslookup ......................................................................................................................... 66
3.11.2. dig ................................................................................................................................... 66
3.12. Servidor Secundrio .............................................................................................................. 67
3.15. Laboratrio ........................................................................................................................... 70
3.16. Exerccios ............................................................................................................................. 74
4. DHCP ............................................................................................................................................ 75
4.1. Protocolo DHCP ...................................................................................................................... 75
4.2 Instalando o DHCP................................................................................................................... 78
4.2.1. Instalao cdigo fonte .................................................................................................... 78
4.2.2. Instalao automatizada .................................................................................................... 78
4.3. Configurao servidor DHCP ................................................................................................ 79
4.4 Configurao Cliente DHCP ................................................................................................... 82
4.5. Gerenciando Sub-redes ........................................................................................................... 83
4.5.1. Configurao Servidor dhcrelay ....................................................................................... 83
4.5.2. Configurao para gerenciar sub-redes ........................................................................... 84
4.6. Integrao DHCP e DNS ......................................................................................................... 85
4.7. Laboratrio ............................................................................................................................. 89
4.8. Exerccios ............................................................................................................................... 91
5. NTP ................................................................................................................................................ 92
5.1. Instalao ................................................................................................................................. 93
5.1.1. Instalao cdigo fonte .................................................................................................... 93
5.1.2. Instalao automatizada .................................................................................................... 93
5.2. Configurao ........................................................................................................................... 94
5.3. Ferramentas ............................................................................................................................. 95
5.4. Laboratrio ............................................................................................................................. 97
5.5. Exerccios ............................................................................................................................... 99
6. Sistema de Arquivo de rede ....................................................................................................... 100
6.1. Instalao ............................................................................................................................... 100
6.1.1. Instalao cdigo fonte ................................................................................................... 101
6.1.2. Instalao automatizada .................................................................................................. 101
6.2. Autenticao e permisses .................................................................................................... 102
6.3. Montando compartilhamentos NFS ...................................................................................... 102
6.3.1 Montagem automtica .................................................................................................... 103
6.4. O servidor NFS ..................................................................................................................... 104
6.6. Laboratrio ........................................................................................................................... 108

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 1
Sumrio
Convenes ......................................................................................................................................... 6
Legendas........................................................................................................................................... 6
Cenrio ............................................................................................................................................. 6
1. Redes TCP/IP ................................................................................................................................. 8
1.1. Introduo ................................................................................................................................. 8
1.1.1. TCP/IP ................................................................................................................................ 8
1.2. Conceitos bsicos ...................................................................................................................... 9
1.3. O protocolo IP ......................................................................................................................... 11
1.4. O Protocolo TCP ..................................................................................................................... 11
1.5. Protocolos de rede ................................................................................................................... 12
1.5.1. O modelo OSI .................................................................................................................. 13
1.5.2. Modelo TCP/IP ................................................................................................................. 14
1.6. O Endereo IP ......................................................................................................................... 16
1.7. Classes de Endereamento IP .................................................................................................. 16
1.8. Endereos de Rede e Broadcast .............................................................................................. 17
1.9. Mscara de rede ....................................................................................................................... 18
1.10. Sub-rede ................................................................................................................................ 18
1.11. Endereos IP para redes privadas .......................................................................................... 21
1.12. O Nmero de Porta ................................................................................................................ 21
1.13. Roteamento ........................................................................................................................... 21
1.14. DNS ....................................................................................................................................... 22
1.15. Arquivos Gerais .................................................................................................................... 22
1.16. Configurao TCP/IP ........................................................................................................... 23
1.16.1. Hostname ........................................................................................................................ 23
1.16.2. Interface de Rede ............................................................................................................ 24
1.17.3. Configurao das rotas ................................................................................................... 26
1.17.4. Resoluo de Nomes ...................................................................................................... 28
1.18. Inetd / Xinetd ......................................................................................................................... 28
1.19. Utilitrios de redes ............................................................................................................... 31
1.19.1. host ................................................................................................................................. 31
1.19.2. netstat ............................................................................................................................. 31
1.19.3. tcpdump .......................................................................................................................... 32
1.19.4. traceroute ........................................................................................................................ 33
1.19.5. nmap ............................................................................................................................... 33
1.20. Laboratrio ........................................................................................................................... 35
1.21. Exerccios ............................................................................................................................. 37
2. Servidor SSH ................................................................................................................................ 39
2.1. Instalao e configurao ........................................................................................................ 39
2.2. Laboratrio ............................................................................................................................. 40
2.3. Exerccios ................................................................................................................................ 41
3. Sistema de Nomes de Domnio .................................................................................................... 42
3.1. Servios de Nomes - DNS ...................................................................................................... 42
3.2. Instalao do BIND ................................................................................................................. 43
3.2.1. Instalao cdigo fonte ..................................................................................................... 43
3.2.2. Instalao automatizada .................................................................................................... 44
3.3. Hierarquia DNS ....................................................................................................................... 44
3.3.1 Hierarquia de Consultas DNS ........................................................................................... 45
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
52
52
54
54
55
55
56
59
61
63
64
66
68
68
69
69
73
77
78
78
80
81
81
81
84
85
85
87
87
92
94
95
96
96
96
97
98
99
100
102
102
102
103
103
104
105
106
110
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
4
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 3
6.6. Exerccios ............................................................................................................................. 110
7. Samba .......................................................................................................................................... 111
7.1. Viso Geral ............................................................................................................................ 111
7.2. O Protocolo SMB ................................................................................................................. 113
7.3. O protocolo NETBEUI.......................................................................................................... 114
7.4. Instalando o Samba .............................................................................................................. 114
7.4.1. Instalando cdigo fonte ................................................................................................. 114
7.4.2. Instalao automatizada .................................................................................................. 115
7.5. Configurao ......................................................................................................................... 115
7.5.1. Seo global .................................................................................................................. 116
7.5.2. Seo homes ................................................................................................................... 122
7.6. Samba como PDC ................................................................................................................. 123
7.7. Conta de usurio Samba ....................................................................................................... 124
7.8. Conta de mquina Samba ...................................................................................................... 126
7.9. Servidor samba em um domnio........................................................................................... 127
7.10. Compartilhamentos de arquivos .......................................................................................... 128
7.11. Controle de acesso a nvel de senha .................................................................................... 129
7.12. Controle de acesso a nvel de usurio ................................................................................. 130
7.14. O Utilitrio testparm ........................................................................................................... 132
7.15. Script de logon .................................................................................................................... 132
7.16. Servidor Wins ...................................................................................................................... 135
7.16.1. Samba como cliente WINS ......................................................................................... 135
7.16.2. Samba como Servidor WINS ...................................................................................... 136
7.17. Compartilhando Impressoras............................................................................................... 136
7.18. Samba como cliente ............................................................................................................ 137
7.19. Samba no cliente Windows ................................................................................................. 138
7.20. Laboratrio ......................................................................................................................... 140
7.21. Exerccios ........................................................................................................................... 143
7. FTP (File Transfer Protocol) ..................................................................................................... 144
7.1. Introduo ............................................................................................................................. 144
7.2. Protocolo FTP ....................................................................................................................... 145
7.3. Instalao ............................................................................................................................... 146
7.3.1. Instalao cdigo fonte ................................................................................................... 146
7.3.2. Instalao automatizada .................................................................................................. 147
7.4. Usurios FTP ......................................................................................................................... 147
7.5. Firewall e ip_conntrack ......................................................................................................... 148
7.6. Arquivos de log do FTP ........................................................................................................ 148
7.7. Executando o cliente FTP ..................................................................................................... 149
7.8. Laboratrio ........................................................................................................................... 152
7.9. Exerccios ............................................................................................................................. 153
8. Servidor Web .............................................................................................................................. 154
8.1. World Wide Web ................................................................................................................... 155
8.2. O Apache ............................................................................................................................... 156
8.3. Instalando o Apache .............................................................................................................. 156
8.3.1. Instalao cdigo fonte ................................................................................................... 156
8.3.2. Instalao automatizada .................................................................................................. 157
8.4. Protocolo HTTP .................................................................................................................... 157
8.5. Publicao da Home-Page ..................................................................................................... 159

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 1
Sumrio
Convenes ......................................................................................................................................... 6
Legendas........................................................................................................................................... 6
Cenrio ............................................................................................................................................. 6
1. Redes TCP/IP ................................................................................................................................. 8
1.1. Introduo ................................................................................................................................. 8
1.1.1. TCP/IP ................................................................................................................................ 8
1.2. Conceitos bsicos ...................................................................................................................... 9
1.3. O protocolo IP ......................................................................................................................... 11
1.4. O Protocolo TCP ..................................................................................................................... 11
1.5. Protocolos de rede ................................................................................................................... 12
1.5.1. O modelo OSI .................................................................................................................. 13
1.5.2. Modelo TCP/IP ................................................................................................................. 14
1.6. O Endereo IP ......................................................................................................................... 16
1.7. Classes de Endereamento IP .................................................................................................. 16
1.8. Endereos de Rede e Broadcast .............................................................................................. 17
1.9. Mscara de rede ....................................................................................................................... 18
1.10. Sub-rede ................................................................................................................................ 18
1.11. Endereos IP para redes privadas .......................................................................................... 21
1.12. O Nmero de Porta ................................................................................................................ 21
1.13. Roteamento ........................................................................................................................... 21
1.14. DNS ....................................................................................................................................... 22
1.15. Arquivos Gerais .................................................................................................................... 22
1.16. Configurao TCP/IP ........................................................................................................... 23
1.16.1. Hostname ........................................................................................................................ 23
1.16.2. Interface de Rede ............................................................................................................ 24
1.17.3. Configurao das rotas ................................................................................................... 26
1.17.4. Resoluo de Nomes ...................................................................................................... 28
1.18. Inetd / Xinetd ......................................................................................................................... 28
1.19. Utilitrios de redes ............................................................................................................... 31
1.19.1. host ................................................................................................................................. 31
1.19.2. netstat ............................................................................................................................. 31
1.19.3. tcpdump .......................................................................................................................... 32
1.19.4. traceroute ........................................................................................................................ 33
1.19.5. nmap ............................................................................................................................... 33
1.20. Laboratrio ........................................................................................................................... 35
1.21. Exerccios ............................................................................................................................. 37
2. Servidor SSH ................................................................................................................................ 39
2.1. Instalao e configurao ........................................................................................................ 39
2.2. Laboratrio ............................................................................................................................. 40
2.3. Exerccios ................................................................................................................................ 41
3. Sistema de Nomes de Domnio .................................................................................................... 42
3.1. Servios de Nomes - DNS ...................................................................................................... 42
3.2. Instalao do BIND ................................................................................................................. 43
3.2.1. Instalao cdigo fonte ..................................................................................................... 43
3.2.2. Instalao automatizada .................................................................................................... 44
3.3. Hierarquia DNS ....................................................................................................................... 44
3.3.1 Hierarquia de Consultas DNS ........................................................................................... 45
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
112
113
113
115
115
116
116
116
117
118
123
124
127
128
130
131
131
132
134
134
137
137
137
138
140
141
142
144
145
145
145
146
147
147
147
148
149
149
152
153
154
155
157
157
157
158
158
160
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
5
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 4
8.6. Configurao do Apache ....................................................................................................... 160
8.7. Laboratrio ........................................................................................................................... 167
8.8. Exerccios ............................................................................................................................. 169
9. Servidor de Email ....................................................................................................................... 170
9.1. Servidor de Mensagens ........................................................................................................ 170
9.2. Agentes de mensagens ........................................................................................................... 170
9.3. Instalando o Servidor de Email ............................................................................................. 172
9.3.1. Instalao cdigo fonte .................................................................................................. 172
9.3.2. Instalao automatizada ................................................................................................. 173
9.4. Configurao ......................................................................................................................... 173
9.5. Aliases ................................................................................................................................... 176
9.6. Redirecionamento.................................................................................................................. 177
9.7. Laboratrio ........................................................................................................................... 178
9.10. Exerccios ........................................................................................................................... 180
10. Servidor Proxy .......................................................................................................................... 181
10.1. SQUID ................................................................................................................................. 183
10.2. Instalao ............................................................................................................................. 183
10.2.1. Instalao cdigo fonte ................................................................................................ 183
10.2.2. Instalao automatizada................................................................................................ 184
10.3. Configurao ....................................................................................................................... 184
10.3.1. squid.conf ..................................................................................................................... 184
10.3.2. Caching ......................................................................................................................... 185
10.3.3. Restries de Acesso .................................................................................................... 188
10.3.4. Restrio das redes ....................................................................................................... 189
10.3.5. Restrio por sites......................................................................................................... 190
10.3.6. Restrio por termos em URLs .................................................................................... 190
10.3.7. Autenticao ................................................................................................................. 191
10.4. Proxy Transparente .............................................................................................................. 193
10.4.1. IP Masquerade .............................................................................................................. 194
10.4.2. Proxy Transparente com Squid ..................................................................................... 195
10.5. SARG .................................................................................................................................. 198
10.5.1. Instalao ...................................................................................................................... 198
10.5.2. Configurao ................................................................................................................ 198
10.5.3. Gerao de relatrios .................................................................................................... 199
10.6. Laboratrio ......................................................................................................................... 200
10.7. Exerccios ........................................................................................................................... 202


Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 1
Sumrio
Convenes ......................................................................................................................................... 6
Legendas........................................................................................................................................... 6
Cenrio ............................................................................................................................................. 6
1. Redes TCP/IP ................................................................................................................................. 8
1.1. Introduo ................................................................................................................................. 8
1.1.1. TCP/IP ................................................................................................................................ 8
1.2. Conceitos bsicos ...................................................................................................................... 9
1.3. O protocolo IP ......................................................................................................................... 11
1.4. O Protocolo TCP ..................................................................................................................... 11
1.5. Protocolos de rede ................................................................................................................... 12
1.5.1. O modelo OSI .................................................................................................................. 13
1.5.2. Modelo TCP/IP ................................................................................................................. 14
1.6. O Endereo IP ......................................................................................................................... 16
1.7. Classes de Endereamento IP .................................................................................................. 16
1.8. Endereos de Rede e Broadcast .............................................................................................. 17
1.9. Mscara de rede ....................................................................................................................... 18
1.10. Sub-rede ................................................................................................................................ 18
1.11. Endereos IP para redes privadas .......................................................................................... 21
1.12. O Nmero de Porta ................................................................................................................ 21
1.13. Roteamento ........................................................................................................................... 21
1.14. DNS ....................................................................................................................................... 22
1.15. Arquivos Gerais .................................................................................................................... 22
1.16. Configurao TCP/IP ........................................................................................................... 23
1.16.1. Hostname ........................................................................................................................ 23
1.16.2. Interface de Rede ............................................................................................................ 24
1.17.3. Configurao das rotas ................................................................................................... 26
1.17.4. Resoluo de Nomes ...................................................................................................... 28
1.18. Inetd / Xinetd ......................................................................................................................... 28
1.19. Utilitrios de redes ............................................................................................................... 31
1.19.1. host ................................................................................................................................. 31
1.19.2. netstat ............................................................................................................................. 31
1.19.3. tcpdump .......................................................................................................................... 32
1.19.4. traceroute ........................................................................................................................ 33
1.19.5. nmap ............................................................................................................................... 33
1.20. Laboratrio ........................................................................................................................... 35
1.21. Exerccios ............................................................................................................................. 37
2. Servidor SSH ................................................................................................................................ 39
2.1. Instalao e configurao ........................................................................................................ 39
2.2. Laboratrio ............................................................................................................................. 40
2.3. Exerccios ................................................................................................................................ 41
3. Sistema de Nomes de Domnio .................................................................................................... 42
3.1. Servios de Nomes - DNS ...................................................................................................... 42
3.2. Instalao do BIND ................................................................................................................. 43
3.2.1. Instalao cdigo fonte ..................................................................................................... 43
3.2.2. Instalao automatizada .................................................................................................... 44
3.3. Hierarquia DNS ....................................................................................................................... 44
3.3.1 Hierarquia de Consultas DNS ........................................................................................... 45
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
161
168
171
172
172
172
174
174
175
175
177
178
180
182
183
185
185
185
186
186
186
187
191
191
192
193
193
195
196
197
201
201
201
202
203
205
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
6
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 5
CONVENES
LEGENDAS
Este documento possui algumas legendas que ajudam a ilustrar e facilitar o
entendimento.


Significa um comentrio importante sobre determinado assunto. Acrescenta
informao relevante ao tema.


Acrescenta detalhes tcnicos que podem fazer diferena no momento de uma
implementao ou ser relevantes em exames de certificao.


Apresenta uma linha de comando ou cdigo referente s distribuies
RHEL (RedHat Enterprise Linux) e CentOS.


Semelhante ao anterior, porm apresentando cdigos ou linhas de
comando para as distribuies Debian e Ubuntu.

CENRIO
O cenrio do curso est baseado em quatro mquinas virtuais, sendo trs Linux e uma
Windows.
As duas primeiras mquinas Linux fazem parte da rede do laboratrio 192.168.1.0/24 e
seus IPs (192.168.1.X e 192.168.1.Y) sero definidos pelo instrutor no incio do curso, bem
como se eles sero endereos fixos ou dinmicos.
As duas mquinas clientes faro parte da rede 10.0.0.0/24 e seus IPs podero ser
determinados manualmente ou por DHCP, isso vai depender do assunto que est sendo estudado.
A nomenclatura das mquinas vai depender do domnio a ser adotado pelo instrutor para o
curso, esse material vai adotar o domnio 3waylocal.net.br. Portanto as mquinas tero os nomes
no seguinte formato:
maq<final-do-IP>.3waylocal.net.br
Por exemplo para uma mquina que utilize o IP 192.168.1.150 seu nome de host ser
maq150.3waylocal.net.br.
A figura abaixo ilustra o cenrio do curso.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
7
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 6



O ambiente acima ser integralmente virtualizado por ferramentas como VirtualBox ou
VMWare Server.
A mquina maqX.3waylocal.net.br ser muito utilizada no primeiro mdulo (Linux
System Administrator), j a mquina maqY.3waylocal.net.br ser utilizada nos outros dois
mdulos (Linux Network e Security Administrator) juntamente com as mquinas clientes Windows
(10.0.0.W) e Linux (10.0.0.Z).
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
8
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 7
1. REDES TCP/IP


Este captulo uma introduo aos conceitos do protocolo TCP/IP, tal como
nmeros IP, portas TCP, servios, roteamento, ferramentas, etc.
1.1. INTRODUO
1.1.1. TCP/IP
A pilha de protocolos TCP/IP foi originada nos Estados Unidos na
ARPANET, uma rede militar americana, e pouco a pouco foi sendo ampliada por
centenas de universidades e reparties pblicas que foram sendo conectadas a ela
atravs de linhas telefnicas privadas e outros meios de comunicao. Mais tarde essa
rede deu origem a grande rede mundial de computadores, a Internet.
O objetivo do TCP/IP era conectar vrias redes locais e esse o motivo de o
nome ser Internet (ou seja, inter-redes). Na verdade, o acrnimo TCP/IP refere-se a
uma grande famlia de protocolos que funciona em conjunto para permitir uma
comunicao completa que englobam os protocolos TCP, IP e outros como o ARP
(Address Resolution Protocol), ICMP (Internet Control Message Protocol), DNS
(Domain Name Service) e outros.
O projeto TCP/IP teve sua origem por volta de 1969, porm, esta rede tornou-
se operacional somente a partir de 1975 quando sua funcionalidade j estava
comprovada. Por volta de 1983, o novo modelo de referncia TCP/IP estava
completamente padronizado e disponvel publicamente, permitindo sua rpida
popularizao.
Atualmente utilizada a verso 4 do protocolo, no entanto, a verso 6 j foi
concebida para suprir falhas e limitaes da verso anterior. J possvel ver
endereamentos IPv6 em pleno funcionamento e equipamentos que j trabalham com
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
9
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 8
essa nova pilha de protocolos. Esse material abordar a verso 4.
1.2. CONCEITOS BSICOS
Todo computador em uma rede TCP/IP denominado host e para entender
melhor uma rede, necessrio classificar cada host que a compe, cada um
desenvolve tarefas especficas e variadas dentro desse contexto. Podemos classific-
los como: servidor, cliente, roteador (gateway) e firewall.
O que diferencia um servidor de um cliente o fato de o primeiro sempre
estar aguardando solicitaes vindas do segundo ou de outro servidor (neste caso
atuando como cliente). Por exemplo, um servidor Web (HTTP) retornar o contedo
de uma pgina Web quando algum cliente requisit-lo.

Cliente/Servidor

Um roteador tem a funo de repassar pacotes de uma rede para outra atravs
da checagem dos endereos de destino. Dentro desta funcionalidade o roteador
funciona como uma ligao entre uma rede e outra, portanto geralmente utiliza de
tecnologias e protocolos diferentes.


Interligao de duas redes por um roteador

Um firewall um computador conectado a uma rede local e ao mesmo a
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
10
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 9
tempo uma rede externa. Ele possui a funo de filtrar determinados servios que a
rede interna no necessita compartilhar externamente, ou seja, o firewall pode
permitir ou negar determinados servios para uma rede externa.

Filtragem de uma rede interna por fillustrao de um firewall filtrando uma rede interna.

A verdade que, em uma rede TCP/IP, um hospedeiro pode ter a funo de
qualquer uma dos itens descritos anteriormente. Um mesmo computador pode ser um
servidor para um servio ao mesmo tempo que atua como cliente de outro e ao
mesmo tempo ele pode estar realizando roteamento de pacotes de uma rede para
outra.
1.3. O PROTOCOLO IP
O protocolo IP (Protocolo Internet) a chave da interligao de redes que
utilizam tecnologias e hardwares diferentes. Uma das caractersticas mais
importantes do Protocolo IP a diviso da informao a ser transportada de um ponto
ao outro em fragmentos denominados datagramas.
Todo datagrama dividido em cabealho e corpo. No cabealho encontra-se
informaes como: origem do pacote, destino do pacote e informaes especficas do
protocolo; j o corpo do datagrama utilizado para armazenar os dados, ou seja, ao
mandar um email a juno do corpo de todos os datagramas formar, no destino, a
mensagem original do email enviada pela origem.
O datagrama tem uma estrutura padronizada pelo protocolo IP que faz com
que o endereamento seja independente do hardware utilizado. A principal vantagem
do IP est na transformao de redes diferentes e fisicamente separadas em uma rede
funcionalmente homognea.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
11
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 10
1.4. O PROTOCOLO TCP
O protocolo TCP (Protocolo de Controle de Transmisso) tem como objetivo
controlar os dados quando esto em trfego de forma que todos dados enviados de
uma mquina devem ser divididos em pacotes pelo emissor, podendo trafegar por
caminhos distintos e finalmente serem remontados corretamente pelo receptor. O
protocolo tambm cuida da perda de pacotes no trajeto entre um ponto ao outro,
solicitando a retransmisso do pacote ao remetente.
Vejamos um exemplo: duas redes compartilham um mesmo roteador, ponto de
passagem entre elas. Se vrias mquinas de uma rede enviarem pacotes para outra
mquina na outra rede, obviamente estes pacotes passaro pelo roteador e se o trfego
gerado for intenso e acima da capacidade de repasse do roteador, este poder ficar
sem espao livre no buffer, sendo incapaz de retransmiti-los, pois o protocolo IP
simplesmente descarta os pacotes excedentes. Porm, o protocolo TCP faz com que a
mquina cheque a integridade dos dados e solicita a retransmisso dos faltantes em
caso de erros. Assim, toda vez que um pacote enviado na rede, o protocolo TCP
cuida das confirmaes de recebimento. Por essa caracterstica dito que o protocolo
TCP um servio confivel sobre o protocolo IP.
Outra caracterstica importante do TCP o controle de fluxo. Ao enviar dados
na rede, a parte receptora indica parte transmissora a quantidade de bytes que
podem ser recebidos aps os ltimos dados recebidos, assim evita-se ultrapassar o
limite da capacidade de buffer da mquina receptora.
1.5. PROTOCOLOS DE REDE
Para toda comunicao existe uma linguagem. Comunicao impossvel
sem algum tipo de linguagem ou cdigo preestabelecido. Em redes de computadores,
estes cdigos de comunicao so chamados de protocolos. , portanto, atravs das
regras estabelecidas pelos protocolos que os dados fluem de modo organizado e sem
perdas.
A hierarquia de Protocolo importante e est baseada em uma srie de
camadas (ou nveis) que so dispostas uma a cima da outra, de forma semelhante a
uma pilha de protocolos. O nmero, o nome, o contedo e a funo de cada camada
difere de uma rede para outra. Porm, o objetivo de cada camada oferecer
determinados servios para as camadas superiores, tornando-se um filtro e conversor
de dados para a camada superior.
No mbito lgico da rede, a camada n comunica com a camada n da outra
mquina. As regras e convenes usadas nessa comunicao so chamadas de
protocolo. Resumidamente, um protocolo um conjunto de regras sobre o modo
como se dar a comunicao entre as partes envolvidas. Assim, ao comunicar-se com
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
12
Todos os direitos reservados a 3Way Networks
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
13
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 11
determinada mquina existem regras que devem ser respeitadas conjuntamente. Caso
isto no venha a acontecer, a comunicao ser dificultada e em alguns casos pode
impossibilit-la, ocorrendo o que chamamos de violao do protocolo.

Comunicao atravs de camadas.



O conjunto de camadas de um protocolo chamada de arquitetura de rede.
Entre cada par de camadas adjacentes existe uma interface. A interface consiste nas
operaes e servios que a mesma deve prover para camada superior a ela. A
especificao de uma arquitetura deve conter informaes suficientes para permitir
que um desenvolvedor crie um programa ou construa um hardware de cada camada
de modo que ela transmita-o corretamente ao protocolo adequado.
1.5.1. O MODELO OSI
O modelo de referncia OSI (Open System Interconnection) conhecido
como o modelo de padronizao de tecnologias de redes de computadores. O modelo
OSI teve como objetivo estabelecer uma regra e direcionamento no desenvolvimento
de modelos de arquiteturas de redes. O modelo OSI define 7 camadas. Estas camadas
esto dispostas da seguinte forma:

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
14
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 12

Modelo de referncia OSI
Fsica
Esta camada tem como funo adaptar o sinal de comunicao com o meio de transmisso.
Esta camada possui acesso fsico ao meio de transmisso e, portanto, trata de fatores como
especificao eltrica, mecnica e outros fatores fsicos que fazem a interface entre o equipamento e
o meio de transmisso.
Enlace de dados
Esta camada trata a organizao dos dados em pacote. Quando um pacote enviado, esta
camada responsvel pelo ltimo empacotamento antes da transmisso. Quando um pacote
recebido, este verifica, em primeira instncia, a integridade do pacote. Se o pacote apresentar erros,
este ser descartado.
Rede
Responsvel pela tabela de roteamento, portanto esta camada controla o envio de pacotes
para os dispositivos corretos e deve garantir que o pacote chegue ao dispositivo correto.
Transporte
Esta uma camada intermediria que tem a funo de corrigir as eventuais deficincias
provenientes do nvel rede.
Sesso
Esta camada fornece servios como controle de comunicao (dilogo), gerenciamento de
token (sinalizao) e gerenciamento de tarefas.
Apresentao
Esta camada tem como objetivo manipular dados antes do envio ao prximo nvel, ou seja,
neste nvel vrias transformaes so feitas, por exemplo: criptografia, compresso, etc.
Aplicao
Este nvel oferece os meios de aplicao para que seja possvel a comunicao atravs do
protocolo OSI. Nesta camada so definidos as funes de gerenciamento e mecanismos que tem
como finalidade dar suporte ao desenvolvimento de aplicaes em rede para o usurio.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
15
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 13
1.5.2. MODELO TCP/IP
O protocolo TCP/IP foi desenvolvido na plataforma UNIX e, atualmente, o
protocolo mais utilizado no mundo. Ele, na verdade, uma pilha de protocolos, no
se limitando somente ao TCP e IP. A sigla TCP/IP se refere aos dois principais
protocolos: o TCP (camada de transporte) e o IP (camada de rede). O protocolo IP
permite a comunicao de dois pontos da rede sem a necessidade destes estarem no
mesmo meio fsico. J o TCP fornece uma conexo confivel sobre o IP.

Modelo TCP/IP
Acesso de Rede
Similar a camada fsica do protocolo OSI. Tem a funo de determinar as caractersticas
eltricas e mecnicas do meio de transmisso. Enfim, especificar os aspectos fsicos da
comunicao.
Rede
Nesta camada o IP o protocolo mais importante, ele tem a funo de tornar as redes
homogneas entre si, ou seja, tem a funo de reunir redes com arquiteturas diferentes, fazendo com
que sejam transparentes.
Transporte
Nesta camada encontram-se os protocolos TCP e UDP. Esta camada tem a
responsabilidade de transmitir e controlar o envio de dados de um n ao outro.
Aplicao
Aplicao a camada que interage com o usurio. Ela oferece servios como
smtp(email), o telnet (terminal remoto), o ftp (transferncia de arquivos), etc.

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
16
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 14

Comparao do modelo TCP/IP com o OSI.
1.6. O ENDEREO IP
Todo host tem um endereo exclusivo que o identifica na Internet ou mesmo
na rede local. O endereo IPv4 um nmero de 32 bits dividido de 4 pores de 8
bits (octetos) decimais. No IPv6, esse nmero de 128 bits composto por 16 octetos
hexadecimais. Possui a capacidade de enderear muito mais endereos que a verso
4. Por exemplo, uma nica mquina pode ter um endereo de IP geralmente expresso
de 3 formas:

Endereos Descrio
149.76.12.4
Notao decimal de quatro partes, a mais utilizada e mais legvel.
0x954C0C04 Notao hexadecimal.
10010101.01001100.00001100.00000100 Notao binria.
1.7. CLASSES DE ENDEREAMENTO IP
Ao iniciar a distribuio dos nmeros IP para empresas, os criadores do
TCP/IP perceberam que era vantajoso definir blocos de endereos contguos, no
sentido de facilitar a administrao. Verificaram tambm que as empresas tinham
portes diferentes, e com isto surgiram as classes, que alm de definir tipos de redes de
tamanhos diferentes. Quando alguma empresa necessitava de nmeros IP, era
fornecido um bloco contguo de endereos IP de uma classe adequada sua
necessidade, baseada na quantidade de hosts a serem identificados com nmeros IP.
Foram definidos 5 tipos de classes: A, B, C, D e E. Para se identificar uma
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
17
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 15
classe, procurou-se definir algo que seria melhor implementado em nvel de
hardware. Por isto, cada classe, foi definida baseando-se no primeiro dos quatro bytes
do nmero IP, como segue:

Classe Valor binrio
do 1o. byte
Faixa de valores expresso em binrio
do 1o. byte
Faixa de valores expresso em decimal
do 1o. byte
A 0XXXXXXX 00000000 a 01111111 0 a 127
B 10XXXXXX 10000000 a 10111111 128 a 191
C 110XXXXX 11000000 a 11011111 192 a 223
D 1110XXXX 11100000 a 11101111 224 a 239
E 11110XXX 11110000 a 11110111 240 a 254

Assim, para se identificar se um nmero IP pertence a classe A basta saber o
valor do bit do primeiro byte. Caso seja 0 pode-se concluir imediatamente que refere-
se classe A, caso contrrio deve-se testar o segundo bit. Se o segundo bit for 0,
conclui-se que refere-se classe B, e assim sucessivamente at chegar a classe E.
Quando este valor binrio convertido em valor decimal, podemos
compreender melhor a faixa de endereos IP definidos por cada classe. Por exemplo,
todo endereo IP de classe A tem o primeiro byte localizado na faixa de 0 a 127.
1.8. ENDEREOS DE REDE E BROADCAST
Assim como foi padronizado que os endereos 127.X.X.X e 0.0.0.0 so
utilizados respectivamente para endereos de localhost (loopback) e rede padro,
tambm foram padronizados os seguintes endereos especiais:
broadcast
o endereo utilizado para enviar mensagens para todos da mesma rede.
Assim como ocorre nos transmissores de rdio, atravs do processo denominado
radiodifuso. O endereo de broadcast obtido atribuindo-se o valor 1 a todos os bits
da parte de host do endereo IP. Por exemplo, para o endereo 10.1.2.3 (classe A), o
endereo de broadcast 10.255.255.255.
Rede
o endereo utilizado para especificar a rede e no um host especfico. O
endereo de broadcast obtido atribuindo-se o valor 0 a todos os bits da parte de host
do endereo IP. Por exemplo, para o endereo 10.1.2.3 (classe A), o endereo de rede
10.0.0.0.
1.9. MSCARA DE REDE
Um conceito muito importante introduzido aps a padronizao das classes
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
18
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 16
foi o conceito de mscara de rede. A mscara de rede utilizada para delimitar a parte
referente ao endereo de rede e de host de um endereo IP. Por exemplo, para o
endereo IP 10.1.2.3 (classe A), a mscara de rede 255.0.0.0. Abaixo pode-se
observar alguns exemplos:

Endereo de rede Endereo de host
Nmero IP 10. 1.2.3
Mscara de rede (em binrio) 11111111. 00000000.00000000.00000000
Mscara de rede (em decimal) 255. 0.0.0
Mscara de rede (quantidade de 1's) 8

A mscara um valor de 32 bits, exatamente como um endereo IP, podendo
ser expresso tambm na forma decimal e na forma hexadecimal. A mscara de rede
por padro define todos os bits do primeiro byte iguais a 1 (equivale ao valor 255)
para o endereo de rede. Para os endereos de hosts ela dever ter todos os bits iguais
a 0 (nmero 0 na forma decimal). Pode-se expressar a mscara atravs da quantidade
de bits 1, para a classe A o valor 8 (10.1.2.3/8 ou 10.1.2.3/255.0.0.0).

Classe A: 255.0.0.0 ou valor 8
Classe B: 255.255.0.0 ou valor 16
Classe C: 255.255.255.0 ou valor 24
1.10. SUB-REDE
Ao se utilizar o esquema de classes acima, na prtica percebeu-se que a
quantidade de hosts disponibilizada por uma rede de uma classe ora era muito pouca
ou era excessiva para o uso de uma entidade. Lembre-se que a faixa de endereos
classe A, B e C correspondem a 65 milhes, 65 mil e 255 endereos de hosts
respectivamente e que quando uma rede de uma destas classes era fornecido para uma
entidade, pecava-se pelo excesso, desperdiando uma quantidade enorme de
endereos IP. Para resolver este problema, surgiu a ideia de sub-rede, lanada na
RFC950, que proporcionou um melhor aproveitamento do conjunto de nmeros IP
disponveis, fornecendo faixas de endereos IP sob medida de acordo com a
necessidade de cada entidade.
O novo esquema baseado no deslocamento dos bits da mscara para direita
ou para esquerda do esquema de mscara antigo para aumentar ou diminuir a
quantidade de hosts/subredes. Por exemplo, para o IP 10.1.2.3 de classe A, com a
mscara alterada para 255.255.0.0, possibilita o aumento da poro de subredes e a
diminuio do nmero de hosts tendo como base o padro.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
19
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 17

Classe Primeiro byte Segundo byte Terceiro byte Quarto byte
A Bit 0 + 7 bits de endereo de rede 24 bits disponveis
B bits 10 + 14 bits de endereo de rede 16 bits disponveis
C bits 110 + 21 bits de endereo de rede 8 bits disponveis

Note neste quadro acima, que em endereos IP classe A, B, C, temos 24, 16 e
8 bits disponveis respectivamente para o avano da mscara de sub-rede e endereo
de host. Portanto, a mscara de sub-rede pode avanar somente at o antepenltimo
bit, pois se avanamos at o penltimo bit, teremos disponvel somente 1 bit para
nmero de host, o que seria insuficiente para identificar hosts reais, uma vez que o bit
0 seria para identificar a rede e o bit 1 para broadcast. Da mesma forma, se
avanarmos at o ltimo bit, no teramos mais bits disponveis para identificar hosts.
Portanto, para a mscara de sub-rede, para as classes A, B e C, temos disponvel para
avanar 22, 14 e 6 bits respectivamente.
Outro conceito importante a ser notado o nmero de sub-rede. Antes da sub-
rede, todo nmero IP era do tipo nmero da rede.nmero do host, com o uso de sub-
redes, o endereo IP pode ser expresso de uma forma diferente: nmero da
rede.nmero da sub-rede.nmero do host. Por exemplo, suponha que tenhamos um
nmero IP 10.1.2.3, com mscara de sub-rede 255.255.0.0. Este nmero proporciona
o valor de 10 como nmero de rede, 1 como nmero de sub-rede e 2.3 como nmero
de host.


Um equvoco muito comum determinar a classe de um endereo baseado
na mscara que um endereo IP utiliza. O que define a classe em que um
endereo IP pertence o valor do seu primeiro octeto.

At o momento somente foram abordadas mscaras de sub-rede que ocupam
totalmente um octeto, porm possvel manipular outros bits dessas mscaras, por
exemplo 255.255.255.248. Com essa mscara o esquema ficaria da seguinte forma:

255. 255. 255. 248
11111111. 11111111. 11111111. 11111000

Quando se utilizada mscaras de sub-rede como esta, tem-seum clculo
mais complexo. Supondo que se tenha a rede 200.163.79.0, se for utilizada a mscara
de sub-rede 255.255.255.248, a parte referente a rede ser aumentada e a parte de
hosts ser diminuda. Para esse endereo tem-se as sub-redes variando de
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
20
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 18
00000000=0 a 11111000=248.


sub-rede (em binrio) sub-rede (em decimal)
00000000 0
00001000 8
00010000 16
00011000 24
... ...
11111000 248

Note que para obter as sub-redes, simplesmente soma-se recursivamente o
valor de 8 (equivalente a 1000 binrio) ao valor da primeira sub-rede 00000000. Se
essa regra for aplicada a esta regra, obtem-se as seguintes sub-redes: 0, 8, 16, 24, 32,
40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 136, 144, 152, 160, 168, 176, 184,
192, 200, 208, 216, 224, 232, 240, 248, ou seja 32=2
5
sub-redes, ou seja 2
n
sub-redes,
onde n a quantidade de bits disponibilizados a mais para formao de sub-rede.
Aps a obteno das sub-redes e considerando o IP 200.163.79.10, o quadro
abaixo mostra o clculo para esse endereo:

Endereo IP 200.163.79.9
Endereo de rede 200.163.79
Endereo de sub-rede 8 = 1000
Endereo de host 2 = 010
Endereo IP (em binrio) 11001000.10100011.01001111.00001010
Mscara de sub-rede (em binrio) 11111111.11111111.11111111.11111000

1.11. ENDEREOS IP PARA REDES PRIVADAS
Todo computador da Internet deve ter um endereo IP nico, no entanto, em
uma rede local preciso utilizar endereos nicos, mas que no sejam vlidos na
Internet. Existem blocos de endereos que foram reservados para as redes privadas.
Os endereos de rede apresentados abaixo podem ser utilizados em qualquer rede
local:

Classe Faixa
A
de 10.0.0.0 a 10.255.255.255
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
21
Todos os direitos reservados a 3Way Networks
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
22
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 19
B
de 172.16.0.0 a 172.31.255.255
C
de 192.168.0.0 a 192.168.255.255
1.12. O NMERO DE PORTA
Embora o endereo IP seja suficiente para localizar um computador,
necessrio localizar tambm determinado aplicativo naquele computador. Por
exemplo, se a mensagem que est sendo recebida for uma correspondncia eletrnica,
ela precisar ser enviada para o leitor de correio. Se a mensagem recebida for uma
solicitao de pgina Web, ela precisa ser roteada para o programa que envia pginas
Web.
Existe um nmero de identificao, chamado nmero da porta, que enviado
em cada mensagem. necessrio que o remetente tambm saiba o nmero da porta.
Existem portas que so notadamente conhecidas por serem utilizadas por servios
conhecidos, essas portas so chamadas de portas baixas ou conhecidas. Por exemplo,
todo navegador faz requisies na porta 80 de todo servidor Web, e a maioria dos
clientes SSH fazem requisies na porta 22 do servidor SSH.
Os clientes tambm se comunicam com os servidores atravs de portas,
normalmente essas portas so acima de 1024 (portas no conhecidas).
1.13. ROTEAMENTO
Redes de computadores roteiam os pacotes baseando-se no sistema de
correios, ou seja, deseja-se comunicar com um destino, ento os pacotes so
entregues um a um para o primeiro roteador (primeira agncia dos correios) e este
encarrega-se de entregar ao roteador de destino (agncia de destino). Durante esse
trajeto os pacotes podem passar por vrios outros roteadores intermedirios at
encontrar o roteador final.
A vantagem de utilizar esta forma estruturada est no fato de no haver uma
preocupao com o caminho que o pacote ir percorrer, a nica preocupao est
limitada a origem e ao destino. Toda a Internet consiste em um nmero de redes
prprias que so denominadas como redes autnomas. Cada rede necessita de um
roteamento interno que tem a tarefa de entregar o datagrama para a rede da mquina
de destino.
1.14. DNS
Raramente os programas fazem referncia a hosts, e-mail e outros recursos
utilizando seus endereos IP, eles utilizam com frequncia os nomes (strings em
ASCII), ento necessrio algum tipo de mecanismo para converter os strings ASCII
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
23
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 20
em endereos IP. A funo do DNS justamente essa: converter nomes em endereo
IP.
1.15. ARQUIVOS GERAIS
Existe um grande nmero de arquivos de configurao e informaes que se
referem a rede. Estes arquivos armazenam nmeros de portas, endereos usados nas
comunicaes, etc. A seguir ser apresentado alguns arquivos:

/etc/protocols
Define os protocolos de baixo nvel utilizados nas comunicaes de redes
TCP/IP. Quando um pacote enviado, ele necessita ser encapsulado em um tipo de
protocolo, este arquivo serve como referncia para saber como desempacot-lo. Essa
referncia feita atravs da ID (Identificao) do protocolo.

Protocolo ID Nome Alternativo Descrio


ip 0 IP #internet protocol,pseudo protocol number
icmp 1 ICMP # internet control message protocol
igmp 2 IGMP # Internet Group Management
ggp 3 GGP # gateway-gateway protocol
ipencap 4 IP-ENCAP # IP encapsulated in IP (officially IP)
st 5 ST # ST datagram mode
tcp 6 TCP # transmission control protocol
egp 8 EGP # exterior gateway protocol
pup 12 PUP # PARC universal packet protocol
udp 17 UDP # user datagram protocol
hmp 20 HMP # host monitoring protocol
.
.
.
/etc/services
Define os nmeros de porta de cada servio. Ter uma entrada neste arquivo
no indica necessariamente que o programa estar sendo executado, pois este arquivo
apenas controla o nmero de porta que o processo/programa executado.

Servio Porta/Protocolo Descrio


Tcpumx1 1/tcp #rfc-1078
echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users
daytime 13/tcp
daytime 13/udp
netstat 15/tcp
...

Este arquivo baseado na lista port numbers (disponvel on-line no endereo
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
24
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 21
http://www.isi.edu/in-notes/iana/assignments/port-numbers).

/etc/hosts
Define uma forma de resoluo de nomes que relaciona nomes de mquinas
com endereos IP.
Endereo IP Hostname Alias
127.0.0.1 localhost
10.1.0.101 maq1.3waylocal.net.br maq1
10.1.0.102 maq2. 3waylocal.net.br maq2
10.1.0.103 maq3. 3waylocal.net.br maq3
10.1.0.2 servidor. 3waylocal.net.br servidor
1.16. CONFIGURAO TCP/IP
A configurao de informaes TCP/IP constituem um dos passos mais
importantes para tornar uma mquina operacional em uma rede. preciso atentar-se
para as seguintes configuraes: Hostname (Nome da Mquina), Interface de Rede
(Placa de Rede), Rotas e Resoluo de Nomes (DNS).
1.16.1. HOSTNAME
No protocolo TCP/IP existe uma padronizao para nomes de hosts. Os
nomes das mquinas devem seguir o padro FQDN (Nome Totalmente Qualificado)
que nada mais que o nome da mquina com o seu respectivo domnio DNS. O nome
servidor.3waylocal.net.br um exemplo de nome totalmente qualificado,
onde servidor o nome da mquina e 3waylocal.net.br o domnio.
O comando abaixo configura o nome da mquina:
hostname servidor.3waylocal.net.br

Para verificar se a configurao foi executada com xito, execute somente
hostname para ver como ficou o nome da mquina:
hostname
servidor.3waylocal.net.br

Entretanto, este comando configura o nome da mquina temporariamente, ou
seja, se esta mquina for reiniciada, ela perder a configurao. No CentOS/RHEL
deve-se editar a diretiva HOSTNAME do arquivo /etc/sysconfig/network,
no Debian/Ubuntu basta alterar o arquivo /etc/hostname com o nome da
mquina, todos eles produzem mudanas permanentes de hostname. Abaixo est um
exemplo do arquivo do CentOS/RHEL:
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=servidor.3waylocal.net.br
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
25
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 22

As diretivas NETWORKING e NETWORKING_IPV6 significam que esta
mquina est em uma rede IPV4 e IPV6 respectivamente. Ainda possvel encontrar
outras diretivas alm de HOSTNAME nesse arquivo, tais como GATEWAY e
GATEWAYDEV que define, na mesma ordem, qual ser o roteador padro para a
mquina e qual dispositivo dar acesso a esse roteador.
1.16.2. INTERFACE DE REDE
Esta configurao est baseada na deteco da placa de rede, configurao do
endereo IP e mscara de rede e outras diretivas.

Interface Ethernet
O kernel responsvel pela interao com todo hardware, inclusive placas de
rede. Para que o kernel reconhea a interface de rede, necessrio que a placa de rede
seja de um tipo conhecido e que a placa possua um mdulo (driver) que a faa
funcionar. O Linux possui um grande nmero de mdulos para placas de rede, porm
pode ser necessrio compilar algum mdulo. Para carregar mdulos compilados
utilizado comando modprobe.
Exemplo: #modprobe rtl8139.

Configurao
O comando ifconfig pode ser utilizado para configurar em tempo de
execuo as informaes de rede. Para configurao permanente preciso utilizar
arquivos de configurao especficos da distribuio. Digitando ifconfig sem
parmetros, obte-se a lista das interfaces ativas na mquina.

ifconfig
eth0 Link encap: Ethernet Hwaddr 00:90:06:54:05:11
inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST LOOPBACK RUNNING MTU: 1500 Metric:1
RX packets: 421 errors:0 dropped:0 overruns:0 frame:0
TX packets:75 errors:0 dropped:0 overruns:0 carrier:0
lo Link encap: Local loopback
inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
UP BROADCAST LOOPBACK RUNNING MTU: 3584 Metric:1
RX packets: 460 errors:0 dropped:0 overruns:0 frame:0
TX packets:460 errors:0 dropped:0 overruns:0 carrier:0
Collisions:0

Exemplo:
ifconfig eth0 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255
up
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
26
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 23

Este comando atribui a interface eth0 o endereo IP 192.168.1.10, a mscara


de rede 255.255.255.0 e endereo de broadcast 192.168.1.255.

ifconfig eth0 down

Desativa a interface.

No CentOS/RHEL existe o diretrio /etc/sysconfig/network-
scripts que armazena todos os arquivos relacionados s interfaces de rede
presentes na nquina (ifcfg-eth0, ifcfg-eth1, etc). Basta edit-los para criar
configuraes de rede permanentes.
Em distribuies baseadas no Debian/Ubuntu o arquivo que dever ser
editado para todas as interfaces presentes, o /etc/network/interfaces.



/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
IPADDR=192.168.1.x
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
GATEWAY=192.168.1.y
ONBOOT=yes
/etc/init.d/network restart



/etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.x
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.y
/etc/init.d/networking restart

1.17.3. CONFIGURAO DAS ROTAS
A configurao de rotas necessria em um cenrio que possui sub-redes. Ela
serve para fazer com que uma rede consiga acessar outras ou at mesmo a Internet.
Para configurar rotas deve-se ter conscincia de alguns conceitos como rede
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
27
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 24
de alcance e roteador. O primeiro refere-se a rede de destino que se quer ter acesso
(rede interna ou a Internet) j o segundo conceito define a mquina que dar acesso
rede de alcance.
O comando route utilizado para trabalhar com rotas.
Visualizando rotas
route
Tabela de Roteamento IP do Kernel
Destino Roteador MscaraGen. Opes Mtrica Ref Uso Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default roteador.3waylocal.net.br 0.0.0.0 UG 0 0 0
eth0

Cada coluna da sada acima possui um significado. A primeira coluna
representa a rede de destino, a segunda o roteador para acesso rede de destino, a
terceira a mscara da rede de destino, a quarta informa se a rota est ativa (U), se o
alvo um host (H), um roteador (G), etc. A quinta coluna representa a mtrica
(metric), que a distncia at o alvo (geralmente contada em hops), a sexta o
nmero de referncias rota, a stima a contagem de procuras por essa rota e por
ltimo (oitava), qual a interface pelos quais os pacotes IP sero enviados.
Existem trs entradas na tabela de roteamento do kernel. Entretanto, as duas
primeiras so adicionadas pelo sistema, isto assim porque por padro cada interface
de rede exige uma rota. Para saber quais rotas foram adicionadas pelo sistema,
observe quais entradas tm um * na coluna referente ao Roteador.
A ltima entrada cuja primeira coluna est definido como default uma
rota padro que foi adicionado pelo administrador. No campo Roteador est definido
a mquina roteador.3waylocal.net.br. Quando o route executado sem
nenhuma opo o mesmo tentar apresentar o nome da mquina ao invs de seu
endereo IP e quando no possvel apresentar o nome, ele tenta at expirar o tempo
limite (timeout).

Adicionando rotas
route add -net 192.168.1.0/24 gw 192.168.1.1

Este comando adicionar uma rota para a rede 192.168.1.0/24 atravs do
roteador 192.168.1.1. A opo gw utilizada para atribuir o IP do roteador. O nmero
24 de 192.168.1.0/24 especifica a mscara de rede.

Removendo rotas
Para excluir uma rota, basta executar:
route del -net 192.168.1.0/24
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
28
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 25

necessrio especificar novamente a mscara, porm no necessrio
especificar o nmero IP do roteador.

Rotas estticas
O comando para adicionar rota deve ser executado toda vez que for
inicializada a mquina, portanto necessrio adicionar este comando nos scripts de
inicializao do sistema.

No CentOS/RHEL, pode ser criado o arquivo /etc/sysconfig/network-
scripts/route-eth0 que pode ser utilizado para adicionar uma rota esttica, deve-se,
portanto, inserir a seguinte linha: 192.168.1.0 via 192.168.1.1.
Aps a realizao da configurao, basta reiniciar o servio de rede:

/etc/init.d/network restart

No Debian/Ubuntu necessrio editar o arquivo /etc/network/interfaces com
entradas para adicionar e remover parecidas com as abaixo:

Adicionar
up route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

Remover
down route del -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

Aps a realizao da configurao, basta reiniciar o servio.

1.17.4. RESOLUO DE NOMES
O servidor de DNS definido no arquivo /etc/resolv.conf.
/etc/resolv.conf
nameserver 192.168.1.1
nameserver 200.242.140.5
1.18. INETD / XINETD
Inetd
O servio inetd considerado um super servio, pois ele controla vrios
outros servios. O inetd l entradas em um arquivo de configurao chamado
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
29
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 26
/etc/inetd.conf. Atravs deste arquivo o servio inetd tem controle sobre
demais servios.
importante o seu uso para servios que no precisam sempre estar
constantemente ouvindo requisies. Quem far isso o Inetd, que interceptar a
requisio e chamar o servio solicitado, poupando recursos do servidor.

/etc/inetd.conf
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
#telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
#
# Shell, login, exec, comsat and talk are BSD protocols.
#
#shell stream tcp nowait root /usr/sbin/tcpd in.rshd
#login stream tcp nowait root /usr/sbin/tcpd in.rlogind
#exec stream tcp nowait root /usr/sbin/tcpd in.rexecd
.
.
.
#imap stream tcp nowait root /usr/sbin/tcpd imapd
#

Para que o inetd inicie qualquer um dos servios definidos no arquivo, a linha
referente ao mesmo deve estar descomentada. Aps descoment-la, basta reiniciar o
Inetd.

Xinetd
O Xinetd foi escrito com o objetivo de ser um substituto avanado para o
Inetd. Verso recentes de distribuies GNU/Linux j o utilizam por padro no lugar
do Inetd, embora algumas ainda suportem ambos.

As principais caractersticas deste novo super servidor so:

Suporte nativo ao Tcp_wrappers;
Controle de acesso mais refinado;
Possui um arquivo principal de configurao que pode incluir
outros;
Informaes de log mais detalhadas;
Suporte a redirecionamento de servios.


Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
30
Todos os direitos reservados a 3Way Networks
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
31
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 27

O arquivo /etc/xinetd.conf responsvel pela configurao geral do
xinetd e no diretrio /etc/xinetd.d/ esto as configuraes especficas.
A diferena entre xinetd e o inetd que o primeiro possui um arquivo de
configurao para cada servio.


A configurao do servidor telnet pode ser feita usando o Xinetd da seguinte
maneira:

/etc/xinetd.d/telnetd
service telnet
{
disable = yes
flags = REUSE
socket_type = stream
protocol = tcp
wait = no
user = root
server = /etc/sbin/in.telnetd
log_on_failure += USERID
}

Parmetros do Xinetd
disable Indica se o servio est desabilitado (yes) ou habilitado (no).
flags Controla vrios parmetros. Podem estar acumulados.
socket_type
Aceita stream, dgram , raw e seqpacket. Normalmente
stream est relacionado a tcp e dgram para udp.
protocol
Protocolo vlido que deve estar presente em /etc/protocols.
Normalmente tcp ou udp.
wait
Se yes, indica servios single-threaded, dispara e espera o servio
terminar para lanar outras instncias ou outros servios. Se no, ele
no espera para lanar outras instncias/servios.
user Determina o usurio sob o qual o servio ser executado.
group Especifica o group pelo qual o servio ser executado.
server Indica o programa responsvel pelo servio.
server_args Especifica os argumentos do programa citado acima.
log_on_failure Determina quais informaes de erros vo compor o log de erros.
instances
Quantidade de instncias simultneas deste servio so permitidas. Por
padro no h limites.
access_times
Especifica o horrio em que conexes a este servio sero aceitas
(formato: hora:minuto-hora:minuto).
per_source Quantidades permitidas de conexes por IP.
cps
Forma de limitar a taxa de conexes. Usa dois argumentos. O primeiro
controla o nmero de conexes por segundo, e o segundo limita
quanto tempo o servio permanecer desativado se o primeiro
argumento for excedido.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
32
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 28
nice Valor de nice inicial para os processos.

1.19. UTILITRIOS DE REDES
1.19.1. HOST
Obtm informaes de mquinas pertencentes a um domnio ou sub-domnio.
Utiliza o servio de nomes como fonte de suas consultas.

Consulta Simples
host www.linux.org
www.linux.org is an alias for linux.org
linux.org has address 184.173.230.160
linux.org mail is handled by 0 linux.org

Transferncia de Zona
host -l linux.org

Consulta Detalhada
host -a www.registro.org

As opes -l e -a so respectivamente para fazer a transferncia de zona de
um domnio qualquer e para realizar uma consulta que contenha todas as opes
juntas. Para saber todas as opes deste e de todos os comandos, basta utilizar o
manual (comando man).
1.19.2. NETSTAT
Esta ferramenta utilizada tambm para obter informaes de rede, mais
precisamente para checar a configurao e atividade de uma rede.


Consulta da Tabela de Roteamento
netstat -nr
Tabela de Roteamento IP do Kernel
Destino Roteador MscaraGen. Opes MSS Janela irtt Iface
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
192.168.1.0 0.0.0.0 255.255.255.0 UH 0 0 0 eth0

netstat (parmetros)
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
33
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 29
-a Lista todas as portas em escuta ou no.
-t Lista portas tcp.
-u Lista portas udp.
-r Opo para mostrar a tabela de roteamento.
-n No faz resoluo de nomes, e sim, exibe os endereos IP.
-i Mostrar todas as interfaces presentes ou alguma especificada (--interface=iface).
-m Mostra a lista de todas as conexes mascaradas.
-s Exibe estatsticas divididas por cada protocolo.
-c Provoca a exibio contnua das informaes (por segundo).
-p Mostra o PID de cada processo.
-e Exibe informaes adicionais. Pode ser usada duplamente para mais informaes.

Mais opes sobre o utilitrio netstat podem ser vistas no manual do
comando atravs do comando man netstat.
1.19.3. TCPDUMP
Este utilitrio um farejador de conexes TCP/IP. O monitoramento atravs
da especificao da interface desejada: eth0, eth1, ppp0, etc. A sada do comando
o trfego de pacotes enviados e recebidos, endereos de origem, de destino e outras
informaes.

Monitorando todo trfego
tcpdump -i eth0

O tcpdump, devido ao sua capacidade de capturar os pacotes de um meio compartilhado,
pode ser utilizado para fins ilcitos, como capturar senhas no-criptografadas que trafegam na rede.
Mas tambm pode ser utilizado para fins lcitos, como ferramenta de anlise de protocolos.

Monitorando um host
tcpdump -i eth0 host maq1.3waylocal.net.br
Neste exemplo, apenas os pacotes enviados pelo maq1 ou a ele destinados
sero monitorados.

tcpdump -i eth0 src host maq1.3waylocal.net.br
Para monitorar somente os dados que esto sendo enviados por maq1
preciso utilizar o parmetro src.

Para monitorar apenas os pacotes que esto sendo enviados para maq1.
tcpdump -i eth0 dst host maq1.3waylocal.net.br
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
34
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 30

possvel monitorar pacotes que tenham passado por um gateway especfico,
definindo seu nome, como mostrado a seguir:
tcpdump -i eth0 gateway [roteador]

Para monitorar tantos pacotes UDP quanto os TCP que sejam endereados a
uma porta especfica, voc pode especificar o nmero da porta, como no exemplo
abaixo:
tcpdump -i eth1 host maq2.3waylocal.net.br and port 80

O tcpdump possui inmeras opes que podem ser utilizadas para o


monitoramento das conexes TCP/IP, para obter mais informaes consultar o
manual do comando.
1.19.4. TRACEROUTE
Este aplicativo indica por quais roteadores um pacote passou antes de atingir
seu destino. O exemplo abaixo mostra quantos roteadores existem a partir do
computador em que se executa o comando at o destino.

traceroute www.linuxdoc.org
traceroute to linuxdoc.org (152.19.254.81), 30 hops max, 40 byte packets
1 roteador (10.2.0.5) 0.872 ms 0.334 ms 0.320 ms
2 10.1.0.7 (10.1.0.7) 1.049 ms 0.815 ms 0.843 ms
3 ppp254-gnace7004.telebrasilia.net.br (200.163.76.254) 16.285 ms 18.032 ms 16.100 ms
4 200.193.193.193 (200.193.193.193) 16.884 ms 18.170 ms 16.307 ms
5 200.199.245.5 (200.199.245.5) 24.378 ms 26.340 ms 24.531 ms
6 200.193.234.1 (200.193.234.1) 26.033 ms 24.762 ms 24.778 ms
7 200.193.234.66 (200.193.234.66) 47.527 ms 49.635 ms 49.128 ms
8 BrT-G3-0.cta-border.telepar.net.br (200.163.207.129) 47.849 ms 50.174 ms 49.365 ms
9 brasiltelecom-A0-0-0-32-dist01.cta.embratel.net.br (200.250.208.57) 53.094 ms

Entre a fonte e o destino podem existir muitos roteadores pelos quais o pacote
atravessa antes de atingir seu destino. Muitos roteadores no respondem a ping,
tcnica utilizada para testar os roteadores, ento pode ocorrer de as respostas no
sarem na forma de milissegundos (ms), e sim, trs * (asteriscos).
1.19.5. NMAP
O comando nmap um scanner de portas, ou seja, ele mostra quais portas de
comunicao esto abertas.
Sintaxe do comando NMAP
nmap [opes] <endereo>
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
35
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 31
opes
-sS Scanner silencioso.
-sP Scanner de ping.
-sT Scanner tcp
-sU Scanner udp
endereo Endereo IP ou Hostname da mquina alvo.

O exemplo abaixo mostra quais so as portas (e servios) que esto


momentaneamente abertas na mquina local.

nmap 127.0.0.1
#Starting nmap V. 2.54BETA21 ( www.insecure.org/nmap/ )
Interesting ports on localhost.localdomain (127.0.0.1):
(The 1535 ports scanned but not shown below are in state: closed)
Port State Service
80/tcp open http
111/tcp open sunrpc
119/tcp open nntp
443/tcp open https
515/tcp open printer
878/tcp open unknown
6000/tcp open X11

Nmap run completed -- 1 IP address (1 host up) scanned in 1 second

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
36
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 32
1.20. LABORATRIO

Esse laboratrio tem o intuito promover a prtica sobre a configurao TCP/IP, Xinetd e
utilitrios de rede.

A) Preparar a mquina com as configuraes TCP/IP necessrias.

Hostname
hostname aluno1.3waylocal.com.br
vi /etc/sysconfig/network
HOSTNAME=aluno1.3waylocal.com.br

Interface de rede
ifconfig eth0 192.168.1.101 netmask 255.255.255.0 broadcast 192.168.1.255
up
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none"
IPADDR=192.168.1.101
NETMASK=255.255.255.0

Rotas
Normalmente as rotas so criadas automaticamente, incluindo a padro, mas se por acaso
isso no acontecer, podemos cri-la com o comando:
route add default gw 192.168.1.254

Resoluo de nomes
echo "nameserver 192.168.1.254" > /etc/resolv.conf

Desse ponto em diante, a mquina j possui conectividade na rede, j possvel navegar.

B) Configurar o servio imap no xinetd para acesso local e da rede 192.168.1.0/24 no
servidor de email e usando banner especfico para usurios bloqueados.

service imap
{
socket_type = stream
protocol = tcp
wait = no
user = root
only_from = 192.168.1.0 localhost
banner = /usr/local/etc/deny_banner
server = /usr/local/sbin/imapd
}

C) Testar alguns utilitrios de rede para extrair mais informaes da mesma.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
37
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 33

Resoluo de nomes
host www.3way.com.br

Conexes ativas
netstat -ano

Forjando conexes ICMP
tcpdump icmp

Traando a rota at um ponto
traceroute www.3way.com.br

Varredura de Portas
nmap -sS 192.168.1.101
nmap -sT 192.168.1.102
nmap -sU 192.168.1.103
nmap -sP -O 192.168.1.*
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
38
Todos os direitos reservados a 3Way Networks
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
39
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 34
1.21. EXERCCIOS

1) Tendo como base a rede 192.168.20.0/255.255.255.0, calcular:
a) Notao CIDR
b) Broadcast
c) Nmero de endereos disponveis para dispositivos

2) Considerando a rede 192.168.10.0/255.255.255.240, calcular os mesmo
itens do exerccio anterior.

3) Interpretar a tabela de roteamento abaixo, respondendo algumas
perguntas:
Destino Roteador MscaraGen. Opes Mtrica Ref Uso Iface
10.1.1.23 192.168.10.253 255.255.255.255 UGH 0 0 0 eth0
10.0.0.0 0.0.0.0 255.255.248.0 U 0 0 0 eth0
192.168.10.140 192.168.10.254 255.255.240.0 UG 0 0 0 eth0
127.0.0.1 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.10.1 0.0.0.0 UG 0 0 0 eth0
a) Se um pacote tiver o destino a 176.16.0.12 para qual roteador ele ser enviado?
b) E com destino 192.168.10.150?
c) Destino 10.1.1.23?

4) Converter os nmeros IP:
a) 10.20.30.40 em hexadecimal e binrio
b) 11100111.11100111.10000001.00001010 em decimal e hexadecimal
c) 0x11C4C040 em binrio e decimal

5) Por que os endereos IP foram divididos em classes? Quais so as
classes e como identificamos um nmero IP como pertencente a uma classe?

6) Qual a quantidade de endereos de classe A matematicamente possveis? E de
classe B e C?

7) Conceituar e da exemplos sobre os endereos especiais:
a) broadcast
b) rede
c) privado
d) localhost
e) rede padro (todas redes)

8) O que sub-rede? Qual a sua utilidade? Como criar uma sub-rede?

9) O que so portas TCP? Para que servem? Citar pelo menos 5 nmero de
portas com seus respectivos servios padres.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
40
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 35

10) O que uma rota? Qual o comando para se definir uma rota?

11) O que um DNS? Para que serve um DNS? Qual o endereo IP dos
hosts: www.3waylocal.net.br, www.globo.com, www.uol.com.br?

12) Para que servem os arquivos: /etc/protocols,
/etc/services, /etc/hosts?

13) O que FQDN? Qual a utilidade do comando hostname?

14) Para que serve o arquivo /etc/resolv.conf?

15) Qual a utilidade do servio inetd/Xinetd? Quando devemos utiliz-lo?


Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
41
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 36
2. SERVIDOR SSH
O OpenSSH uma implementao do protocolo SSH (Secure
SHell) para o Linux que possui o objetivo de criptografar sesses de
shell para mquinas remotas, mas pode ser usado para transferncia de
arquivos e criar tneis para outros protocolos.
2.1. INSTALAO E CONFIGURAO
A instalao do cliente e servidor OpenSSH feita atravs do comando:

yum install openssh openssh-server

Todos os arquivos de configurao se localizam na rvore /etc/ssh/. Os arquivos
ssh_config e sshd_config configuram, respectivamente, o cliente e o servidor SSH. Algumas
opes do servidor sero listadas a seguir:

Opes sshd_config
Port 22
Define a porta que o servidor espera conexes. O padro a 22.
Protocol 2
Indica qual a verso do protocolo o OpenSSH d suporte. O padro o 2, devido a
algumas falhas da verso 1.
PermitRootLogin yes
Habilita/Desabilita o login do usurio root. O padro yes, com a opo estando
comentada.


SSH Conecta remotamente a um host informado.
Sintaxe: ssh nome_de_usuario@ip_ou_nome_host ou ssh ip_ou_nome_host.

Exemplos
ssh user1@192.168.0.150
Conecta via ssh ao host 192.168.0.150 com o usurio user1 atravs da
porta padro de conexo.

Obs.: A senha do usurio user1 ser solicitada para completar a
conexo.
ssh 192.168.0.150
Tenta uma conexo ssh no host 192.168.0.150 com o usurio logado no
momento, caso ele no exista, exibir mensagem de erro.
ssh user2@maq1
Conecta via ssh ao host maq1 com o usurio user2 atravs da porta
padro de conexo. O nome maq1 deve resolvido localmente (/etc/hosts)
ou por um DNS, caso contrrio a conexo no ser completada.
ssh -p 1022 user2@maq1
Faz uma conexo ssh com user2 no host de nome maq1 atravs da porta
1022.

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
42
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 37
2.2. LABORATRIO
Este laboratrio tem o objetivo de mostrar e testar a configurao do servidor
SSH na mquina virtual.
Voc usar a mquina hospedeira para se conectar VM, configurar o
servidor e test-lo.
1) Antes de qualquer coisa, verifique a conectividade entre as duas mquinas
atravs de um ping. (vamos supor que a mquina hospedeira tem o endereo
192.168.0.103 e a mquina virtual 192.168.0.123)
Estando na hospedeira: ping 192.168.0.123
Estando na VM: ping 192.168.0.103
2) Se houver conectividade, conecte-se VM com o usurio root.
ssh root@192.168.0.123
3) Se o logon tiver sucesso, faa a seguinte configurao no servidor:
vi /etc/ssh/sshd_config
Port 41001
Protocol 2
PermitRootLogin no
Essas configuraes mudaram a porta de acesso ao servidor e o protocolo do
SSH (protocolo 2) e removeram a permisso do usurio root de se logar
remotamente.
4) Reinicie o servidor para que as alteraes passem a valer.
service sshd reload
5) Naturalmente espera-se que a conexo estabelecida com a VM caia, pois
afinal retiramos a permisso do usurio root de se conectar remotamente. Porm, as
alteraes comeam a valer somente para as novas conexes, precisando assim
finalizar os processos anteriores a essa configurao que acabamos de efetuar.
ps aux | grep sshd
kill -9 pid_da_conexao_ssh
6) A conexo cair instantaneamente, conecte-se novamente j com as novas
configuraes.
ssh -p 41001 user1@192.168.0.123


Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
43
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 38
2.3. EXERCCIOS
O que o openSSH?
Qual o comando utilizado para instal-lo (Cliente e Servidor)?
Qual o arquivo de configurao do servidor e do cliente openSSH?
Descreva as principais diretivas.
Explique com detalhes o que faz o comando abaixo:
ssh -p 41002 user1@192.168.0.103
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Siga-nos tambm no Twitter!
twitter.com/3waynet
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
45
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 39
3. SISTEMA DE NOMES DE DOMNIO

O Sistema de Nomes de Domnio (DNS) trata de um dos servios mais
fundamentais para o funcionamento da Internet. Ele traduz nomes de hosts em
nmeros IP e vice-versa.
3.1. SERVIOS DE NOMES - DNS
O DNS se enquadra nos principais servios de redes TCP/IP. A finalidade do
DNS converter nomes como www.registro.br em endereos IP como 200.160.2.3.
importante salientar que o DNS faz tambm a resoluo reversa, ou seja, converte
endereos IP para nomes.
Nos sistemas Linux existem duas tcnicas para fazer resolues, a primeira
forma atravs de uma tabela de hosts (/etc/hosts), a outra feita atravs da
consulta a um servidor de nomes (DNS). O DNS um banco de dados com
servidores distribudos e organizados de forma hierrquica, espalhados por toda
Internet; de forma que todo servidor de nomes tambm cliente de outro, pois caso
um no consiga resolver um nome (traduzir para um nmero IP), este consultar
outro e assim por diante.
O servidor de nomes padro na maioria das distribuies de Linux o
software named que est incluso no pacote BIND (Berkeley Internet Name Domain).
O pacote BIND, alm do servidor DNS, oferece tambm: biblioteca em linguagem C
para ser utilizada em clientes DNS chamada de biblioteca resolver, o utilitrio para
administrao rndc (remote name daemon control program) e os utilitrios nslookup
e host para consulta em servidores DNS.


Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
46
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 40

Resoluo de nomes

3.2. INSTALAO DO BIND
H basicamente duas formas que podem ser utilizadas para instalar um
sistema no Linux.

3.2.1. INSTALAO CDIGO FONTE
Deve-se baixar o cdigo fonte do programa, encontrado no site
http://www.isc.org, compilar e instalar. Geralmente estes programas vem
compactados e sero compilados atravs do comando make. Para cada programa
voc deve seguir as instrues dos arquivos README e INSTALL, que vem junto
com cdigo fonte.

Para instalar o BIND:

cp bind-9.x.x.tar.gz /usr/local/src
cd /usr/local/src
tar xvfz bind-9.x.x.tar.gz
cd bind-9.x.x
./configure --prefix=/usr/local/bind-9.x.x
make
make install
ln -s /usr/local/bind-9.x.x /usr/local/bind

O comando make compila o cdigo-fonte e o comando make install
instala os binrios compilados no diretrio indicados. O ln -s
/usr/local/bind-9.x.0 /usr/local/bind cria um link simblico
chamado /usr/local/bind; este procedimento pode tornar a sua instalao mais
verstil, pois caso seja necessrio atualizar o BIND, somente ser necessrio atualizar
o link para a verso mais nova.

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
47
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 41

Sempre que encontrar algum problema com a compilao e instalao, veja
o arquivos README e INSTALL que acompanham o pacote.

3.2.2. INSTALAO AUTOMATIZADA
Um pacote de instalao um conjunto de arquivos binrios provenientes do
cdigo-fonte compilado para uma plataforma especfica. Portanto, deve-se utilizar o
pacote especfico para cada sistema operacional. Outra alternativa usar ferramentas
de gerenciamento de pacotes como o YUM (para CentOS/RedHat) e APT (para
Debian/Ubuntu). Essas ferramentas gerenciam a principal desvantagem dos arquivos
binrios: as dependncias.


yum install bind



apt-get install bind9

3.3. HIERARQUIA DNS
O DNS se baseia em um banco de dados distribudo e hierrquico, onde as
informaes so distribudas em uma topologia em rvore invertida, onde o ponto de
partida para toda consulta de nomes denominado domnio raiz "." (suportado por
vrios servidores razes, ao todo so 13 atualmente). Nenhum servidor raiz responde
diretamente solicitao de resoluo de um endereo. Em vez disso, ele delega a
responsabilidade de resolver nomes para um outro servidor, delegando parte do
domnio (um sub-domnio).
Abaixo do domnio raiz h diversos Domnios de Alto Nvel (TLDs - Top
Level Domains), sendo os mais conhecidos: o org, net, com e edu (origem
americana); alguns domnios de fora dos Estados Unidos que denominam pases e
possuem somente duas letras: br (Brasil), ar (Argentina), de (Alemanha); entre
outros. Segue abaixo um diagrama desta hierarquia:

Curso Especialista em Redes


treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
48
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 42

Hierarquia DNS

3.3.1 HIERARQUIA DE CONSULTAS DNS
Vrios aplicativos so clientes DNS (navegadores, clientes FTP, ping, etc). Se
o endereo www.3way.com.br for solicitado pelo servio FTP, o DNS ir consultar
os servidores razes sobre o sub-domnio br., no caso este servidor o conhea, o
prximo passo encontrar o com.br., e assim por diante at atingir o servidor que
realmente tem a autoridade do sub-domnio para resolver seus endereos IP.

A figura abaixo ilustra o processo de resoluo de nomes para o endereo
www.3way.com.br.

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
49
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 43
Hierarquia de consultas DNS

Para simular a consulta que o DNS local faz com o servidor raiz, utiliza-se o comando
nslookup (que ser estudado detalhadamente mais adiante).

1) O servidor local consulta o servidor raiz;
2) O servidor raiz fornece o(s) servidor(es) responsvel(is) pelo domnio .br;

Dentro do prompt do nslookup define-se o servidor a ser consultado, este
ser um servidor raiz.

nslookup
Default Server: localhost
Address: 127.0.0.1
>

Por padro o nslookup utiliza como DNS configurado localmente
(/etc/resolv.conf) como consulta (Default Server), neste caso especfico o
prprio host (localhost) o DNS padro. Uma vez executado o nslookup, ele fica
aguardando comandos, indicado por um prompt (>).
Simulando o trajeto da figura, deve-se consultar primeiramente um servidor
raiz sobre o domnio br e, para isto, consulta-se o arquivo named.ca (arquivo
Hints), que instalado pelo prprio BIND e contm a lista de todos os root hints
(servidores raiz). O opo server define o servidor da consulta, neste caso
a.root-servers.net.

> server 198.41.0.4
Default Server: a.root-servers.net
Address: 198.41.0.4#53
>

A seguir define-se o tipo da consulta. Neste caso uma pesquisa de registros
NS (registros de servidores de nomes) para encontrar o servidor de nomes
autoritativo do domnio ".br".

> set type=ns


As verses mais antigas do BIND usavam a instruo set q=ns ao invs de
set type=ns.

Todos estes comandos devem ser executados dentro do prompt do nslookup.
O prximo comando pergunta pelos servidores responsveis pelo br.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
50
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 44

> br.
Server: a.root-servers.net
Address: 198.41.0.4

Authoritative answers can be found from:
br nameserver = NS.DNS.br
br nameserver = NS1.DNS.br
br nameserver = NS2.DNS.br
br nameserver = NS3.NIC.FR
br nameserver = NS-EXT.VIX.COM
NS.DNS.br internet address = 143.108.23.2
NS1.DNS.br internet address = 200.255.253.234
NS2.DNS.br internet address = 200.19.119.99
NS3.NIC.FR internet address = 192.134.0.49
NS-EXT.VIX.COM internet address = 204.152.184.64

A frase Authoritative answers can be found from indica
que as mquinas NS.DNS.br, NS1.DNS.br, NS2.DNS.br, NS3.NIC.FR, e
NS-EXT.VIX.COM so os servidores autorizados responsveis pelo domnio br.
Deve-se agora selecionar qualquer uma destas mquinas e prosseguir com a consulta
do prximo passo, fornecendo o nmero IP de um destes servidores de nomes.

> server 143.108.23.2
Default server: NS.DNS.br
Address: 143.108.23.2#53

Assim como foi feito para o domnio br., faremos a consulta para o domnio
com.br. Vejamos:

> com.br.
Server: NS.DNS.br
Address: 143.108.23.2#53

com.br nameserver = NS1.DNS.br.
com.br nameserver = NS2.DNS.br.
com.br nameserver = NS-EXT.VIX.COM.
com.br nameserver = NS.DNS.br.

A prpria mquina NS.DNS.br, alm de responder pelo domnio br. tambm responde
pelo domnio .com.br. Logo, podemos prosseguir a consulta usando o mesmo servidor definido
anteriormente, agora para o domnio 3way.com.br.:

> 3way.com.br.
Server: NS.DNS.br
Address: 143.108.23.2#53

Non-authoritative answer:
3way.com.br nameserver = intranet.3way.com.br.
3way.com.br nameserver = ns.3way.com.br.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
51
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 45

Authoritative answers can be found from:
intranet.3way.com.br internet address = 200.163.79.1
ns.3way.com.br internet address = 200.178.101.252

Descobrimos, neste caso, que o hospedeiro intranet.3way.com.br o servidor de


nomes primrio ( o primeiro da lista) pelo domnio 3way.com.br e seu endereo IP
200.163.79.1. Ainda existe outro hospedeiro responsvel pelo domnio 3way.com.br, que o
hospedeiro ns.3way.com.br,tambm denominada como o servidor secundrio do domnio
3way.com.br.
Prosseguindo com o processo, o prximo servidor o host intranet.3way.com.br
que ser definido como servidor de consulta:

> server 200.163.79.1
Default server: 200.163.79.1
Address: 200.163.79.1#53

Agora s falta consultar o servidor responsvel diretamente pelo domnio 3way.com.br
sobre o nome www.3way.com.br.

> www.3way.com.br
Server: 200.163.79.1
Address: 200.163.79.1#53

www.3way.com.br canonical name = intranet.3way.com.br.

O nome www.3way.com.br apenas um apelido (alias) para o nome cannico (real) do


hospedeiro intranet.3way.com.br, ou seja, ambas so a mesma mquina. Caso contrrio, o
comando retornaria simplesmente o endereo IP de www.3way.com.br.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
52
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 46
3.3.2. CACHE DE CONSULTAS

Sistema cache de consulta.

Um conceito tambm importante a ser compreendido, que o servidor de nomes armazena
todas as consultas realizadas em cache de memria por um perodo estipulado pelo fornecedor da
consulta. Este perodo denominado TTL (Time-To-Live, o qual ser visto mais adiante), de forma
que quando este tempo expira, a informao da consulta retirada do prprio cache. Assim, quando
o cliente necessita de uma informao, se o servidor de nomes j possui a consulta em cache, este
no ir consultar seus superiores na hierarquia. Assim evita-se consultar um servidor raiz ou outro
servidor acima na hierarquia em toda consulta.
3.4. O ARQUIVO NAMED.CA
Este arquivo contm uma lista de nomes de servidores razes, espalhados em
todo o mundo e usado pelo seu servidor DNS como ponto de partida de consulta.
fortemente recomendvel no editar ou modificar este arquivo, a no ser para
atualizar suas informaes que so raramente alteradas.
O local desse arquivo depende da distribuio ou de como o bind foi
instalado, mas no ser difcil encontr-lo. Normalmente ele estar em
/var/named/named.ca ou caso ele estiver em uma jaula chroot em
/var/named/chroot/var/named/named.ca.


/var/named/chroot/var/named/named.ca
; formerly NS.INTERNIC.NET
;
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
53
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 47
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
;
; formerly NS1.ISI.EDU
;
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
;
; formerly C.PSI.NET
;
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
;
; formerly TERP.UMD.EDU
;
. 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
;
; formerly NS.NASA.GOV
;
. 3600000 NS E.ROOT-SERVERS.NET.

;
. 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10

Este arquivo contm apenas registros de servidor de nome (NS) e de endereo


(A). Cada um destes registros NS identifica um Servidor de Nome (Name Server) para
o domnio raiz que dominado com um (.). O registro A define o endereo IP dos
Servidores de Nomes Razes.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
54
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 48
3.5. CONFIGURANDO O CLIENTE DNS

Utilizao da biblioteca resolver na resoluo de nomes.

O pacote BIND fornece uma biblioteca chamada resolver, que
considerada o cliente DNS, pois atravs dela que vrios programas fazem suas
operaes de resoluo de nome para nmero IP e vice-versa. A configurao do
cliente resume-se em definir o endereo do servidor DNS que far a resoluo das
consultas.
3.5.1. DEFINIR O SERVIDOR DE DNS
Para definir o servidor a ser consultado, deve-se editar o arquivo
/etc/resolv.conf. Vejamos um exemplo do arquivo /etc/resolv.conf:

/etc/resolv.conf
search 3waylocal.net.br
nameserver 192.168.1.101
nameserver 192.168.1.102

A opo search seu domnio de pesquisa padro, ou seja, ao entrar com o host maq10 com
o telnet (WHOQHW PDT) ser a mesma coisa que utilizar maq10.3waylocal.net.br. O parmetro
nameserver define o endereo IP do servidor de nomes que a mquina ir utilizar para fazer
consultas.
Caso a prpria mquina for um servidor DNS e quisssemos us-lo para
consultas, bastaria entrar com o endereo IP da mquina local ou ip de loopback no
arquivo /etc/resolv.conf:
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
55
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 49

/etc/resolv.conf
search 3waylocal.net.br
nameserver 127.0.0.1

Para obter o IP do servidor de nomes de um determinado domnio, digitar:



host -l dominio.com.br


Para saber mais informaes sobre o utilitrio host, basta consultar o
manual do comando host. Ex.: man host

3.5.2. DEFINIR A ORDEM DE CONSULTA
Existem dois mtodos de resolues de nomes: o arquivo /etc/hosts e o
DNS. A definio da ordem de quais sero utilizados est no arquivo
/etc/nsswitch.conf e em verses mais antigas /etc/host.conf.

/etc/nsswitch.conf
hosts: files dns

A diretiva hosts define a ordem de consulta, que neste caso primeiramente ser feito a
consulta no arquivo (/etc/hosts) para somente depois consultar o DNS (bind) no caso do arquivo
no consiga resolver o nome.

/etc/host.conf
order hosts,bind
multi on

No /etc/host.conf, a opo multi on permite que uma mesma mquina tenha
mltiplos endereos IPs (o DNS por padro j suporta esta opo).
3.6. ZONAS E DOMNIOS
No estudo de servidores de domnio surge o termo zona (zone) que
comumente confundida com o termo domnio (domain).

Domnio
Define um espao de nomes onde encontra-se vrias zonas.

Zona
definida como uma regio de um domnio, pode ser entendida como um sub-domnio.
Por exemplo o domnio .br tem uma possvel zona chamada com.br, enquanto esta zona pode ser
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
56
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 50
um domnio para outras possveis zonas como: 3way.com.br ou teste.com.br.


Entendendo Zona e Domnio

Domnio e sub-domnio (zona) faz analogia com diretrio e sub-diretrio
quando refere-se a sistemas de arquivo.
3.7. SERVIDORES DNS
Existem basicamente trs tipos de servidores DNS: o servidor caching
(caching-server), o servidor primrio (master server) e o servidor secundrio (slave
server).

Servidor caching
Definido como um servidor que guarda em cache consultas que j foram
anteriormente solicitadas, no sendo responsvel por nenhuma zona, de forma a
melhorar a performance da resoluo de nomes.

Servidor Primrio
um servidor autorizado (que tem autoridade sobre uma zona), ou seja, que
mantm a base de dados de uma determinada zona. Este servidor alm de fazer
consultas a servidores razes tambm consultado por outros servidores DNS como
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
57
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 51
responsvel pela zona em que foi delegada.

Servidor Secundrio
Este servidor definido como uma cpia do servidor primrio. utilizado
pelos clientes quando o servidor master, por algum motivo, parar de funcionar.


Trs tipos de servidores DNS.

Cinco arquivos diferentes so necessrios para a configurao do named.
Todas as configuraes requerem estes trs arquivos bsicos: named.conf, named.ca,
named.local e os arquivos de zona e zona reversa.

named.conf
o arquivo de configurao principal. Define parmetros bsicos e aponta
para as fontes de informao do banco de dados do domnio (arquivos locais ou
servidores remotos). Os arquivos hints e localhost reverso (named.ca e named.local,
respectivamente) que vo ser citados a seguir so exemplos de arquivos de banco de
dados.

named.ca
Fornece os nomes e endereos dos servidores de nomes razes (root servers).

named.local
o arquivo localhost reverso. Por padro o arquivo /etc/hosts, s tem uma
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
59
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 52
entrada para indicar que o nome localhost ou localhost.localdomain refere-se ao IP
127.0.0.1. Este arquivo indicando que o IP 127.0.0.1 refere-se ao nome localhost.

Arquivo de zona
usado para mapear os nomes de hosts para endereos IP, para identificar
servidores de mensagem e para fornecer uma variedade de outras informaes de
domnio.

Arquivo de zona reversa
Este arquivo utilizado para mapear endereos IPs para nomes de hosts. Ele
faz o servio contrrio ao arquivo zone.
3.8. SERVIDOR DE CACHE
A instalao do servidor cache se d com a instalao dos seguintes pacotes: bind-libs,
bind-utils e bind.



yum install bind bind-utils bind-libs caching-nameserver



apt-get install bind9 bind9-docs dnsutils


Este tipo de servidor necessita de trs arquivos de configurao: named.conf, named.ca e
named.local. Os procedimentos para configurao esto descritos abaixo:

Especificar o diretrio para o ambiente chroot (/var/named/chroot) na varivel
ROOTDIR do arquivo /etc/sysconfig/named.

/etc/sysconfig/named
ROOTDIR=/var/named/chroot

Fazer uma cpia do arquivo /etc/named.caching-nameserver.conf com nome
named.conf no o diretrio etc do ambiente chroot (/var/named/chroot/var/named) e
mudar a propriedade desse arquivo para root.named. Agora s criar um link
simblico para o /etc.

cp /etc/named.caching-nameserver.conf /var/named/chroot/etc/named.conf
chgrp .named /var/named/chroot/etc/named.conf
ln sf /var/named/chroot/etc/named.conf /etc/named.conf
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
60
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 53

Iniciar o servio.

/etc/init.d/named start

named.conf
O arquivo named.conf tem uma sintaxe baseada em sentenas (statements), com opes
para cada sentena em um bloco delimitado por chaves ({}). Cada opo tambm tem uma sintaxe
especfica para determinar seus argumentos. Os arquivos de configurao do BIND, suporta
comentrios em bloco, no estilo C++ (/* comentrio */); comentrios de linha, no estilo C++ (//
comentrio); comentrios no estilo perl ou bash (# comentrio); e finalmente, comentrios de linha
utilizando-se ponto-e-vrgula no incio do comentrio (; comentrio). Veja como a estrutura deste
arquivo:


/* Este um bloco de comentrio,
estilo C++ */
<sentena1> <argumentos_sentena1> {
// Isto tambm um comentrio, mas de somente uma linha. Estilo C++
<opo1> <argumentos1>;
<opo2> <argumentos2>;
};

<sentena2> <argumentos_sentena2> { ; isto tambm um comentrio
# esta tambm outra opo de comentrio. Estilo bash ou perl.
<opo1> <argumentos1>;
<opo2> <argumentos2>;
}

Abaixo temos um exemplo concreto:
/etc/named.conf
options {
listen-on port 53 { 127.0.0.1; IP_DA_INTERFACE; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; };
allow-query-cache { localhost; };
};
acl local_nets {
ENDEREO_DA_REDE_LOCAL;
};
view localhost_resolver {
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
include "/etc/named.rfc1912.zones";
};
view rede_local
{
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
61
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 54
match-clients { localhost; local_nets; };
allow-query { localhost; local_nets; };
allow-query-cache { localhost; local_nets; };
allow-recursion { localhost; local_nets; };
include "/etc/named.rfc1912.zones";
};

As nicas mudanas na configurao do named.conf a serem feitas so na
diretiva listen-on para especificar o endereo IP da interface de rede que receber as
requisies, a criao da view rede_local habilitando a rede local a fazer consultas e
a acl local_nets para especificar quais sero as redes locais a serem configuradas.
Aps essas configuraes deve-se inicializar o servio de DNS.

/etc/init.d/named start

O servidor j est atendendo s solicitaes dos clientes configurados. Pode-
se definir, para efeitos de teste, o prprio servidor como cliente de si mesmo no
/etc/resolv.conf.

/etc/resolv.conf
search 3waylocal.net.br
nameserver 127.0.0.1

Para testar o servidor basta executar o comando abaixo:

nslookup
Default Server: localhost
Address: 127.0.0.1
> www.ufg.br
Server: localhost
Address: 127.0.0.1

Name: www.ufg.br
Address: 200.137.221.67

O servidor de cache retornou corretamente o endereo que foi solicitado e isso ocorrer
para qualquer endereo vlido na Internet, pois este consultar os servidores razes, e estes, por sua
vez, consultaro os servidores de nvel mais abaixo na hierarquia at chegar nos responsveis por
determinado domnio. No entanto, ele no ser capaz de resolver nomes da rede local.
Para resolver esse tipo de consulta, ser precisar criar um servidor primrrio que
responda por essa rede.
3.9. SERVIDOR PRIMRIO
A configurao do servidor primrio ser feita em uma mquina cujo
hostname ser ns1.3waylocal.net.br. O arquivo /etc/named.conf desta
mquina dever ser semelhante ao que est logo abaixo.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
62
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 55


/etc/named.conf
options {
listen-on port 53 { 127.0.0.1; IP_DA_INTERFACE; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; };
allow-query-cache { localhost; };

};
acl local_nets {
ENDEREO_DA_REDE_LOCAL;
};
view localhost_resolver {
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
include "/etc/named.rfc1912.zones";
zone "DOMINIO_A_SER_IMPLEMENTADO"
{
type master;
file "NOME_ARQUIVO_DE_ZONA";
allow-transfer { none; };
};
zone "ENDEREO_INVERSO_DE_REDE-SEM_PARTE_DE_HOST.in-addr.arpa"
{
type master;
file "ENDEREO_INVERSO_DE_REDE-SEM_PARTE_DE_HOST.in-addr.arpa";
allow-transfer { none; };
};
};
view rede_local
{
match-clients { localhost; local_nets; };
allow-query { localhost; local_nets; };
allow-query-cache { localhost; local_nets; };
allow-recursion { localhost; local_nets; };
include "/etc/named.rfc1912.zones";
zone "DOMINIO_A_SER_IMPLEMENTADO"
{
type master;
file "3waylocal.net.br.direto";
allow-transfer { none; };
};
zone "ENDEREO_INVERSO_DE_REDE-SEM_PARTE_DE_HOST.in-addr.arpa"
{
type master;
file "ENDEREO_INVERSO_DE_REDE-SEM_PARTE_DE_HOST.in-addr.arpa";
allow-transfer { none; };
};
};


Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
63
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 56
Nesta nova configurao do arquivo surgem as zonas
dominio_a_ser_implementado e a endereo_inverso_de_rede-
sem_parte_de_host.in-addr.arpa. Pode-se observar a ocorrncia da instruo file
que define o arquivo da base de dados de domnio. Nesta base de dados encontram-se
os RRs (Registros de Recursos) do DNS que definem servidores de nomes, endereo
IP de hosts, etc. Esses registros so usados quando se cria os arquivos de banco de
dados, tanto primrio quanto secundrio.
3.9.1 REGISTROS DE RECURSOS
Registros de Recursos so tambm conhecidos e abreviados por RR.

Formato:
[name] [ttl] IN type data

Onde:
name
Identifica o objeto de domnio afetado por este registro. Pode ser um host individual ou
domnio inteiro.
ttl
Este campo chamado de time-to-live, que define a durao em segundos que este
registro de recurso deve ser mantido em memria (cache) por outros servidores DNS externos que
fizerem consultas no servidor. Um valor TTL baixo adequado para RRs com maior freqncia de
mudana. TTL muito baixo gera um aumento de trfego para o servidor.


Alguns servidores definem alguns valores TTL como zero, para que
servidores externos no armazenem em cache. Um valor de 43200 (12
horas) mantm a consulta realizada em cache por 43200 segundos at a sua
expirao.

class
Existem trs valores possveis para este campo: IN, HS, CH. Atualmente utilizado apenas
o IN que caracterstico de redes TCP/IP e servidores Internet. Os outros dois possveis so padres
antigos de redes.
type
Este campo define o tipo do registro fonte. Veja abaixo os mais comuns.

Nome do Registro Tipo Descrio


Incio de Autoridade
[Start Of Authority]
SOA Marca o comeo dos dados de zona e define parmetros globais
Servidor de Nomes e Domnio
[Name Server]
NS Identifica um servidor de nomes autorizado.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
64
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 57
Nome do Registro Tipo Descrio
Endereo [Address] A Converte nome de hospedeiro - host - para endereo IP
Ponteiro [Pointer] PTR Converte endereo IP para um nome de hospedeiro-host.
Mail Exchanger [Repassador de email] MX Identifica o servidor de email para este domnio

data
Este ltimo campo no registro de recurso o campo de dados, o mesmo comporta os dados
que so especficos para cada tipo de registro de recurso, ou seja, cada formato e dado deste campo
diferente para cada tipo de registro, exemplo: em um tipo de registro A o campo data deve conter
o endereo IP.
3.9.2 O ARQUIVO DE RR
O RR (Registro de Recurso) o identificador de cada registro. Dentre outras
coisas, sua principal finalidade converter nomes de hosts em endereos IP. Dando
continuidade ao exemplo, na mquina maq1, que ser o servidor basta executar os
passos abaixo.

Crie o arquivo com nome referente a instruo file que est na zona
3waylocal.net.br. Logo o arquivo deve ser criado no diretrio /var/named/ (ou a
esse diretrio relativo jaula) e deve conter o nome
3waylocal.net.br.direto.

$TTL 43200
@ IN SOA 3waylocal.net.br. root.3waylocal.net.br. (
2012011702 ; serial
3600 ; refresh
900 ; retry
1209600 ; expire
43200 ; default_ttl
)
@ IN MX 10 maq1.3waylocal.net.br.
@ IN NS maq1.3waylocal.net.br.
@ IN NS maq2.3waylocal.net.br.
maq1 IN A 192.168.1.101
maq2 IN A 192.168.1.102
maq3 IN A 192.168.1.103
maq4 IN A 192.168.1.104
maq5 IN A 192.168.1.105
maq6 IN A 192.168.1.106
maq7 IN A 192.168.1.107
www IN CNAME maq1
ns1 IN CNAME ns1

Nas verses mais recentes do BIND, foi acrescentado a possibilidade de se
declarar diretivas. As diretivas so de sintaxe $DIRETIVA <valor> e so declaradas
na primeira linha do arquivo de zona. Na primeira linha temos como primeiro caso o
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
65
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 58
parmetro $TTL 43200. Esta entrada define o tempo de vida padro para os registro
de recursos que vierem definidos no arquivo. Em seguida teremos os registro de
recursos, na sintaxe definida anteriormente.

Registro SOA
Esse registro define informaes sobre a autoridade. O parmetro @ faz
referncia ao domnio da zona definido no arquivo /etc/named.conf, ou seja, ele se
refere ao domnio 3waylocal.net.br. Outro parmetro desta linha define o inicio de
autoridade - SOA -, o nome de mquina maq1.3waylocal.net.br define o servidor
que tem Autoridade sobre a zona. J root.3waylocal.net.br define o endereo de e-
mail da pessoa responsvel por este domnio, neste arquivo o @ do email
substitudo um (.), pois como visto, o @ tem outra finalidade.

Em seguida tem-se:
2012011702
Este o nmero serial que diz ao servidor secundrio (slave) se este arquivo de registro
de recurso foi atualizado. Toda vez que o DNS for atualizado, deve-se alterar este nmero para um
nmero maior para que seja detectada pelo secundrio que houve alterao, ento a atualizao
ocorrer dinamicamente. No existe uma regra para edio desse nmero, na verdade existem
algumas prticas mais difundidas. O exemplo acima representa 2012 (ano), 01 (Janeiro), 17 (dia) e
02 (segunda edio do dia). Porm possvel tambm iniciar com o nmero 1 e simplesmente
increment-lo em uma unidade toda vez que for feita uma alterao.

3600
Este o perodo em segundos que o secundrio verifica o serial e consequentemente faz a
atualizao.

900
Este o ciclo de tentativas. O ciclo de tentativas determina o tempo que o servidor slave
deve esperar por uma nova solicitao quando o servidor primrio falhar na resposta de um registro
SOA.

1209600
Este o tempo limite, o perodo em segundos que o servidor secundrio deve continuar
respondendo mesmo que no consiga atualizar o arquivo zone, ou seja, mesmo que o servidor
mestre no esteja respondendo.

43200
Define o tempo de vida (time-to-live) em segundos que outro servidor de nomes ir
armazenar em cache a informao de uma consulta de domnio no existente (no such domain
NXDOMAIN).

Registro NS - definindo servidores de nome
O RR NS define os servidores de nome oficiais para o domnio. Neste exemplo
encontramos dois servidores de nome. O primeiro nome, maq1 o servidor de nomes primrio e
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
66
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 59
maq2.3waylocal.net.br o secundrio.

Registro MX - definindo Servidores de Mensagens
O RR MX define os servidores de mensagens para este domnio. Neste caso a mquina
maq1 tambm o servidor de mensagens. Os registros MX redirecionam mensagens endereadas
para o domnio 3waylocal.net.br. A ttulo de ilustrao, todo e-mail enviado para
treinamento@3waylocal.net.br ser recebido pela mquina maq1 e pode ser repassado de acordo
com a configurao do servidor de mensagens para outros hosts. O nmero existente aps MX
define a prioridade do servidor de email. Quanto menor for o nmero, maior ser a prioridade do
servidor.

Registro A - Definindo os hosts e seus IPs
Acima de todas as funes o objetivo final deste arquivo mapear nomes para endereos
IP. Tem-se um exemplo das prximas linhas do arquivo:

maq1 IN A 192.168.1.101

Podemos traduzir esta linha para: Mquina maq1 em rede TCP/IP possui endereo IP
192.168.1.101.

Registro CNAME
Este registro utilizado para atribuir apelidos (aliases) para um host. CNAME indica qual
o nome cannico para um alias. Nome cannico o nome real da mquina. Deve-se notar que um
nome cannico sempre tem um registro A associado para definir o seu endereo IP, portanto um
registro CNAME sempre acompanhado de um host que teve seu nmero IP referenciado por um
registro A, nunca outro alias.
3.10. ARQUIVO DA ZONA REVERSA
Assim como o DNS capaz de converter nomes para endereo IP, o DNS
tambm capaz de converter nmeros IP para nomes. Alguns servios, como por
exemplo o ftp, utilizada a resoluo reversa para registrar o nome do host cliente ftp
em vez de seu nmero ip em seu histrico (log) .
Para que o DNS fornea este servio precisamos criar o arquivo da base de
dados da zona reversa. Antes disto, devemos criar uma zona reversa no arquivo
/etc/named.conf e posteriormente criar o arquivo de banco de dados.


A zona reversa j foi criada com nome de 1.168.192.in-addr.arpa. Esse
tambm o arquivo da base de dados definido para esta zona, seu o nome
1.168.192.in-addr.arpa.reverso, embora possa ser utilizado qualquer
outro nome.

Atravs do arquivo named.conf e da zona definida no exemplo, deve-se
criar este arquivo dentro do diretrio /var/named, o arquivo dever ter o nome
0.168.192.in-addr.arpa.reverso. Segue abaixo a configurao deste
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
67
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 60
arquivo:

$TTL 43200
@ IN SOA 3waylocal.net.br. root.3waylocal.net.br. (
2012011702 ; serial
3600 ; refresh
900 ; retry
1209600 ; expire
43200 ; default_ttl
)
@ IN NS maq1.3waylocal.net.br.
101 IN PTR maq1.3waylocal.net.br.
102 IN PTR maq2.3waylocal.net.br.
103 IN PTR maq3.3waylocal.net.br.
104 IN PTR maq4.3waylocal.net.br.
105 IN PTR maq5.3waylocal.net.br.
106 IN PTR maq6.3waylocal.net.br.
107 IN PTR maq7.3waylocal.net.br.

O arquivo da base de dados da zona reversa tambm possui um registro SOA
e um NS, geralmente os mesmos parmetros utilizados no arquivo de banco de dados
de zona. A finalidade da resoluo reversa se obter o nome cannico de um host,
baseado em IP. Para isto utiliza-se o registro de recurso PTR, que associa um
endereo IP a um nome de host. O endereamento reverso utiliza um domnio fictcio
convencionado como in-addr.arpa e um nmero IP na forma reversa.

Depois de feito todo esse procedimento, basta reiniciar o servio.



/etc/init.d/named restart



/etc/init.d/bind9 restart


Durante e at depois inicializar o named, interessante verificar possveis
erros. Isso pode ser feito verificando o arquivo de logs principal.

tail -n20 /var/log/messages
Jan 17 16:02:10 maq1 named[848]: master zone "3waylocal.net.br" (IN) loaded
(serial 2012011702)
Jan 17 16:02:10 maq1 named[848]: Zone "0.168.192.in-addr.arpa" (file
0.168.192.in-addr.arpa.reverso): No default TTL set using SOA minimum instead
Jan 17 16:02:10 maq1 named[848]: master zone "0.168.192.in-addr.arpa" (IN) loaded
(serial 2012011702)
Jan 17 16:02:10 maq1 named[848]: listening on [127.0.0.1].53 (lo)
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
68
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 61
Jan 17 16:02:10 maq1 named[848]: listening on [192.168.1.101].53 (eth0)
Jan 17 16:02:10 maq1 named[848]: Forwarding source address is [0.0.0.0].1024
Jan 17 16:02:10 maq1 named[849]: group = named
Jan 17 16:02:10 maq1 named[849]: user = named
Jan 17 16:02:10 maq1 named[849]: Ready to answer queries.
Jan 17 16:02:10 maq1 named: named startup succeeded

Caso a sada do comando no registre nenhum erro a configurao est
correta.

O arquivo /etc/resolv.conf do servidor deve ficar com a seguinte
configurao:

/etc/resolv.conf
search 3waylocal.net.br
nameserver 127.0.0.1

search 3waylocal.net.br
Este parmetro utilizado quando se digitar apenas o nome da mquina, o domnio
3waylocal.net.br ser automaticamente acrescentado.

nameserver 127.0.0.1
Indica a utilizao do endereo 127.0.0.1 para que o servidor utilize seu prprio
endereo. Nas mquinas clientes devem ser colocados o endereo IP do servidor.
3.11. FERRAMENTAS DE TESTE
3.11.1. NSLOOKUP
Para verificar o funcionamento do servidor DNS interessante usar o
utilitrio nslookup, que faz pesquisas interativas e no-interativas em servidores
DNS.

Sintaxe:
nslookup [-opes ... ] [host_a_ser_encontrado | -[servidor ] ]
Exemplo:
nslookup
Default Server: localhost
Address: 127.0.0.1

> maq1.3waylocal.net.br
Server: localhost
Address: 127.0.0.1

Name: maq1.3waylocal.net.br
Address: 192.168.1.101

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
69
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 62
Para conhecer as opes do comando interessante ler o manual do comando:
man nslookup
3.11.2. DIG
O DIG um utilitrio para consultas a DNS. Ele utilizado para identificar problemas de
DNS, pois de fcil utilizao e o retorno das pesquisas bem compreensvel.

Sintaxe:
dig @servidor dominio_a_ser_consultado tipo_consulta

Exemplo:
dig @192.168.1.101 www.ufg.br A
Vale a pena consultar no manual do comando a procura de mais tipos de consultas, pois
eles que vo dar a qualidade nas respostas.
man dig
3.12. SERVIDOR SECUNDRIO
Este tipo de servidor considerado tambm um servidor autoritativo, pois tem
um completo banco de dados de domnio que ele transfere do servidor primrio.

O servidor primrio extrai seus dados diretamente de seus arquivos de registro
de banco de dados (arquivos locais), enquanto o servidor secundrio carrega os dados
por meio de outro servidor DNS, atravs de um processo chamado de transferncia de
zona.

A grande vantagem de utilizar o servidor secundrio a manuteno do
servidor. Com o servidor secundrio voc precisa manter a informao atualizada
apenas no servidor primrio, pois o servidor secundrio faz uma transferncia de zona
do servidor primrio. Alterando o servidor primrio esta configurao ser refletida
consequentemente no servidor secundrio, assim a manuteno totalmente
centralizada no servidor primrio.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
70
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 63

Servidor secundrio interagindo com o primrio

Para configurar o named.conf do servidor escravo, voc pode partir do
servidor de cache e adicionar mais duas zonas.
Partindo-se do servidor de cache todas as alteraes esto em negrito, ou seja,
as que devem ser alteradas ou adicionadas.

/etc/named.conf
options {
listen-on port 53 { 127.0.0.1; IP_DA_INTERFACE; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; };
allow-query-cache { localhost; };

};
acl local_nets
{
ENDEREO_DA_REDE_LOCAL;
};
view localhost_resolver {
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
include "/etc/named.rfc1912.zones";
zone "DOMINIO_A_SER_IMPLEMENTADO"
{
type slave;
file "slaves/NOME_ARQUIVO_DE_ZONA";
masters { ENDEREO_DO_PRIMARIO; };
};
zone "ENDEREO_INVERSO_DE_REDE-SEM_PARTE_DE_HOST.arpa"
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
71
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 64
{
type slave;
file "slaves/ENDEREO_INVERSO_DE_REDE-SEM_PARTE_DE_HOST.in-
addr.arpa";
masters { ENDEREO_DO_PRIMARIO; };
};
};
view interna
{
match-clients { localhost; local_nets; };
allow-query { localhost; local_nets; };
allow-query-cache { localhost; local_nets; };
allow-recursion { localhost; local_nets; };
include "/etc/named.rfc1912.zones";
zone "DOMINIO_A_SER_IMPLEMENTADO"
{
type slave;
file "slaves/NOME_ARQUIVO_DE_ZONA";
masters { ENDEREO_DO_PRIMARIO; };
};
zone "ENDEREO_INVERSO_DE_REDE-SEM_PARTE_DE_HOST-addr.arpa"
{
type slave;
file "slaves/ENDEREO_INVERSO_DE_REDE-SEM_PARTE_DE_HOST.in-
addr.arpa";
masters { ENDEREO_DO_PRIMARIO; };
};
};

importante ressaltar que o servidor primrio tambm deve sofrer alteraes


que permitam que os secundrios realizem transferncias de zona. Isso feito
inserindo-se os endereos IP dos servidores secundrios na diretiva allow-
transfer do primrio. Agora s reiniciar o servidor.

HWFLQLWGQDPHGUHVWDUW

importante verificar os logs, como foi dito anteriormente, a procura da


causa de eventuais erros. Na maioria absoluta dos casos possvel identific-los.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
73
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 65
3.15. LABORATRIO

Essa prtica tem como objetivo implementar uma estrutura de servidores DNS (primrio e
secundrio) para o domnio 3wayteste.net. Siga os passos a seguir pra concluir essa atividade.

Antes de iniciar ser preciso mudar o hostname na sesso atual (com o comando hostname), em
/etc/sysconfig/network e /etc/hosts, para finalizar editar o resolver para o prprio servidor
no /etc/resolv.conf.

hostname maq1.3wayteste.net
/etc/sysconfig/network
HOSTNAME=maq1.3wayteste.net
/etc/hosts
127.0.0.1 maq13wayteste.net maq1 localhost.localdomain localhost
/etc/resolv.conf
search 3wayteste.net
nameserver 127.0.0.1
/etc/nsswitch.conf
hosts: dns files

A) Instalao dos pacotes necessrios implementao (servidor primrio e secundrio).

yum install bind bind-libs bind-utils caching-nameserver
B) Configurar o dns incluindo uma view interna para que as mquinas da rede local
possam utilizar o servidor DNS.
/etc/named.conf
options {
listen-on port 53 { 127.0.0.1; IP_DA_INTERFACE; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; };
allow-query-cache { localhost; };

};
acl local_nets
{
192.168.1.0/24;
};
view localhost_resolver {
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
include "/etc/named.rfc1912.zones";
zone "3waynet.net"
{
type master;
file "3waynet.net.direto";
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
74
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 66
};
zone "ENDEREO_INVERSO_DE_REDE-SEM_PARTE_DE_HOST-addr.arpa"
{
type master;
file "1.168.192.in-addr.arpa";
};
};
view interna
{
match-clients { localhost; local_nets; };
allow-query { localhost; local_nets; };
allow-query-cache { localhost; local_nets; };
allow-recursion { localhost; local_nets; };
include "/etc/named.rfc1912.zones";
zone "3waynet.net"
{
type master;
file "3waynet.net.direto";
};
zone "ENDEREO_INVERSO_DE_REDE-SEM_PARTE_DE_HOST-addr.arpa"
{
type master;
file "1.168.192.in-addr.arpa";
};
};
C) Inicie o servidor caching.
/etc/init.d/named start
D) Partindo-se da configurao da configurao de caching podemos iniciar a configurao do
servidor primrio. Mas para isso, adapte o named.conf como o exposto abaixo.

/etc/named.conf
...
view localhost_resolver {
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
include "/etc/named.rfc1912.zones";
zone "3wayteste.net"
{
type master;
file "3wayteste.net.direto";
};
zone "1.168.192.in-addr.arpa"
{
type master;
file "1.168.192.in-addr.arpa";
};
};
view interna
{
match-clients { localhost; local_nets; };
allow-query { localhost; local_nets; };
allow-query-cache { localhost; local_nets; };
allow-recursion { localhost; local_nets; };
include "/etc/named.rfc1912.zones";
zone "3wayteste.net"
{
type master;
file "3wayteste.net.direto";
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
75
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 67
};
zone "1.168.192.in-addr.arpa"
{
type master;
file "1.168.192.in-addr.arpa";
};
};
E) Em seguida crie os arquivos de zona do servidor primrio.
/var/named/3wayteste.net.direto
$TTL 43200
@ IN SOA 3wayteste.net. webmaster.3wayteste.net. (
2012012201 ; serial
3600 ; refresh
900 ; retry
1209600 ; expire
43200 ; default_ttl
)
@ IN MX 5 maq1.3wayteste.net.
@ IN NS maq1.3wayteste.net.
@ IN NS maq2.3wayteste.net.
maq1 IN A 192.168.1.101
maq2 IN A 192.168.1.102
maq3 IN A 192.168.1.103
maq4 IN A 192.168.1.104
www IN CNAME maq1
ns1 IN CNAME maq1
mail IN CNAME maq1
ns2 IN CNAME maq2


/var/named/1.168.192.in-addr.arpa
$TTL 43200
@ IN SOA 3wayteste.net. webmaster.3wayteste.net. (
2012012201 ; serial
3600 ; refresh
900 ; retry
1209600 ; expire
43200 ; default_ttl
)
@ IN NS maq1.3wayteste.net.
101 IN PTR maq1.3wayteste.net.
102 IN PTR maq2.3wayteste.net.
103 IN PTR maq3.3wayteste.net.
104 IN PTR maq4.3wayteste.net.
F) At este ponto j podemos reiniciar o servidor de nomes para verificar o funcionamento.
/etc/init.d/named restart
G) Caso no ocorra nenhum erro de implementao, os testes podem ser feitos localmente ou a
partir de outras mquinas.
Local
Tendo como certa as configuraes do item anterior. Teste a conectividade com quaisquer mquinas
configuradas nos arquivos de zona.
ping aluno1

ping aluno4
Remotos
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
76
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 68
A partir de outra mquina (que no seja o servidor DNS), configure o resolver para resolver
consultas atravs do seu servidor DNS e execute os mesmos testes.
/etc/resolv.conf
search 3wayteste.net
nameserver 192.168.1.101

ping aluno3

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
77
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 69
3.16. EXERCCIOS

1) Qual a definio de DNS? Qual sua principal finalidade? Quais os tipos de servidores de
DNS existem e quais suas principais caractersticas?
2) Qual a diferena entre zona e domnio?
3) Defina Servidor Autorizado.
4) Qual a diferena entre um servidor de nomes: caching, primrio [master] e
secundrio [slave]?
5) Suponha que necessitamos de configurar um domnio chamado teste.com.br,
para um servidor de nomes primrio de nome ns.teste.com.br e endereo IP
200.1.2.3. O endereo IP deste servidor 200.1.2.3 e o IP do servidor web deste
domnio o mesmo do servidor secundrio de nome ns2.teste.com.br, com nmero IP
200.1.2.4. E o servidor SMTP (mail) o mesmo do DNS primrio. Apresente a
configurao para esta situao, indicando quais so e um possvel contedo destes
arquivos.
6) O que so RR - Registros de Recursos? Qual a sintaxe? Para que servem?
Cite e explique alguns tipos de RRs.
7) Qual a funo dos servidores de nome razes [root-servers]? Por que eu
preciso de manter um arquivo dos endereos IP's dos servidores de nome razes?
Como eu posso atualizar este arquivo?
8) Qual a funo da diretiva $TTL? Qual a vantagem e a desvantagem de se
ter um valor de TTL - Time To Live - alto ou baixo?
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
78
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 70
4. DHCP


Este captulo trata o protocolo DHCP (servidor e cliente) que permitem que
configuraes de rede TCP/IP sejam atribudas dinamicamente para estaes de
trabalho de uma rede.
4.1. PROTOCOLO DHCP


Processo de requisio de configuraes TCP/IP

DHCP um acrnimo para Protocolo de Configurao Dinmica de
Computador (Dinamic Host Configuration Protocol). um protocolo cliente/servidor,
que possibilita computadores clientes recebam configuraes TCP/IP
dinamicamente. Esta funcionalidade tem muita importncia em grandes redes, pois o
controle das configuraes TCP/IP so feitas de forma centralizada, tornando esta
configurao praticamente transparente para o administrador.
O cliente quando iniciado, envia um pedido de configurao (request) em
broadcast e espera a resposta de um servidor. O pedido de configurao deve
obrigatoriamente conter solicitao de um endereo IP e mscara de sub-rede,
podendo tambm solicitar roteador padro, nome de domnio de pesquisa, servidor
DNS, etc. E a resposta do servidor so as informaes especficas propriamente ditas.
O servidor escuta a porta 67 e transmite na porta 68.
Uma vez que o cliente, antes da inicializao, no possui endereo IP, como
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
79
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 71
ele pode comunicar com o servidor? Na verdade, toda comunicao inicial entre o
cliente e o servidor independe do protocolo IP, utilizando protocolo a nvel de enlace
(camada 2) para que um cliente e o servidor negocie os parmetros de configurao
necessrios. Esta negociao realizada por mensagens transmitidas por difuso
(broadcast) na sub-rede, sendo limitada a estaes fisicamente conectadas na mesma
rede. Uma vez estabelecido esta negociao inicial, a comunicao pode ser baseada
no protocolo IP.

O DHCP baseado no protocolo BOOTP (camada 2). Esse protocolo permite
que estaes sem disco rgido inicializem-se atravs da rede. O protocolo DHCP
considerado como uma extenso do BOOTP, por ser apenas um sub-conjunto do
complexo protocolo BOOTP.

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
80
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 72

Arquitetura Cliente/Servidor do DHCP

O DHCP tambm um protocolo essencial para provedores Internet, uma vez
que permite que clientes obtenham dinamicamente seus parmetros quando se
conectam no provedor, via linha discada, por exemplo. Assim, toda vez que um
cliente estabelece uma conexo com o servidor, geralmente um novo endereo IP
obtido. Se o DHCP no for utilizado, todo cliente seria configurado estaticamente,
cada um com um nmero IP exclusivo, o que na prtica seria invivel. Para um
provedor com 1000 clientes, por exemplo, deveria se ter disponvel 1000 endereos
IP's, o que seria impraticvel levando-se em conta a escassez dos endereos IP. Alm
disto, seria totalmente invivel a administrao destes IPs, com a entrada e sada de
novos clientes.
No existem muitas implementaes de DHCP para Linux licenciados sob a
GPL, talvez seja devido ao grande sucesso do DHCP do ISC, disponvel em quase
todas as distribuies Linux. Alm deste software alm de ser considerado muito
bom, totalmente disponibilizado sob a GPL.
4.2 INSTALANDO O DHCP
O DHCP est disponvel em diversos formatos: cdigo fonte do programa,
arquivos pr-compilados (binrios) RPM / DEB e ferramentas avanadas como
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
81
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 73
YUM / APT.

4.2.1. INSTALAO CDIGO FONTE
O cdigo-fonte est disponvel no endereo www.isc.org. Esta implementao
engloba o servidor dhcpd, assim como o cliente dhclient.

cp dhcp-versao.tar.gz /usr/local/src
cd /usr/local/src
tar xvfz dhcp-versao.tar.gz
cd dhcp-versao
./configure
make
make install

Este comando instala o daemon em /usr/sbin/dhcpd, o cliente em
/usr/sbin/dhclient, o arquivo de configurao em /etc/dhcpd.conf, etc.
4.2.2. INSTALAO AUTOMATIZADA
Os pacotes RPMs so disponibilizados por vrias distribuies, tais como,
CentOS/RHEL, SUSE, etc, e podem ser instalados atravs do comando abaixo:


yum install dhcp



apt-get install dhcp3-server

O pacote do ISC DHCP fornece o software dhclient que faz as requisies de
configuraes de rede para clientes DHCP.

4.3. CONFIGURAO SERVIDOR DHCP


O arquivo de configurao padro do DHCP o dhcpd.conf e se localiza no
diretrio /etc. Este arquivo pode ser criado inicialmente vazio e editado com
qualquer editor de texto, mas existe um arquivo de configurao de exemplo no
diretrios de documentao (/usr/share/doc/dhcp-versao/dhcpd.conf-sample).

Arquivo /etc/dhcpd.conf
Este o arquivo de configurao do daemon dhcpd, quando inicializamos o
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
82
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 74
servio dhcpd, o mesmo l este arquivo e estabelece as devidas configuraes. O
arquivo que se segue nos mostra a configurao de como transmitir dinamicamente
endereos IP para o cliente DHCP em uma sub-rede.

#Define valores globais para todo o sistema
ddns-update-style ad-hoc;
max-lease-time 604800;
default-lease-time 86400;
option domain-name "3waylocal.net.br";

#Define faixa de endereos dinmicos para a sub-rede
subnet 10.0.0.0 netmask 255.255.255.0 {
option routers 10.0.0.254;
option domain-name-servers 10.0.0.240, 10.0.0.241;
option broadcast-address 10.0.0.255;
range 10.0.0.100 10.0.0.150;
default-lease-time 21600;
max-lease-time 43200;
# Define os hosts que devem obter endereos IPS estticos
# host maq10 {
# hardware ethernet 00:80:c7:aa:a8:04;
# fixed-address 192.168.1.10;
#}
#host maq11 {
# hardware ethernet 00:00:c0:a1:5e:10;
# fixed-address 192.168.1.11;
#}
}


No Debian/Ubuntu o nome do arquivo de configurao do DHCP diferente
(/etc/default/dhcp3-server), portanto tenha cuidado para no
confundir.

Se mais de uma interface de rede est conectada no sistema e se quer
especificar qual interface ir prover o servio, basta especific-la na diretiva
DHCPDARGS do arquivo /etc/sysconfig/dhcpd.

/etc/sysconfig/dhcpd
DHCPDARGS=eth1

Isso til em uma mquina Firewall com duas insterfaces de rede. Uma pode
estar configurada com IP pblico e a outra para prover endereamento IP para a rede
local atrs do Firewall. Essa configurao protegeria a rede interna, uma vez que no
atenderia clientes provenientes da Internet.


Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
83
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 75
Principais opes

max-lease-time
Determina qual o tempo mximo que um certo endereo pode ser alugado (lease) por um
cliente, em segundos. Neste exemplo, o parmetro uma semana.

default-lease-time
Define o tempo que um certo endereo IP ser alugado caso o cliente no envie o tempo
de aluguel desejado. No exemplo acima, o default estabelecido para um dia (86400 segundos).
No cliente pode-se especificar qual o tempo de aluguel requerido em sua configurao. Se
for especificado o servidor utilizar at max-lease-time, se no o servidor utilizar o tempo de
default-lease-time.

option subnet-mask
Define a mscara da sub-rede, neste caso a mscara 255.255.255.0

option domain-name
Determina o domnio padro, no nosso exemplo o domnio 3waylocal.net.br. O
domnio padro acrescentado ao nome quando no se especifica um domnio para um host. Por
exemplo, caso voc executasse o comando ping www, seria equivalente a executar ping
www.3waylocal.net.br, apesar de no ter sido especificado um domnio.

option domain-name-servers
Define os servidores DNS - Domain Name Service.

option routers
Estabelece os roteadores padres.

subnet e netmask
Determina a sub-rede e a sua mscara de sub-rede respectivamente.

option broadcast-address
Define o endereo de broadcast.

range
Define a faixa de IP que podem serem atribudas dinamicamente para os hosts desta sub-
rede.

hardware
Neste parmetro voc deve especificar o endereo MAC. Esta opo suporta ethernet e
token-ring. atravs deste endereo MAC que o servio localizar a mquina na rede.


fixed-address
usado para atribuir o endereo IP esttico para host.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
84
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 76

use-host-decl-name
Este parmetro faz com que o cliente receba o nome de host como indicado logo aps a
diretiva host. Valores: true ou false;

host maq101 {
hardware ethernet 00:80.c7:aa:a8:04;
...
}

Neste caso o host cujo endereo MAC for 00:80.c7:aa:a8:04 receber o nome maq101.

host
As definies host, group e subnet podem conter todas as outras opes e as
opes que no estiver delimitadas por estas so chamadas de opes globais. O
servidor trabalha do especfico para o geral, ou seja, quando vai configurar os
clientes, o servidor procura por opes dentro de um agrupamento host, depois em
group, em subnet e finalmente nas opes globais. Prevalecendo do host para as
globais.
Depois de feita a configurao deste arquivo o prximo passo inicializar o
daemon dhcpd. Veja o comando abaixo:


service dhcpd start



/etc/init.d/dhcp3-server start




O DHCP tambm usa o arquivo /var/lib/dhcpd/dhcpd.leases para
armazenar o banco de dados dos emprstimos de clientes.


4.4 CONFIGURAO CLIENTE DHCP
Por padro o cliente obtm as configuraes provenientes do arquivo de
configurao do servidor, mas quando o cliente dhclient inicializado, ele l, se
existir, o arquivo /etc/dhclient.conf tornando o processo mais flexvel.

Para configurar o linux para receber endereo IP dinamicamente, basta
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
85
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 77
lembrar do arquivo de configurao da interface ethernet a qual ir receber
configuraes IP dinamicamente. Este arquivo o /etc/sysconfig/network-
scripts/ifcfg-ethX (CentOS/RHEL) ou /etc/network/interfaces (Debian/Ubuntu).



/etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT="yes"
BOOTPROTO="dhcp"



/etc/network/interfaces
auto eth0
iface eth0 inet dhcp


Para configurar uma estao Windows para receber suas configuraes
TCP/IP de um servidor DHCP preciso marcar Obter um endereo IP
automaticamente nas configuraes da interface de rede.

As informaes sobre leasing (locao) de IPs so armazenadas nos arquivos
dhclient.leases e dhcpcd.leases. Este ltimo somente quando houver o daemon
servidor. No CentOS/RHEL o caminho para esses arquivos so /var/lib/dhclient/ e
/var/lib/dhcpd/ respectivamente. No Debian/Ubuntu o caminho /var/lib/dhcp3/
para ambos os arquivos.
4.5. GERENCIANDO SUB-REDES
Em uma rede com muitas sub-redes h um maior trabalho a ser feito em
relao a configurao do DHCP. O ideal ter um servidor central na rede principal,
pois quando os clientes so inicializados, eles enviam por difuso mensagens com
solicitaes de configuraes DHCP. Como este servidor no pertence a esta sub-rede
e obviamente no est no mesmo barramento, necessrio a implementao de
agentes retransmissores, os chamados servidores dhcrelay.
4.5.1. CONFIGURAO SERVIDOR DHCRELAY
O servidor dhcrelay, tambm chamado de agente retransmissor DHCP, faz
parte do pacote dhcpd. O agente retransmissor identifica solicitaes DHCP em uma
sub-rede e as retransmite para o servidor DHCP em uma outra sub-rede.
Para que o servidor DHCP fornea o servio para toda a rede (incluindo as
sub-redes), preciso utilizar os agentes retransmissores: DHCP Relay. O servidor
dhcrelay deve ser ligado na mesma sub-rede do cliente para que ele consiga escutar
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
86
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 78
as requisies que vem por broadcast e encaminh-las para o servidor. Quando o
servidor receber a requisio, o mesmo a processar e, intermediado pelo DHCP
Relay, comear o processo de emprstimo da configurao TCP/IP.
Para configurar o servio dhcrelay o comando dhcrelay dever ser utilizado.
Abaixo est a sintaxe do comando:

dhcrelay <opcoes> <endereco IP do servidor dhcp>

Veja este exemplo de comando:

dhcrelay 192.168.1.101

Este comando sem opes seria o bastante. Em um servidor dhcrelay este
comando deve ser executado quando a mquina inicializada, para que isto acontea,
no caso do CentOS/RHEL, necessrio configurar as interfaces de escuta na diretiva
INTERFACES do arquivo /etc/sysconfig/dhcprelay.

/etc/sysconfig/dhcprelay
INTERFACES=eth0
DHCPSERVER=

Para iniciar o agente DHCP Relay basta executar o comando abaixo:



/etc/init.d/dhcprelay start



/etc/init.d/networking start


No exemplo interessante usar roteadores para serem os agentes
retransmissores DHCP, apesar de no ser obrigatoriamente necessrio. Logo, o
roteador dever possuir mais de uma interface e ser configurado para fornecer o
servio DHCP retransmissor para a interface correta. A interface eth1 do roteador
est conectada s sub-redes que possuem os clientes DHCP e que precisam do servio
DHCP retransmissor, o comando dhcrelay para este caso seria:

dhcrelay -i eth1 10.0.0.254

Ambos os roteadores desta rede tero a mesma configurao e,
consequentemente, usaro o comando apresentado acima. Este comando pede ao
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
87
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 79
dhcrelay somente listar as requisies DHCP na interface eth1. Ento quando receber
as requisies, ele os transmitir para 10.0.0.254.
4.5.2. CONFIGURAO PARA GERENCIAR SUB-REDES
Esta uma extenso da configurao apresentada no item Configurao
Servidor DHCP.

#Define valores globais para todo o sistema
ddns-update-style ad-hoc;
max-lease-time 604800;
default-lease-time 86400;

#Define faixa de endereos dinmicos para a sub-rede
subnet 10.0.0.0 netmask 255.255.255.0 {
option domain-name "3waylocal-0.net.br";
option routers 10.0.0.254;
option domain-name-servers 10.0.0.240, 10.0.0.241;
option broadcast-address 10.0.0.255;
range 10.0.0.100 10.0.0.150;
host maq1 {
hardware ethernet 00:80:c7:aa:a8:04;
fixed-address 10.0.0.1;
}
}
subnet 10.0.1.0 netmask 255.255.255.0 {
option domain-name "3waylocal-1.net.br";
option routers 10.0.1.254;
option domain-name-servers 10.0.1.240, 10.0.1.241;
option broadcast-address 10.0.1.255;
range 10.0.1.150 10.0.1.200;
host maq10 {
hardware ethernet 00:80:c7:ff:aa:51;
fixed-address 10.0.0.10;
}
}
subnet 10.0.2.0 netmask 255.255.255.0 {
option domain-name "3waylocal-2.net.br";
option routers 10.0.2.254;
option domain-name-servers 10.0.2.240, 10.0.2.241;
option broadcast-address 10.0.2.255;
range 10.0.2.200 10.0.2.230;
host maq20 {
hardware ethernet 00:80:c7:ef:1b:c2;
fixed-address 10.0.0.20;
}
}

Depois de configurado o servidor DHCP e os agentes retransmissores (dhcrelay) falta


apenas a configurao dos clientes DHCP.

4.6. INTEGRAO DHCP E DNS

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
89
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 80
A integrao do servio de DHCP com o DNS importante, pois permite que o DHCP faa
atualizaes dinmicas no DNS em nome dos seus clientes. Quando o cliente obtm um endereo
IP, o servidor registra o nome e o endereo IP do cliente no servidor DNS.
Normalmente os clientes Windows (2000, XP, 2003 e 2008) atualizam automaticamente
seus registros A no servidor DNS. Porm, esses clientes no conseguem atualizar os registros PTR.
Por esse motivo que a integrao entre esses dois servios necessria.
Para que essa integrao seja feita necessria a criao de uma chave de segurana
comum aos dois servios para que eles possam se comunicar e trocar informaes. Para a gerao
da chave basta utilizar o utilitrio dnssec-keygen, como mostrado abaixo:

dnssec-keygen -a HMAC-MD5 -b 128 -n USER chave
Onde: -b 128 refere-se ao tamanho da chave em bits.

O comando acima produzir no diretrio atual os arquivos Kchave.+157+53416.key e
Kchave.+157+53416.private. O primeiro arquivo de onde ser extrada a chave. O comando
abaixo simular essa extrao, a chave a parte da sada que est em negrito-itlico.
cat Kchave.+157+53416.key
chave. IN KEY 0 2 157 mYWhWjs2haILAfiRq/ciyA==
Neste caso a chave a sequncia mYWhWjs2haILAfiRq/ciyA==

De posse da chave o momento de configurar o servidor DHCP. Para isso preciso
editar o arquivo /etc/dhcpd.conf como mostrado a seguir:

/etc/dhcpd.conf
option domain-name-servers 10.0.0.240, 10.0.0.241;
default-lease-time 432000;
max-lease-time 864000;
log-facility local7;
#parametros de atualizao
ddns-updates true;
ddns-update-style interim;
ddns-ttl 86400;
#chave de atualizao dinmica
key nomedachave {
algorithm HMAC-MD5;
secret "mYWhWjs2haILAfiRq/ciyA==";
};
zone 3waylocal.net.br. {
primary 10.0.0.254;
key nome_da_chave;
}
zone 1.168.192.in-addr.arpa. {
primary 192.168.1.1;
key nome_da_chave;
}
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.100 10.0.0.150;
default-lease-time 256000;
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
90
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 81
max-lease-time 256000;
option broadcast-address 10.0.0.255;
one-lease-per-client on;
option domain-name "3waylocal.net.br";
option routers 10.0.0.254;
option subnet-mask 255.255.255.0;
}
Alm do DHCP, necessria a configurao do servidor DNS:
/etc/named.conf
options {
listen-on port 53 { 127.0.0.1; 10.0.0.254; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; };
allow-query-cache { localhost; };

};
acl local_nets {
10.0.0.0/24;
};
controls {
inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { nome_da_chave; };
};
key nome_da_chave {
algorithm hmac-md5;
secret "mYWhWjs2haILAfiRq/ciyA==";
};
view localhost_resolver {
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
include "/etc/named.rfc1912.zones";
};
view rede_local
{
match-clients { localhost; local_nets; };
allow-query { localhost; local_nets; };
allow-query-cache { localhost; local_nets; };
allow-recursion { localhost; local_nets; };
include "/etc/named.rfc1912.zones";
zone "3waylocal.net.br" IN {
type master;
notify no;
check-names ignore;
file "3waylocal.net.br.direto";
allow-update { key nome_da_chave; };
};
zone "1.168.192.in-addr.arpa" IN {
type master;
notify no;
check-names ignore;
file "1.168.192.in-addr.arpa.reverso";
allow-update { key nome_da_chave; };
};
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
91
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 82
};

Faltam ainda a configurao dos arquivos de zona 3waylocal.direto e 1.168.192.in-
addr.arpa.reverso para finalizar a integrao.
/var/named/3waylocal.net.br.direto
$ORIGIN .
$TTL 43200
@ IN SOA 3waylocal.net.br. root.3waylocal.net.br. (
2012011703 ; serial
3600 ; refresh
900 ; retry
1209600 ; expire
43200 ; default_ttl
)
@ IN NS maq1.3waylocal.net.br.
@ IN NS maq2.3waylocal.net.br.
$ORIGIN 3waylocal.net.br.

/var/named/chroot/var/named/1.168.192.in-addr.arpa.reverso
$ORIGIN .
$TTL 43200
@ IN SOA 3waylocal.net.br. root.3waylocal.net.br. (
20010328003 ; serial
3600 ; refresh
900 ; retry
1209600 ; expire
43200 ; default_ttl
)
@ IN NS maq1.3waylocal.net.br.
$ORIGIN 1.168.192.in-addr.arpa.
1 IN PTR maq1.3waylocal.net.br.

Depois de feitas as configuraes do DHCP e do DNS, basta reinicializar os servios e
monitorar o funcionamento ou algum erro de configurao atravs do /var/log/messages.

/etc/init.d/dhcpd restart
/etc/init.d/named restart

tail -f /var/log/messages

comum ocorrerem erros de permisso na atualizao dos arquivos de zona. Para que isso
no ocorra necessrio que o diretrio /var/named (da jaula) tenha permisso de escrita para o
usurio named.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
92
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 83
4.7. LABORATRIO

Este laboratrio ir configurar um servidor DHCP dedicado com dois cenrios simples: um com
DHCP dinmico e outro esttico.

Detalhes das mquinas virtuais
- Tanto a mquina Linux (Servidor) quanto o cliente Windows (cliente) tero suas interfaces
configuradas no modo Rede Interna para no haver problemas na rede do laboratrio.

Informaes da implementao do Servidor
Endereo IP do Servidor: 192.168.3.1
Sub-rede e sub-mscara: 192.168.3.0 e 255.255.255.0
Gateway: 192.168.3.254
Servidores DNS: 192.168.3.253, 192.168.3.252 e 8.8.8.8
Nome do Domnio: 3waylocal.net.br
Faixa: 192.168.1.10 - 50

A. Configurao de DHCP Dinmico
- Edio do /etc/dhcpd.conf
ddns-update-style ad-hoc;
ignore client-updates;
subnet 192.168.3.0 netmask 255.255.255.0 {
# --- Gateway padro ---
option routers 192.168.3.254;
option subnet-mask 255.255.255.0;
option domain-name "3waylocal.net.br";
option domain-name-servers 192.168.3.242 , 192.168.3.253 , 8.8.8.8
# --- Faixa de IPs 192.168.3.10 192.168.3.50 ---
range 192.168.3.10 192.168.3.50;
default-lease-time 21600;
max-lease-time 43200;
}
- Reinicializao do servio
/etc/init.d/dhcpd restart

- Configure a estao cliente para receber endereos dinamicamente

B. Configurao de DHCP Esttico
- Edio do /etc/dhcpd.conf
ddns-update-style ad-hoc;
ignore client-updates;
subnet 192.168.3.0 netmask 255.255.255.0 {
# --- Gateway padro ---
option routers 192.168.3.254;
option subnet-mask 255.255.255.0;
option domain-name "3waylocal.net.br";
option domain-name-servers 192.168.3.242 , 192.168.3.253 , 8.8.8.8
# --- Faixa de IPs 192.168.3.10 192.168.3.50 ---
range 192.168.3.10 192.168.3.50;
default-lease-time 21600;
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
93
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 84
max-lease-time 43200;
# --- Seo DHCP Esttico ---
# Estao do Gerente -
host gerente {
hardware ethernet 00:14:0B:41:9b:81;
fixed-address 192.168.3.41;
}
# - Estao do Sysadmin -
host sysadmin {
hardware ethernet 00:24:81:B2:53:F1;
fixed-address 192.168.3.42;
}
# - Estao do Contador -
host contador {
hardware ethernet 00:22:5f:23:61:12;
fixed-address 192.168.3.43;
}
}

- Reinicializao do servio
/etc/init.d/dhcpd restart

- Configure as estaes clientes para buscar endereamento IP pela rede. Use na sequncia as
opes release e renew do comando ipconfig para testar a renovao dos endereos.



No DHCP esttico imprescindvel que os endereos fsicos (MAC) das
mquinas clientes correspondam aos que esto no arquivo de configurao.
Caso o endereo fsico no bater, a estao obter endereos dinmicos.

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
94
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 85
4.8. EXERCCIOS
1. Se inicialmente o cliente no tem nmero IP, como feita a comunicao de solicitao-
resposta DHCP?
2. Quais so os valores padres das diretivas unkown-clients, bootp e booting?
3. Queremos configurar a interface ethernet de um host em nossa rede para que sempre possua
o IP 192.168.1.2. Seu endereo MAC ee:f4:e2:aa:c9:00. Como poderamos fazer isto no
arquivo /etc/dhcpd.conf?
4. O que so opes globais? Quando se tem opes globais e opes especificas, subnet,
group ou host, para um host, qual a ordem de precedncia das opes?
5. O que retransmisso DHCP? Por que utilizada?













Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
95
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 86
5. NTP


O NTP (Protocolo de Tempo de Rede) responsvel por manter um sistema
de tempo (horrio), o que muito importante em muitos ambientes porque muitos
servios dependem do tempo para funcionar corretamente, como por exemplo, logs,
mensagens de erro, aplicaes, etc. Existem alguns papis que o sistema de tempo
pode desempenhar ao usar NTP. So eles:

Servidor NTP Primrio
Esse tipo de servidor prov horrio para os secundrios ou outros clientes.
Servidor NTP Secundrio
Prov horrio para clientes ajudando a balancear a carga dos primrios.
Par NTP
Tanto prov quanto recebe horrio de algum servidor.
Cliente NTP
Recebe horrio de servidores primrios ou secundrios.

Os servidores primrios e secundrios sincronizam seus relgios de servidores
hierarquicamente superiores chamados Stratum. Eles esto organizados em vrios
nveis, de 1 a 15, sendro que os stratum 1 so os mais precisos da hierarquia.
A configurao de servidores primrios e secundrios servem para ajudar no
balanceamento e redundncia dos strutum 1 ou 2 e ainda pode ser muito til na rede
local, uma vez que os servidores podem sincronizar tempo localmente.
O NTP.br atravs de seus servidores pblicos ajuda a manter computadores
sincronizados com a Hora Legal Brasileira e com o Tempo Universal Coordenado
(UTC). Os servidores do NTP.br so os seguintes:
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
96
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 87

Nome Endereo
a.st1.ntp.br 200.160.7.186 e 2001:12ff:0:7::186
b.st1.ntp.br 201.49.148.135
c.st1.ntp.br 200.186.125.195
d.st1.ntp.br 200.192.232.8
a.ntp.br 200.160.0.8 e 2001:12ff::8
b.ntp.br 200.189.40.8
c.ntp.br 200.192.232.8
gps.ntp.br 200.160.7.193 e 2001:12ff:0:7::193

O servio NTP utiliza as portas UDP/TCP 123, portanto elas necessitam estar
liberadas em no firewall.
5.1. INSTALAO
5.1.1. INSTALAO CDIGO FONTE
As principais vantagens da instalao dos fontes ter a verso mais atual do
software e sem modificaes de terceiros. A verso mais atual est disponvel em
www.ntp.org/downloads.html.

wget www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-versao/ntp-versao.tar.gz
tar zxvf ntp-versao.tar.gz
cd ntp-versao
./configure
make
make install
5.1.2. INSTALAO AUTOMATIZADA


yum install ntp



apt-get install ntp


Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
97
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 88
5.2. CONFIGURAO
Do arquivo de configurao principal, destacam-se as seguintes opes:

/etc/ntp.conf

server 0.centos.pool.ntp.org prefer
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org

server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10

As trs primeiras linhas so NTP pblicos da Internet que se pode sincronizar
o tempo. A quarta opo server utilizada para sincronizar o relgio local
(normalmente baseado no BIOS). A ltima opo fudge para definir o nvel
hierarquico do servidor (no caso stratum 10).
Essa configurao sincroniza com os servidores de tempo da Internet.

Da forma com est, essa configurao sincroniza o tempo com os servidores
da Internet. Por enquanto ser iniciado o servio com essa configurao.


/etc/init.d/ntp start



/etc/init.d/ntp start


A configurao para sincronizar com algum servidor de tempo do NTP.br a
que est logo abaixo.

/etc/ntp.conf

#server 0.centos.pool.ntp.org
#server 1.centos.pool.ntp.org
#server 2.centos.pool.ntp.org
restrict 10.0.0.0 mask 255.255.255.0 nomodify notrap
server a.st1.ntp.br

server 127.127.1.0 # local clock
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
98
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 89
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift

A nova diretiva adicionada driftfile utilizada como parmetro para
checagem de erros e preciso de relgio. recomendada para resultados melhores,
mas no obrigatrio.
Para que a nova configurao funcione, basta reiniciar o servio:


/etc/init.d/ntp restart



/etc/init.d/ntp restart

5.3. FERRAMENTAS
Para testar o servidor NTP ou mesmo solucionar problemas pode-se utilizar
alguns comandos.
ntpdate [opcoes] <servidor>
Sincroniza em tempo de execuo algum servidor NTP.
Ex.: ntpdate a.st1.ntp.br
ntpq [opcoes]
o programa padro para realizao de consultas NTP.
Ex.: ntpq -p
ntptrace [opcoes] <servidor>
Verifica o caminho para a obteno do relgio NTP.
Ex.: ntptrace a.st1.ntp.br

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
99
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 90
5.4. LABORATRIO

Este laboratrio ir configurar um servidor NTP, cujo IP ser 10.0.0.254, usando os servidores
a.st1.ntp.br (preferido), b.st1.ntp.br, c.st1.ntp.br e d.st1.ntp.br como seus servidores
de sincronizao externa para a rede interna 10.0.0.0/24.
SERVIDOR
/etc/ntp.conf

restrict 10.0.0.0 mask 255.255.255.0 nomodify notrap
server a.st1.ntp.br prefer
server b.st1.ntp.br
server c.st1.ntp.br
server d.st1.ntp.br

server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift

CLIENTES
Linux
/etc/ntp.conf

server 10.0.0.254

server 127.127.1.0 # local clock
# fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift

/etc/init.d/ntdp start

Windows

Esse passos abaixo so vlidos para servidores Windows.

Abrir o Prompt de comandos em Iniciar / Todos os Programas / Acessrios.

Executar os seguintes comandos:

C:\> net time /setsntp:10.0.0.254
C:\> net stop w32time
C:\> net start w32time
C:\> net time /querysntp

Os comandos acima definem o servidor 10.0.0.254 como servidor NTP, reinicia o servio de horrio
do Windows (Windows Time Service), por ltimo verifica se o Windows est sincronizando com o
servidor NTP.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
100
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 91
5.5. EXERCCIOS

1. Como se organizam os servidores NTP? Como eles so categorizados?

2. Enumere as vantagens de se ter um servidor NTP em uma rede interna.

3. Caso o servidor esteja protegido por um firewall, quais so as providncias que devem ser
tomadas para que os clientes faam uso das funcionalidades desse servidor?
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
102
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 92
6. SISTEMA DE ARQUIVO DE REDE


O NFS um sistema de arquivos que permite o compartilhamento de dados
em uma rede, de forma que os clientes possam acessar rvores de diretrios em
servidores como se estivessem acessando localmente.
Esse protocolo foi projetado para ser independente de qualquer hardware, sistema
operacional ou sistema de arquivos. Para tornar o NFS independente de sistemas, ele usa a RPC
(Chamada de Procedimento Remoto) em conjunto com uma representao de dados chamada
eXternal Data Representation (XDR).


Funcionamento do servidor NFS
6.1. INSTALAO
Basicamente os pacotes necessrios para instalao do NFS so o portmap, nfs-utils e nfs-
server, sendo o primeiro deles um dos requisitos mais importantes para a instalao.
6.1.1. INSTALAO CDIGO FONTE
A instalao via cdigo fonte no difere muito das outras instalao feitas anteriormente.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
103
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 93
Deve-se preocupar com a instalao dos pr-requisitos (que podem ser vistos nos arquivos
README ou INSTALL) e, salvo rarssimas excesses, executar os comandos configure, make e
make install dentro da raiz do diretrio descompactado do NFS.
6.1.2. INSTALAO AUTOMATIZADA
Os pacotes do NFS provavelmente esto disponveis na mdia de instalao e repositrios
das distribuies Linux mais conhecidas. Basicamente os pacotes necessrios para instalao do
NFS so o portmap, nfs-utils e nfs-server.


yum install nfs-utils nfs-utils-lib


apt-get install portmap nfs-kernel-server nfs-common
O portmap o servio que geralmente escuta a porta 111, recebe um nmero
identificador do rpc e retorna um nmero de porta com a qual o cliente se conecta
para a partir de ento, se comunicar atravs de chamadas de procedimentos remotos -
RPC.
6.2. AUTENTICAO E PERMISSES

Sistema de autenticao e permises de arquivo em NFS



O NFS baseado em chamadas RPC e para todo procedimento RPC
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
104
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 94
passado como parmetro o uid e gid (identificao de usurio Unix) do usurio que
realizou a operao de I/O no diretrio montado via NFS, e que utilizada na
avaliao de permisso no servidor, de acordo com as permisses locais do servidor.
Em todo o esquema de chamada RPC da figura acima e de avaliao da permisso de
acesso, os nmeros de ID de usurio e de grupo que so realmente utilizados. Portanto, os nomes
no garantem a autenticao dos usurios. Desta forma, conveniente fazer com que os usurios do
cliente NFS tenham os mesmos uid's e gid's equivalentes no servidor NFS (de forma que no
nosso diagrama, o o uidn e gidn seriam iguais ao gidk e gidk, respectivamente). Isto
geralmente realizado mais facilmente com um servidor NIS, ou manualmente simplesmente
mantendo os dois arquivos /etc/passwd iguais.
6.3. MONTANDO COMPARTILHAMENTOS NFS
Para uma mquina cliente montar um volume NFS o servio portmap deve
estar ativo, pois este servio que mapea os nmeros de programa RPC em portas
TCP.
O comando para montar um compartilhamento remoto segue abaixo:
mount -t nfs servidor:/compartilhamento /ponto_de_montagem


Montando compartilhamento NFS

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
105
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 95
Este comando monta o diretrio /compartilhamento da mquina servidora no
ponto de montagem local /ponto_de_montagem na mquina cliente. A opo -t
especifica o sistema de arquivos a ser utilizado. A montagem semelhante
montagem de dispositivos locais.
Para desmontar um volume NFS, basta utilizar:
umount /ponto_de_montagem
6.3.1 MONTAGEM AUTOMTICA
interessante em uma rede fazer a montagem NFS automaticamente durante
a inicializao. Isso necessrio em uma rede onde os usurios devam compartilhar
mesmos arquivos e diretrios. Para isso utiliza-se o arquivo /etc/fstab.
/etc/fstab
/dev/hda7 / ext2 defaults 1 1
/dev/hda2 /boot ext2 defaults 1 2
/dev/hda5 swap swap defaults 0 0
/dev/fd0 /mnt/floppy ext2 noauto 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0
none /proc proc defaults 0 0
none /dev/pts devpts mode=0622 0 0
192.168.1.15:/compartilhado /mnt nfs auto 0 0

A primeira coluna se refere ao dispositivo de montagem, a segunda ao ponto


de montagem, a terceira ao sistema de arquivo do dispositivo, a quarta coluna define
os parmetros de montagem. Este arquivo usado para configurar o lado do cliente,
ou seja, estamos considerando que o servidor est configurado para ser requisitado.
Com essa configurao, o cliente montar o diretrio /compartilhado do
servidor de IP 192.168.1.15 no seu diretrio /mnt usando o sistema de arquivo de rede
NFS. O parmetro auto para que este sistema de arquivo seja montado
automaticamente.
O servio portmap deve estar rodando na mquina cliente e as configuraes
de rede estarem corretas para que a montagem funcione. altamente recomendvel
configur-los para que sejam inicializados no boot.



chkconfig --level 35 portmap on



update-rc.d rpc defaults

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
106
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 96
6.4. O SERVIDOR NFS

O arquivo /etc/exports
O arquivo /etc/exports usado pelo servidor NFS para especificar quais
diretrios devem ficar disponveis publicamente e quais restries devem ser
aplicadas. O formato do arquivo permite que qualquer diretrio seja exportado para
um ou mais hospedeiros e permite que as permisses de acesso sejam configuradas
especificadamente para cada hospedeiro.

recurso_local host1(permissoes1) host2(permissoes2) ...

Neste exemplo, recurso_local o que vai ser compartilhado com os hosts 1 e


2 com suas respectivas permisses de acesso.

/home/ftp/pub maq1(rw,all_squash) maq2(ro)

O diretrio /home/ftp/pub est disponvel para o host maq1 com acesso tanto
para leitura como para gravao e os nmeros de ID de usurio e de grupo so
mapeados automaticamente para o usurio annimo (opo all_squash).
O mesmo diretrio tambm est disponvel para o host maq2, mas com
acesso somente de leitura (opo ro).


preciso ter cuidado para no deixar espaos na definio das mquinas e
suas opes de compartilhamento. Caso isso seja feito ser dado acesso
total a esta mquina. Este um erro comum.

possvel utilizar os smboles * e ? para aumentar as combinaes possveis,
ou seja, funcionar como curinga.

/inst/instrutor *3waylocal.net.br(rw)

Neste exemplo do arquivo /etc/exports, o diretrio /inst/instrutor estar


exportado para todas as mquinas do domnio 3waylocal.net.br.

O nome da mquina pode ser seguido por uma lista de opes, entre
parntesis e separadas por vrgulas (nunca espaos).

Estas opes tm os seguintes valores:
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
107
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 97

insecure
Permite o acesso no autenticado a partir desta mquina.

root_squash
Esta uma caracterstica de segurana que probe o super-usurio dos clientes de ter
qualquer direito de acesso especial no servidor.
Caso o cliente acesse o diretrio compartilhado atravs do usurio root, o servidor ir
mapear o ID 0 (de root) para 65534 (-2), que representa o usurio nobody.

no_root_squash
No mapeia requisies do usurio com identificao 0, ou seja, o usurio root dos clientes
acessam diretrio exportado do servidor como usurio root e tero todos os privilgios de
root neste diretrio do servidor. Este tipo de opo jamais aconselhvel por motivos de
segurana.

ro
Monta hierarquicamente os arquivos somente para leitura. o padro.

rw
Monta hierarquicamente os arquivos, com autorizaes para leitura e gravao.

possvel especificar ainda uma rede especfica atravs da seguinte entrada.

/home/ftp/pub 192.168.1.0/255.255.255.0(rw)

Este comando exportar o diretrio para todos hosts pertencentes a rede


192.168.1.0/24. O prximo passo inicializar o servio nfs.


/etc/init.d/nfsd start



/etc/init.d/portmap start
/etc/init.d/nfs-kernel-server start
/etc/init.d/nfs-common start

Depois de iniciado o servio nfs, preciso exportar a configurao do
/etc/exportfs para a rede.

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
108
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 98

exportfs -v

Outro aplicativo muito utilizado para monitorao do servio NFS o


showmount. Vejamos alguns exemplos de sua aplicao:

showmount --export 192.168.1.2
Export list for 192.168.1.2
/usr/local/apache/htdocs 192.168.1.2/255.255.255.0
/usr/local/apache/htdocs_s/intranet 192.168.1.2/255.255.255.0
/home 192.168.1.0/255.255.255.0
/dc 192.168.1.0/255.255.255.0

A sada deste comando fornece quais clientes NFS esto utilizando os diretrios que esto
compartilhados no servidor 192.168.1.2.

Curso Especialista em Redes


treinamento@3way.com.br | (62) 3232 9333
Siga-nos tambm no Twitter!
twitter.com/3waynet
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
110
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 99
6.6. LABORATRIO

Neste laboratrio vamos exportar trs diretrios em forma de compartilhamento. O
primeiro ser de leitura para duas estaes especficas com mapeamento de usurio.
O segundo ser de escrita para toda a rede, porm mapeando os usurios e os grupos
das estaes clientes para acessos no privilegiados no servidor. E o terceiro ter
permisso de escrita para toda a rede 192.168.3.0/24, sem restrio de mapeamento
de usurios e grupos. O IP do servidor ser 192.168.1.10.

A. No servidor, editar o arquivo /etc/exports da seguinte maneira:

/etc/exports
/departamento estacao1(ro) estacao2(ro,root_squash)
/comercial 192.168.1.0/255.255.255.0(rw,all_squash)
/publico 192.168.3.0/255.255.255.0(rw,no_root_squash)

B. Reiniciar o servio NFS no servidor.

/etc/init.d/nfsd start


C. Exportar os diretrios para os hosts de destino.

exportfs -v

D. Agora sero feitos os testes nos clientes. Antes disso tenha certeza que o
servio portmap esteja ativo na mquina cliente e monte o compartilhamento
desejado.

/etc/init.d/portmap status
/etc/init.d/portmap start

Estao 1 e 2
mount -t nfs 192.168.1.10:/departamento /mnt/departamento

Estao da rede 192.168.1.0/24
mount -t nfs 192.168.1.10:/comercial /mnt/comercial

Estao da rede 192.168.3.0/24


mount -t nfs 192.168.1.10:/publico /mnt/publico


Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
111
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 100

Seria recomendvel em cada cliente que o mesmo montasse durante o boot
os seus compartilhamentos. Caso esse seja o desejo, fazer a configurao no
/etc/fstab.

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
112
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 101
6.6. EXERCCIOS
1. D a configurao correta do /etc/exports para exportar um diretrio chamado /cartorio em
modo somente leitura para as mquinas da rede 192.168.20.0/16.
2. Qual seria a configurao para exportar o diretrio /dados/exportacoes no modo leitura e
escrita para as mquinas do domnio 3wayteste.net.br e modo leitura para qualquer mquina?
3. Faa a configurao para exportar o diretrio /dados/importacoes para a rede 10.1.1.0/24
em modo escrita e leitura e sem mapeamento de root para usurio no privilegiado (nobody).
4. Faa configurao para inicializao automtica no /etc/fstab dos trs primeiros exerccios.





Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
113
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 102
7. SAMBA

7.1. VISO GERAL
A finalidade do servio Samba permitir que estaes Linux e Windows
compartilhem recursos entre si em uma rede. Atravs do Samba, o Linux pode servir
clientes Windows, tornando-se:

Servidor de arquivo
Servidor de impresso
Servidor de autenticao ou autorizao
Servidor de nomes Windows

O Samba permite que uma estao de trabalho Linux se torne um membro
totalmente funcional de uma rede Microsoft para incluir compartilhamento de
unidades de disco e impressoras, integrao com grupos de trabalho e participao
como cliente ou servidor em domnios Windows.

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
114
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 103

Estrutura de uma rede com samba

O Samba utiliza-se basicamente dois daemons: smbd e nmbd.

smbd
Este o daemon que fornece servios como compartilhamento de arquivos e impresso,
alm da autenticao e autorizao.

nmbd
Este o daemon de Servio de Nome NetBIOS. O mesmo pode ser utilizado para
responder solicitaes NetBIOS sobre resoluo de nomes Windows em nmeros IP.

Estes servios trabalham sob o protocolo SMB (Server Message Block),
atualmente CIFS (Common Internet File System). Este o protocolo utilizado pelo
Windows para compartilhar recursos em uma rede.
Antes de existir o Samba, o compartilhamento de recursos em uma rede Unix
e Windows era problemtico pelo fato de ter que instalar nos clientes Windows
protocolos tradicionalmente de Unix como NFS e LDAP. Toda esta necessidade
fruto do Windows utilizar o conjunto de protocolos atualmente conhecido por CIFS
que o protocolo utilizado para compartilhar servios de arquivos e impresso. O
Samba surgiu para suprir a necessidade de uma soluo de integrao de Linux na
rede Windows.
A maior parte das funcionalidades dos servidores Windows so oferecidas
pelo Samba. Com ele possvel imprimir em impressoras Linux, mapear drives
remotos de compartilhamentos que esto no Linux, bem como atuar como
controlador de domnios (PDC ou BDC).


Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
115
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 104

O PDC pode estar acompanhado de um BDC de forma que caso o PDC
tenha algum problema e no possa responder alguma solicitao de login, a
tarefa ento repassada para ele.



Interao Linux/Windows
7.2. O PROTOCOLO SMB
O SMB o protocolo cliente/servidor da camada de aplicao que
responsvel pelo compartilhamento de arquivos, impressoras, autenticao, etc.
atravs do protocolo dele que os clientes se conectam ao servidor para ler e escrever
arquivos no servidor. O acrnimo CIFS a especificao pblica do SMB que tem o
objetivo de torn-lo um protocolo de acesso a arquivos para ser utilizado na Internet.
Na verdade, o ele a evoluo do SMB.
7.3. O PROTOCOLO NETBEUI
Inicialmente os sistemas operacionais da Microsoft ofereciam o NetBEUI
(NetBIOS Enhanced User Interface) como protocolo padro. Ele foi desenvolvido
inicialmente pela IBM e depois aperfeioado pela Microsoft. tambm considerado
uma verso melhorada do NetBIOS.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
116
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 105
7.4. INSTALANDO O SAMBA
7.4.1. INSTALANDO CDIGO FONTE
Inicialmente necessrio instalar todos os requisitos para a compilao do
samba. Essa informaes esto presentes nos arquivos README e INSTALL do
cdigo fonte. Depois disso, basta obter o cdigo fonte no site do produto e realizar a
instalao propriamente dita. Neste material a verso utilizada foi a 3.0.20.
tar zxvf samba-versao.tar.gz -C /usr/local/src
cd /usr/local/src/samba-versao/source
./configure
make
make install

Os principais programas que acompanham o pacote do Samba so:

Programa
s
Descrio
nmbd
Daemon que permite a traduo de nomes Windows em seus endereos
IP.
nmblookup
Aplicativo cliente para consultas servidores WINS, traduz nomes
CIFS em IP.
smbclient
Programa semelhante ao cliente FTP que utilizado para acessar
compartilhamentos CIFS remotos.
smbd
Daemon principal do Samba que permite compartilhamento de arquivos,
impresso e autenticao.
smbstatus
Mostra o status atual das conexes no servidor Samba.
testparm
Verifica o arquivo de configurao do Samba por sintaxe errada.

7.4.2. INSTALAO AUTOMATIZADA




yum install samba samba-client samba-doc
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
117
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 106


apt-get install samba smbclient samba-doc

7.5. CONFIGURAO
O arquivo de configurao do Samba o smb.conf. Por padro, este arquivo se
encontra no diretrio /etc/samba/ e pode ser editado diretamente usando o editor de
texto puro de sua preferncia. Ainda possvel utilizar alguns utilitrios visuais como
o SWAT, que uma ferramenta de administrao do samba atravs de interface Web.
O arquivo smb.conf dividido em sees, onde cada seo identificada por
um identificador nico cercado por colchetes [ ], onde cada seo define as
caractersticas individuais de cada diretrio ou de impressoras compartilhadas. Entre
cada seo e outra, existem diretivas definidas por palavras-chaves seguidos do sinal
de igual = e o seu valor em seguida. Para se desabilitar uma diretiva ou criar um
comentrio, simplesmente insira um ponto-e-vrgula ; ou uma cerquilha # no
incio de cada linha. Veja a seguir, as trs sees especiais que por padro j vem
configuradas:

Seo Global
Define os parmetros de configurao gerais padres para o servidor como um todo.
Qualquer opo configurada nesta seo ser aplicada a todo compartilhamento. Entretanto, se
houver no compartilhamento um tipo de definio que j exista na seo global, esta no ser
sobreposta pelos parmetros globais.

Seo homes
Define individualmente os parmetros para os diretrios pessoais (/home/usuario) dos
usurios. Na verdade, esta seo permite que os usurios acessem seus diretrios home no servidor
Samba. Por padro, esta seo j vem pr-configurada de forma que os usurios do Samba tenham
acessos ao seus diretrios pessoais.

Seo Printers
Define os parmetros para todas as impressoras compartilhadas pelo servidor. a partir
destas definies que se compartilha impressoras na rede. Alm destas sees padro, podem existir
tambm as sees criadas pelo administrador.

Seo Profile
Define um perfil quando o servidor samba usado como PDC de domnio.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
118
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 107
7.5.1. SEO GLOBAL
iniciada com [global] e logo abaixo esto as suas opes. Abaixo so
apresentadas as entradas mais bsicas desta seo:

[global]
workgroup = SAMBA
server string = Samba Server

Na verdade, existem mais opes que so apresentadas neste momento por
questes didticas. O manual de configurao do comando (man smb.conf) mostra
com detalhes as diretivas que podem ser usadas na confeco desse arquivo.

Nesta primeira parte note as trs primeiras diretivas:

workgroup
Determina o grupo de trabalho ou o domnio que esse servidor representa ou membro.
Neste caso, o valor para essa diretiva SAMBA.

Grupo de trabalho um grupo de computadores que compartilham recursos entre si
e so listados de forma agrupada, quando solicitado a lista de computadores do
grupo de trabalho.

Domnio um grupo de trabalho que possui um servidor PDC que mantm a lista de
usurios e senhas, de forma que os recursos compartilhados baseiam suas
permisses de acesso, na identificao dos usurios do domnio, etc.

server string
Configura uma descrio do servidor. Por exemplo, no caso de um servidor de impresso,
poderamos substituir o padro Samba Server por Servidor de impresso, isso
ajuda a identificao da funo de um computador em uma rede, uma vez que esse nome
ir aparecer quando se passar o mouse sobre o cone que representa o servidor.

As prximas linhas so parmetros globais relacionados impressora.

printcap name = /etc/printcap
load printers = yes
printing = bsd

printcap name
Define o arquivo de configurao da impressora, ou seja, onde elas esto definidas no
Linux, sendo por padro o arquivo /etc/printcap. O arquivo printcap o arquivo
principal do Linux para configurao de impressoras, definindo os nomes, drivers (filtros),
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
119
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 108
dentre outros parmetros para as impressoras.

load printers
Faz com que o samba leia automaticamente o arquivo padro /etc/printcap e fornea a
lista das impressoras baseadas neste arquivo, para os clientes que procurem na rede as
impressoras disponveis no servidor samba.

printing
Configura valores padres para todas as opes de comunicao sistemas UNIX em que o
Samba pode ser instalado. um modo de compatibilidade entre eles.



Caso a instalao seja no Linux, dever ser usado o valor printing=BSD, o
valor printing=LPRNG para a impresso baseada em LPRng, ou a opo
printing=CUPS para a impresso baseada no CUPS (opo mais utilizada
atualmente).


Em seguida tem-se mais opes:
log file = /var/log/samba/log.%m
max log size = 50

log file
Define o arquivo de registro de log no samba. A varivel %m pode ser utilizada para
arquivos de log separados por mquina, ou seja, como esta opo temos logs no formato
/var/log/samba/log.nome-da-maquina.

max log size
Define o tamanho mximo do arquivo de log. No exemplo acima o tamanho mximo
atribudo 50KB. Se o tamanho mximo exceder, o smbd fecha o log e o renomeia com a
extenso .old.

security
O parmetro security merece ateno especial, pelo fato de definir e controlar
o nvel de segurana e senhas do Samba. Esta entrada define como o usurio
pode ter acesso ao servidor e consequentemente aos compartilhamentos.
H quatro tipos de opes: share, user, server e domain.

security = share
A caracterstica principal deste tipo de segurana definir uma senha que ser
utilizada para autenticar quem deseja acessar o recurso, independente do
usurio.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
120
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 109
semelhante ao compartilhamento em nvel de senha do Windows, com dois
nveis de acesso diferentes: somente leitura, ou completo (leitura e escrita).
Em sistemas Unix, isto acontece de forma diferente, pois internamente todos
recursos so acessados por um processo tendo um usurio identificado como
dono.

security = user
Define a segurana a nvel de usurio, onde o Samba tentar validar o usurio
solicitante por meio de um ID de usurio existente no Linux e sua senha.

security = server
Define que um servidor externo ir fazer a autenticao da senha. Este
servidor definido pela opo password server. Quando um cliente faz uma
requisio para acessar um recurso do servidor, a autenticao de usurios
repassada para o servidor definido pela entrada password server, podendo ser
tanto um PDC ou BDC.

security = domain
semelhante opo anterior (security = server), porm existem algumas
vantagens e necessrio registrar o servidor samba no domnio do Windows.
Neste esquema, o servidor Linux cadastrado no domnio do Windows e
utiliza o PDC Windows como o servidor que aprova nomes de usurio e
senhas.
Neste caso tambm necessrio utilizar a opo password server para definir
o PDC Windows.

A seguir mais opes para a seo global:

; password server = NomeServidorWindows
encrypt passwords = yes
smb passwd file = /etc/smbpasswd

password server
Usado somente em conjunto com as opes server e domain da entrada security,
especifica o servidor de autenticao.

encrypt passwords
usado para que o Samba possa autenticar uma senha criptografada. Para isso ele precisa
ter acesso a verso criptografada da senha. H duas maneiras de conseguir isso:
A primeira conseguir configurar o parmetro security para server e deixar que um
outro servidor valide a senha, para que isso funcione, voc precisa configurar tambm o
parmetro encrypt passwords como yes e garantir que o parmetro password server
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
121
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 110
esteja configurado com o nome de um servidor Windows que possa validar as senhas dos
usurios.
No segundo caso voc deve-se fazer com que o Samba mantenha o prprio arquivo de
senhas criptografadas. No arquivo smb.conf o parmetro security deve ser configurado
com a opo user e o parmetro encrypt passwords como yes.

O arquivo de senha do samba definido pelo parmetro smb passwd file.

smb passwd file
Define o arquivo de senha do samba. Este arquivo anlogo ao /etc/passwd, tendo a
mesma funo, porm utilizado somente pelo samba.

; include = /etc/smb.conf.%m
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
; interfaces = 192.168.1.2/24 192.168.1.2/24

include
Permite que parmetros adicionais de configurao sejam especificados em outros arquivos
especficos. Por exemplo, se essa opo for configurada como no exemplo acima, o samba
poder processar arquivos particulares por mquina. Por exemplo, caso exista o arquivo
/etc/smb.conf.comercial, significa que este arquivo ser includo configurao do
samba e possuir diretivas vlidas somente para o cliente comercial.

local master = no
; os level = 33
; domain master = yes
; preferred master = yes

local master
Quando se quer que o servidor Samba seja candidato eleio de Local Master
(Localizador Mestre Local) pelos computadores da sub-rede, atribuir o valor yes.

os level
Serve para diminuir ou aumentar as chances do Servidor Samba ser eleito. O valor 32
corresponde ao Widows Server.

preferred master
Caso se queira que o servidor Samba sempre seja eleito, atribua valor yes para este
parmetro. Esta opo dever ser acompanhada com a opo domain master.

domain master
Permite que o Samba atue como localizador Master Domain para o domnio. Ele ir, ento,
coletar e manter listas de computadores fornecidas pelos Local Masters da rede local.
Caso j exista um PDC na rede em que se estiver trabalhando, desative essa opo, pois o
Linux pode entrar em conflito com o PDC, sempre forando uma reeleio, gerando
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
122
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 111
trfego intenso e provveis conflitos e problemas na listagem de computadores da rede.

Os prximos parmetros permitem que o Linux de suporte a scripts de logon e
perfis de usurios.

; domain logons = yes


; logon script = %m.bat
; logon script = %U.bat
; logon path = \\%L\Profiles\%U

domain logons
Permite que o Samba autentique os clientes Windows que seja pertencentes a esse
domnio. Portanto, esta opo essencial para quando o Linux estiver atuando como um
PDC.

Alm da opo domains logon, a seo [netlogon] tambm dever estar
habilitada quando o Linux estiver atuando como PDC, pois os clientes
acessam este compartilhamento no servidor quando efetuam o logon.

logon script
Permite que os clientes executem o script de logon especificado, logo depois que o logon
efetuado.

logon path
Usado para configurar o diretrio onde os perfis ambulantes para os clientes Windows 95 e
98 so armazenados. Cada perfil, armazena as informaes pessoais de cada usurio.
A vantagem da primeiro mtodo menos trfego na rede e logon na rede mais rpido; a
vantagem do segundo mtodo que todas as alteraes realizadas em uma mquina estaro
disponveis quando se efetuar logon em outra mquina, levando consigo o seu perfil, da a
denominao perfil ambulante ou mvel.
Para se configurar esta opo, podem ser utilizadas as variveis citadas anteriormente. A
varivel %L substituda pelo nome do prprio servidor samba atuando como PDC. Por
exemplo, suponha que o seu servidor samba que esteja atuando como PDC tenha nome
comercial e esta opo seja especificada como logon path=\\%L\perfis\%U, ento, o
servidor comercial ser utilizado para armazenar os perfis dos usurios no
compartilhamento perfis, em diretrios especficos por usurio, por exemplo,
\\comercial\perfis\fulano.

Os prximos parmetros controlam a capacidade do Samba para trabalhar
com o WINS (Windows Internet Naming Service). Pois o Samba pode atuar como
servidor WINS para uma sub-rede. Para isso um servidor de WINS ir manter uma
relao das mquinas de sua rede, seus nomes NetBIOS e endereos IPs para
responder s consultas.

; wins support = yes


Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
123
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 112
; wins server = w.x.y.z
; wins proxy = yes
dns proxy = no

wins support
Este parmetro determina que o samba deve atuar como um servidor WINS da sub-rede.

wins server
Este parmetro utilizado caso j se tenha um servidor WINS na sua sub-rede. O Servidor
WINS informa ao samba quem ele , e permite que o samba comunique-se com ele. Na
verdade, este parmetro permite que o Linux seja um cliente WINS.

wins proxy
Esta opo utilizada para que o samba atue como um procurador (proxy), repassando as
resolues de nome da sub-rede, para outro servidor WINS. O verdadeiro servidor
WINS dever estar devidamente preparado para receber as informaes de resoluo de
nomes, e geralmente fica localizado em outra sub-rede, sendo indicado pela opo wins
server.

dns proxy
Permite que o Samba use consultas DNS para verificar nomes CIFS (SMB) enquanto atua
com um servidor WINS. Ou seja, caso o nome de um host no seja encontrado via WINS,
o nmbd utilizar consultas DNS para resolver os nomes. Caso no se tenha um servidor
DNS na rede, melhor certificar-se que esse parmetro seja configurado como no.

7.5.2. SEO HOMES
Esta seo permite que os usurios tenham acesso aos seus diretrios base.
Atravs desta entrada todos usurios do samba tero acesso a sua pasta que est
dentro do diretrio /home.

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
124
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 113

Compartilhamento do diretrio /home para estao de trabalho Windows.

Ao usurio efetuar logon, o samba mapear o arquivo passwd, e descobrir
atravs de seu UID o seu diretrio base. Este acesso feito atravs do smbd.

[homes]
comment = Diretorios Pessoais
browseable = no
writable = yes


comment
Permite fornecer uma descrio a este compartilhamento.

browseable
Quando assinalado com a opo yes permite que os usurios visualizem o diretrios base
de todos os usurios. Quando assinalado com a opo no, no ser possvel visualiz-la, esta a
opo mais segura, pois no h necessidade de que os usurios vejam os diretrios de seus colegas.

writable
Quando assinalado com a opo yes, o compartilhamento pode ser escrito. Com a opo
no, o compartilhamento apenas pode ser lido.
7.6. SAMBA COMO PDC

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
125
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 114

Linux como controlador de domnio primrio.

Neste tpico apresentaremos uma configurao bsica do arquivo
smb.conf, ou seja, um resumo de quais opes devem ser alteradas para que o
Linux se torne o PDC da rede. Nessa configurao todos os usurios devero ser
autenticados para terem acesso aos compartilhamentos no Samba.
Ser necessrio efetuar o cadastramento dos usurios na base Samba, pois o
algoritmo utilizado no SMB no o mesmo que do Linux.

workgroup = 3waynet
server string = PDC do domnio "3waynet"
security = user
encrypt passwords = yes
smb passwd file = /etc/smbpasswd
local master = yes
domain master = yes
preferred master = yes
domain logons = yes

[homes]
comment = Diretorios Pessoais
browseable = no
writable = yes

Sempre que for alterado o arquivo de configurao do samba ser necessrio
reiniciar o servio samba.


Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
127
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 115

/etc/init.d/smb restart



/etc/init.d/samba restart



7.7. CONTA DE USURIO SAMBA

Aps configurar os compartilhamentos, necessrio criar contas de usurios
para o samba. Estas contas so definidas em arquivo diferente do passwd do Linux.
Estes usurios so cadastrados no arquivo /etc/smbpasswd, atravs da sequncia de
comandos abaixo:

adduser fulano
smbpasswd -a fulano


O segundo comando cria um novo usurio samba atravs da opo -a.

Para adicionar as mquinas no domnio ser necessrio habilitar o usurio
administrativo do servidor samba. Esse usurio o root, no entanto, no o mesmo
do sistema, inclusive as senhas devero ser diferentes.

smbpasswd -a root

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
128
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 116

Administrao de usurios do Samba.



Este usurio tambm deve estar criado anteriormente na base Linux. Tanto
no passwd quanto no smbpasswd os UIDs do usurio devem ser os mesmos.
Esse costuma ser um problema muito comum em servidores Samba.


O comando smbpasswd tambm permite outras opes de manuteno de
contas, tais como:
alterao de senha de um usurio: smbpasswd usuario
remoo de uma conta de usurio: smbpasswd -x usuario
desabilitar uma conta de usurio: smbpasswd -d usuario

7.8. CONTA DE MQUINA SAMBA

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
129
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 117

Administrao de contas de mquinas


Para clientes Windows poderem participar de um domnio controlado por um
servidor samba, deve-se criar contas de mquinas para estas estaes. Segue um
exemplo:

useradd -g nobody -c "Conta de maquina samba" -s /bin/false maq$


smbpasswd -a -m maq$

O primeiro comando cria a conta para mquina maq. O sinal $ deve ser
acrescentado, pois se trata de uma conta de mquina. As outras opes, adicionam
esta conta no grupo nobody atravs da opo -g, a opo -c insere um comentrio, a
opo -s define o shell para este usurio, como o mesmo uma conta de mquina, ele
no necessita de um shell vlido. O segundo comando adiciona a conta de mquina
no samba, a opo -m utilizada para atribuir a conta de mquina.



Um Windows Server configurado como servidor autnomo (sem controlar
nenhum domnio) tambm pode participar de um domnio controlado por um
servidor samba, sendo tambm necessrio criar uma conta de mquina, de
forma idntica a criao de contas de mquina para estaes.

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
130
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 118

7.9. SERVIDOR SAMBA EM UM DOMNIO

Servidor Samba como parte de um domnio.

Como foi dito anteriormente, quando especificamos no arquivo smb.conf a
opo security=domain, significa que o servidor samba ir fazer parte do domnio,
repassando todos os pedidos de permisso de acesso ao PDC (podendo ser Linux ou
Windows). Para que o servidor samba possa fazer parte do domnio preciso
configurar o servidor samba adequadamente, configurando as opes do arquivo
smb.conf, com as seguintes configuraes:

[global]
security = domain
workgroup = dominioteste
password server = pdcteste

Ser necessrio criar uma conta de mquina no servidor o Samba como


descrito anteriormente. Tambm ser preciso executar o comando smbpasswd para
adicionar o servidor samba ao domnio especificado.

smbpasswd -j dominioteste -r pdcteste
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
131
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 119
7.10. COMPARTILHAMENTOS DE ARQUIVOS
Para definir os compartilhamentos de arquivos no Samba preciso criar
sees personalizadas. Todos os compartilhamentos so definidos atravs de
diretrios que esto na rvore de diretrios do Linux. Pode-se ter compartilhamentos
sob vrios nveis de segurana: share, user, server e domain. O primeiro tipo
classificado como compartilhamento com controle de acesso a nvel de senha, pois
somente se exigido uma senha para ser acessada, enquanto que as opes restantes
so considerados compartilhamentos com controle de acesso a nvel de usurio, pois
exige-se que os usurios sejam autenticados.

7.11. CONTROLE DE ACESSO A NVEL DE SENHA

Controle de acesso nvel de senha.

Abaixo seguem as alteraes que se deve fazer para ter uma configurao de
controle de acesso em nvel de senha.
[global]
security = share

[docs]
path=/documentos
username = usuario
force user = usuario
write list = usuario

O usurio usuario um usurio Unix vlido, com senha definida no arquivo


de senhas do samba e que utilizada para validar o acesso ao compartilhamento docs.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
132
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 120
A diretiva path informa qual diretrio est sendo compartilhado, o qual dever ter as
devidas permisses de escrita para o usurio usuario. A diretiva username utilizada
quando o cliente no fornecer o usurio, mas tambm no restringe quando algum
outro for fornecido. A diretiva force user tem a funo de informar qual usurio
ser utilizado como dono do processo que acessa o sistema de arquivos, ou seja,
todas as permisses do diretrio compartilhado devero estar de acordo com este
usurio. A diretiva write list informa quais so os usurios com permisso de escrita
neste compartilhamento; esta opo no sobrepe as permisses do sistema de
arquivo, portanto o sistema de arquivo tambm tem que permitir permisso de escrita
para esta lista de usurios.
7.12. CONTROLE DE ACESSO A NVEL DE USURIO
No compartilhamento a nvel de usurio, ou seja, com a opo security=user,
os usurios so identificados, geralmente efetuando logon no servidor Samba que
atua como PDC, e portanto, os processos que acessam o sistema de arquivos rodam
tambm com o usurio identificado como dono, desta maneira, alm de inicialmente
serem verificadas as permisses de cada compartilhamento, as permisses do sistema
de arquivo sero tambm aplicveis ao usurio identificado na autenticao. Por
exemplo, caso um usurio em um cliente Windows efetue logon em um servidor
como usurio usuario e senha abc123, o servidor PDC (Samba) ir criar um processo
smbd para atender este usurio, com o usuario como dono; desta forma todas
permisses do sistema de arquivos, onde as informaes de compartilhamentos se
encontram, devem ter as permisses devidamente configuradas para o usurio
usuario.


Controle de acesso ao servidor atravs de usurio e senha

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
133
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 121
Segue as opes que devero ser alteradas para ser criado um
compartilhamento com controle de acesso a nvel de usurio.

[global]
...
security = user
domain logons = yes
...
[tmp]
comment = Diretrio temporario
path = /tmp
writable = no
browseable = yes
public = yes

[docs]
comment = Documentos
path = /dados/documentos
public = no
writable = yes
create mode = 0750
directory mode = 0744
valid users = usuario @diretoria @coordenacao
hosts allow = maq1

Estas sees definem compartilhamentos. O primeiro define um


compartilhamento de um diretrio temporrio e o segundo um diretrio de
documentaes. Abaixo esto denominados os parmetros que ainda no foram
apresentados:

path
Define o caminho do compartilhamento no Servidor Samba.

public
Permite qualquer um acessar este compartilhamento

create mode
Todo arquivo criado neste compartilhamento ter as permisses definidas atravs deste
parmetro. Neste exemplo temos os parmetros octais igual a 0750. Onde o primeiro
nmero indica os atributos de SUID, SGID ou stick bit.

directory mode
anlogo ao parmetro create mode, a nica diferena que as permisses definidas por
este parmetro sero aplicadas a todos os diretrios criados a partir deste
compartilhamento.

hosts allow
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
134
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 122
Estabelece polticas de acesso baseado em endereos IP ou atravs de nomes de mquinas
Windows. Coloque apenas o primeiro nome no utilize o nome + domnio. Todos acessos
ao servidor so estabelecidos atravs de usurio e senha, com este parmetro permitido
estabelecer tambm quais mquinas podem acessar este compartilhamento.

valid users
Restringe o acesso a determinados usurios, mas ainda pode-se especificar um grupo. Para
isto, coloque o caractere @ no incio do nome do grupo, por exemplo valid users =
@treina. Isto far que apenas usurios do grupo treina tenham acesso ao
compartilhamento.
7.14. O UTILITRIO TESTPARM
Este utilitrio utilizado para deteco de erros no arquivo de configurao
smb.conf. O formato do testparm segue o exemplo abaixo:

testparm
Load smb config files from /etc/smb.conf
Processing section "[homes]"
Processing section "[tmp]"
Processing section "[docs]"
Loaded services file OK.
Press enter to see a dump of your service definitions

Se a sintaxe deste arquivo estiver correta, a execuo deste programa mostra


inicialmente a listagem das sees. Se for pressionado <enter>, uma longa lista das
diretivas associadas cada seo apresentada, inclusive com opes padres da
seo [global].


O utilitrio testparm no muito rigoroso na verificao da sintaxe, pois
ele verifica apenas os erros mais evidentes.

7.15. SCRIPT DE LOGON
A opo logon script indica o script que executado no cliente logo depois
que este efetua logon. Portanto, ela s vlida quando o samba estiver atuando como
PDC. Para se criar um script de logon, deve-se primeiro na seo global do arquivo
de configurao do samba, habilitar as linhas referentes ao scripts de logon:

# logon script = %m.bat


# run a specific logon batch file per username
# logon script = %U.bat
logon script = teste.bat
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
135
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 123

Neste exemplo, deve-se criar um simples executvel denominado teste.bat.



A seo [netlogon] tambm dever ser habilitada, uma vez que todo cliente
que efetua logon no domnio, por padro acessa o compartilhamento netlogon,
conforme visto a seguir.

[netlogon]
comment = Network Logon Service
path = /usr/local/samba/lib/netlogon
guest ok = yes
writable = no
share modes = no

preciso habilitar o compartilhamento [netlogon] e criar o diretrio netlogon
(path=/usr/local/samba/lib/netlogon). Dentro do compartilhamento netlogon deve existir o
arquivo "teste.bat" (nome aleatrio, mas deve ser o indicado na configurao). Tambm preciso
observar as permisses deste compartilhamento, pois elas devem estar disponveis para todos,
inclusive convidados (guest=ok), mas no deve ser gravvel (writable=no) para ningum. A
ltima opo especificada neste arquivo (share modes=no) desabilita qualquer tentativa de clientes
obterem leitura ou escrita exclusiva em algum dos arquivos disponveis neste compartilhamento.

mkdir -p /usr/local/samba/lib/netlogon

O Samba possui duas opes no muito utilizadas para definir scripts, so as
opes logon script=%m.bat e logon script=%u.bat, sendo que respectivamente,
scripts por usurios e por mquinas. recomendvel habilitar apenas uma delas por
vez, retirando o sinal de comentrio ; que a precede.
Se for habilitada a opo por mquina, termos ento: %m.bat, onde o %m uma
varivel que ser substituda automaticamente pelo Samba quando um usurio efetuar
logon via Samba. Deste modo, torna-se necessrio manter um script para cada
mquina. Por exemplo, se existirem duas mquinas com os nomes maq01 e maq02,
ento dever construir dois scripts com os nomes maq01.bat e maq02.bat.
Caso seja habilitada a opo %u.bat, torna-se necessrio manter um script para
cada usurio, e a varivel %u ser substituda pelo nome do usurio. Por exemplo, se
tivermos dois usurios, jose e maria, teria-se ento que construir um script para cada,
com os nomes jose.bat e maria.bat.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
136
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 124

Esquema de execuo do script de logon

Para criar o script de logon ser utilizado um editor de textos puro, o vi, por
exemplo. No entanto preciso lembrar que o Unix possui um formato de texto-puro
diferente do Windows. O Unix demarca cada final de linha com o caractere especial
denominado retorno de carro, representado pelo caractere de escape \r, enquanto que
o Windows utiliza o retorno de carro em conjunto com o nova linha (este
representado representado pelo \n). Para solucionar esse problema basta converter o
arquivo criado no Linux para um formato legvel no Windows com a ferramenta
unix2dos ou criar esse arquivo no Windows com o notepad ou outra editor de texto
puro.
Uma tarefa muito realizada por scripts de logon mapear uma unidade de
rede em mquinas Windows. Mapear uma unidade de rede criar um atalho no
Windows que aponte para um diretrio que esteja em alguma mquina da rede. Por
exemplo, possvel criar um atalho no Windows chamado H: que leve diretamente
para o diretrio do usurio no servidor Samba, deste modo, quando o usurio estiver
trabalhando em sua estao Windows ele poder acessar seu diretrio no servidor
apenas clicando em H: no Windows Explorer.
A linha de comando abaixo deve ser inserida no logon script para realizar o
mapeamento de um compartilhamento:

net use H: \\servidor\usuario

Deste modo, ao ser executado, esse script iria criar uma unidade de rede
chamada H: que levaria diretamente para o diretrio do usurio usuario no servidor e
a sincronizao do relgio do cliente com o servidor seria realizada.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
137
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 125

7.16. SERVIDOR WINS
O servidor WINS surgiu da necessidade de resoluo de nomes no protocolo
NetBIOS (SMB) para endereos IP. Neste protocolo a resoluo de nomes feito
atravs de broadcast. No WINS todas as mquinas registram seu endereo IP, o seu
nome e a funo no servidor WINS. Assim, o servidor WINS mantm uma relao de
nomes e endereos IPs de todas as mquinas da rede.

Funcionamento do Servidor Wins

7.16.1. SAMBA COMO CLIENTE WINS
Esta configurao baseada na alterao de duas instrues na seo global
do arquivo de configurao.

wins server = 192.168.1.10
name resolve order = wins lmhosts bcast

A primeira linha utilizada para definir o endereo IP do servidor WINS. A
segunda linha define a ordem de consulta para resoluo de nomes.
7.16.2. SAMBA COMO SERVIDOR WINS
Configure as seguintes entradas que esto na seo global do arquivo de
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
138
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 126
configurao do samba:
wins support = yes
name resolve order = wins lmhosts bcast

A primeira entrada configura o samba para funcionar como Servidor WINS.
Por questes bvias as opes wins server e wins support no podem ser utilizadas
simultaneamente. O parmetro name resolve order define a ordem de resoluo de
nomes Windows.

7.17. COMPARTILHANDO IMPRESSORAS

Servidor Samba compartilhando impressora

Da mesma forma que o Samba compartilha diretrios, o Samba permite
compartilhar Impressoras. Por padro o smb.conf j vem com a seo [printers], esta
seo utilizada para definir compartilhamentos de impressora. O nico esforo, caso
no queira atribuir polticas de segurana, seria descomentar os parmetros e deixar
assim como apresentado:

[printers]
comment = All Printers
path = /usr/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes

printable
Faz com que o Samba trate este compartilhamento como uma impressora, esta opo deve
estar assinalada com yes.

guest ok
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
140
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 127
Define se as contas guest tem permisso ou no de acessar o recurso.
7.18. SAMBA COMO CLIENTE
Os comandos abaixos so muitos utilizados para manuteno, teste,
verificao, etc. Segue abaixo alguns do principais utilitrios do Samba:

smbclient
Este utilitrio utilizado para transferir e receber arquivos, de forma semelhante a um
cliente FTP. Veja um exemplo:

smbclient //maq3/c -U usuario -I 192.168.1.2

Este comando solicita acesso no compartilhamento c da mquina maq3. A opo -U indica


o usurio que far a autenticao. Quando o compartilhamento permite acesso de usurio convidado
essa opo no ser necessria. A opo -I indica o nmero IP da mquina maq3. Quando o WINS
est corretamente configurado, isto tambm no necessrio. Outra opo tambm til a opo -
L, que lista os compartilhamentos do servidor, por exemplo, smbclient -L //maq3 -I
192.168.1.2.
Uma vez conectado em um compartilhamento, os comandos so semelhantes aos de um
cliente FTP, por exemplo, os comandos: help, ls, get, mget, put, mput, cd, rm,
mkdir, pwd so vlidos.

smbmount
Este comando permite montar compartilhamentos SMB, de forma que os
compartilhamentos montados so tratados como parte do sistemas de arquivo Linux.

smbmount //maq4/d /mnt/comp -o username=usuario ip=192.168.1.102
mount -t smbfs -o username=jonas //maq105/C /mnt/samba

O primeiro parmetro a mquina remota seguido de seu compartilhamento d, esta
mquina remota pode ser uma estao Windows que est com o drive d compartilhado. O outro
parmetro /mnt/comp define o ponto de montagem. A opo -o para utilizar os parmetros
username e ip. O parmetro username utilizado quando o compartilhamento exige um usurio e
senha, o parmetro ip utilizado para especificar o endereo IP da mquina maq4.
As permisses deste diretrio montado sero de acordo com o usurio que foi fornecido.
Para desmontar o diretrio montado, voc pode utilizar o comando smbumount ou o prprio
comando umount.

smbumount /mnt/comp

ou

umount /mnt/comp
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
141
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 128

7.19. SAMBA NO CLIENTE WINDOWS


Depois de ter configurado o servidor Samba corretamente, basta ingressar
normalmente as mquinas Windows no domnio, como se o Samba fosse um
controlador de domnio nativo. A nica restrio acontece em mquinas Windows 7.
As verses do Samba que j possuem suporte so:

Samba 3.4 ou superior
Samba 3.3.5 ou superior
Samba 3.3.2, 3.3.3 e 3.3.4
Samba 3.2.12 ou superior
Se a verso utilizada mais antiga que as descritas acima, provavelmente ser
o Windows retornar mensagens de erro tais como A relao de confiana entre a
estao e o controlador de domnio falhou, porm esse inconveniente contornvel
ao se fazer as alteraes abaixo na Registry do cliente:

HKLM\System\CCS\Services\LanmanWorkstation\Parameters
DWORD DomainCompatibilityMode = 1
DWORD DNSNameResolutionRequired = 0
O Samba tambm traz no seu cdigo fonte um arquivo de correo, o
endereo desse arquivo $SOURCE/docs-xml/registry/Win7_Samba3DomainMember.reg ou
no Samba Bugzilla
(https://bugzilla.samba.org/attachment.cgi?id=4988&action=view). Aps a aplicao
da correo necessrio reiniciar a mquina ou o servio LanmanWorkstation.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
142
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 129
7.20. LABORATRIO

Este laboratrio implementa o Samba como PDC para compartilhamento de pastas e
autenticao de usurios. As mquinas virtuais devero ser usadas para a
implementao. O Linux ser o servidor e o Windows ser o cliente.

Descrio do Ambiente

- Tanto a mquina Linux (Servidor PDC) quanto o cliente Windows XP (Cliente) tero suas
interfaces configuradas no modo Rede Interna para no haver problemas na rede do laboratrio.

- Servidor
Endereo IP: 192.168.3.1
Sub-rede e sub-mscara: 192.168.3.0 e 255.255.255.0
Gateway: 192.168.3.254
Servidores DNS: 192.168.3.253, 192.168.3.252

Domnio Samba: 3WAYLOCAL
Compartilhamentos: /dados/planilhas e /opt/softwares

A. No servidor abrir o arquivo /etc/samba/smb.conf e faa a seguinte
configurao:

/etc/samba/smb.conf
[global]
# --- Nome do seu Servidor ---
comment = Servidor SAMBA PDC
# --- Domnio do servidor PDC ---
workgroup = 3WAYLOCAL
# --- Configuracao para uso de usurio e senha ---
security = user
os level = 100
domain logons = yes
# --- Determina o script logon ---
logon script = %U.bat
# --- Opes de PDC ---
domain master = yes
local master = yes
preferred master = yes
encrypt passwords = yes
debug level = 3
log file = /var/log/samba_log.%u
unix password sync = yes
# --- Secao de Compartilhamentos ---
[netlogon]
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
143
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 130
comment = Scripts
# --- Caminho para os scripts ---
path = /etc/samba/scripts/
public = no
browseable = no
writeable = no
[planilhas]
comment = Planilhas
path = /dados/planilhas
browseable = yes
writeable = yes
force create mode = 0770
force directory mode = 0770
[softwares]
comment = Softwares
path = /dados/softwares
browseable = yes
writeable = no
force create mode = 0700
force directory mode = 0700

B. Reiniciar o servidor para efetivar as configuraes.

chkconfig smb on
/etc/init.d/smb start

C. Criar uma conta de usurio e de mquina.

addgroup maquinas
useradd -d /dev/null -g maquinas -s /bin/false maquina$
smbpasswd -a -m maquina

D. Criar senha administrativa do Samba. Essa senha dever ser diferente do
superusurio.

smbpasswd -a root

E. Agora adicionar o Windows XP ao domnio 3WAYLOCAL. Usar a senha
administrativa do Samba para ingressar a mquina no domnio.

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
144
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 131
7.21. EXERCCIOS

1. Escreva o comando para montar em um cliente Linux, um compartilhamento
chamado docs de um computador de nome serv1 para o ponto de montagem
/var/documentos. O nmero IP do servidor 10.1.0.2 e o usurio fulano.
2. Como fao para: a) visualizar quais so os compartilhamentos de um servidor
de arquivos Windows atravs do Linux? b) Visualizar um contedo de um
compartilhamento CIFS pelo Linux, sem montar o diretrio no Linux?
3. Quais so as opes para a diretiva security e quais as diferenas entre elas?
4. Qual so os passos necessrios para se fazer um servidor Samba atuar
simplesmente como um servidor de arquivos, sem identificar os usurios, porm com
autenticao por senha? E para um PDC, com autenticao de senhas?
5. Preciso fazer com que todos arquivos e diretrios criados no compartilhamento
vendas sejam criados como pertencentes ao grupo vendas, e tambm que todos os
arquivos tenham permisso de escrita e leitura para o grupo e os diretrios tenham
permisses de leitura, acesso e escrita. Como isto poderia ser feito?
6. Qual as semelhanas e diferenas do WINS e do DNS? Como se configura um
servidor WINS no samba?
7. Quais so os passos necessrios para se compartilhar uma impressora no
Linux?
8. Descreva as caractersticas dos protocolos: SMB, NetBEUI, NetBIOS. O que
CIFS? E o que NetBT?
9. Quais seriam os passos para se incluir uma estao Windows NT Workstation
em um domnio controlado pelo Samba? Quais seriam os passos para se incluir um
servidor samba em um domnio pr-existente, tendo um PDC Samba? E se o PDC for
Windows NT?
10. O que o servio localizador [browsing] e qual a sua funo em um grupo de
trabalho? Quais so os tipos de localizadores em um domnio? Como voc pode
influenciar uma votao de um localizador atravs da configurao de um servidor
samba? Se j existir um PDC na rede, conveniente configurar o samba como
localizador mestre do domnio?


Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
145
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 132
7. FTP (FILE TRANSFER PROTOCOL)

7.1. INTRODUO
O FTP acrnimo de File Transfer Protocol (Protocolo de Transferncia de
Arquivos) e est entre os mais antigos servios do UNIX, sendo at hoje um dos
protocolos de maior utilizao na Internet. Sua principal finalidade transferir
arquivos entre estaes, tanto enviando quanto recebendo arquivos.
7.2. PROTOCOLO FTP

Servidor FTP

O protocolo FTP definido por vrias RFCs, mas a principal e mais atual a
RFC 959, e se caracteriza-se por utilizar duas portas para conexo, uma porta
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
146
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 133
utilizada para autenticao do cliente e a outra utilizada para transferncia de dados,
ou seja, ao cliente solicitar uma conexo a um servidor de ftp, primeiramente ele
utilizar a porta de autenticao do cliente, somente depois da autenticao o cliente
passar a utilizar a porta de transferncia de dados e ento poder enviar e receber
arquivos. A porta de autenticao do cliente uma porta para controle, nesta porta possvel
enviar comandos e receber os resultados dos comandos. Existem dois canais distintos de
comunicao para proporcionar um melhor controle. Por exemplo, se no canal de dados estiver
baixando um arquivo, sem nenhuma interferncia possvel cancelar esta operao de download,
atravs do canal de controle.

O arquivo /etc/services define no sistema as portas que servio ftp utiliza.

cat /etc/services | grep ftp
ftp-data 20/tcp
ftp 21/tcp

A primeira entrada a porta ftp-data responsvel pela transferncia de dados.


A segunda a porta de autenticao de usurios. Os nmeros das portas so 20 e 21
respectivamente.



Processo de comunicao Cliente/Servidor FTP

O servio FTP geralmente controlado pelo super-daemon xinetd/inetd. Ou
seja, eles podem controlar o servio, de forma que quando um cliente solicita uma
conexo com a porta 21, o super-daemon automaticamente cria uma nova instncia
do daemon ftp para atender a solicitao do cliente.
7.3. INSTALAO
Os principais servidores FTP disponveis para o Linux so: vsftpd, proftpd,
wu-ftpd e o pure-ftp.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
147
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 134
O vsftpd um dos mais seguros servidores de FTP utilizados em sistemas
UNIX e ser o utilizado para demonstrao.

Padres Vsftpd
Portas padro: TCP/UDP 21 e 20
O principal arquivo de configurao: /etc/vsftpd/vsftpd.conf
Os usurios que no tm permisso para logar via ftp: /etc/vsftpd/ftpusers
7.3.1. INSTALAO CDIGO FONTE
Uma vez obtido o cdigo fonte (vsftpd.beasts.org), mova o cdigo fonte para um diretrio
conveniente. Verificar os pr-requisitos do software nos arquivos README ou INSTALL antes de
iniciar a compilao, normalmente so o gcc, make e bibliotecas padro do C.

tar zxf vsftpd-versao.tar.gz -C /usr/local/src
cd /usr/local/src/vsftpd-versao
make
make install
7.3.2. INSTALAO AUTOMATIZADA


yum install vsftpd


apt-get install vsftpd

7.4. USURIOS FTP
O FTP trabalha praticamente com 2 tipos de usurios: anonymous (Annimo)
e real (Real). A diferena entre eles ser descrita adiante.

Usurio Annimo
No se precisa de senha com esse tipo de usurio. Essa implementao se d
com a edio do arquivo /etc/vsftpd/vsftpd.conf da seguinte maneira:

/etc/vsftpd/vsftpd.conf
listen=YES
#listen_address=IP_da_interface_de_escuta
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
148
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 135
local_enable=NO
anonymous_enable=YES
write_enable=NO
anon_root=/var/ftp/pub
xferlog_enable=YES
xferlog_file=/var/log/xferlog

/etc/init.d/vsftpd start

Usurio Real
Este usurio caracterizado por ter uma conta normal no sistema Linux, ou seja, possui um
login e uma senha para acessar o sistema. Este usurio pode navegar por toda a rvore de diretrio
do Linux desde que tenha as devidas permisses. Por padro, quando o usurio criado no
sistema ele ter imediatamente acesso ao servidor FTP.
O servio FTP no criptografa as senhas que trafegam pela rede, portanto,
recomendvel que o super-usurio no possa acessar o servio como cliente. Em
alguns casos, necessrio at desabilitar os usurios reais para no correr riscos. O
arquivo que faz essas restries /etc/ftphosts.
Uma implementao bsica desse tipo de usurio ser apresentada abaixo:

/etc/vsftpd/vsftpd.conf
listen=YES
#listen_address=IP_da_interface_de_escuta
local_enable=YES
anonymous_enable=NO
connect_from_port_20=YES
write_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/xferlog
ftpd_banner=Servidor FTP 3WayLocal
userlist_enable=YES

/etc/init.d/vsftpd restart
7.5. FIREWALL E IP_CONNTRACK
Para o perfeito funcionamento do FTP importante configurar o mdulo ip_conntrack_ftp
e criar algumas regras de firewall como se segue:

/etc/sysconfig/iptables-config
IPTABLES_MODULES="ip_conntrack_ftp"

/etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -p tcp --dport 21 -j ACCEPT

/etc/init.d/iptables restart

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
149
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 136
7.6. ARQUIVOS DE LOG DO FTP
O Principal arquivo de log o /var/log/xferlog. O contedo desse arquivo
apresenta algo semelhante ao trecho abaixo:

/var/log/xferlog
Thu Mar 28 00:32:11 2012 1 192.168.1.118 79 /documento.doc b _ o a
[none_given] ftp 0 * c
Thu Apr 11 01:00:16 2012 1 192.168.1.110 15 /texto.txt b _ o r antonio
ftp 0 * c

Neste arquivo possvel notar informaes como o usurio que acessou o servidor, data e
hora de acesso, arquivo que este enviou ou obteve. A primeira linha desta sada referente ao
usurio anonymous. A segunda linha referente ao usurio antonio.
Os logs do FTP tambm so observados no arquivo /var/log/messages que utilizado
pelo syslogd.

tail -n6 /var/log/messages
Apr 11 00:34:18 maq19 ftpd[1511]: FTP LOGIN FROM maq10.3waylocal.net.br
[192.168.1.110], main
Apr 11 00:37:28 maq19 ftpd[1511]: FTP session closed
Apr 11 00:53:35 maq19 ftpd[1567]: FTP LOGIN FROM maq13.3waylocal.net.br
[192.168.1.113], antonio
Apr 11 00:59:52 maq19 ftpd[1575]: FTP LOGIN FROM
maq10.3waylocal.net.br[192.168.1.110], maria
Apr 11 01:00:19 maq19 ftpd[1575]: FTP session closed
Apr 11 01:07:15 maq19 ftpd[1567]: FTP session closed

7.7. EXECUTANDO O CLIENTE FTP


A conexo em um servidor FTP via linha de comando feita de acordo com a
sintaxe abaixo:

ftp hostname_ou_IP_servidor

Exemplo: ftp maq1.3waylocal.net.br

A execuo deste comando apresentar uma interface que pedir autenticao.
O usurio para a conexo como annimo anonymous e sua senha nula. J os
outros usurios utilizaro suas senhas de sistema.

Os comandos disponveis para o cliente podem ser visualizados atravs da
ajuda (help) do ftp no seu prprio prompt.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
150
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 137


Processo de transferncia de arquivo entre Cliente/Servidor FTP

Abaixo esto os principais comandos que podem ser utilizados em uma sesso
ftp.

CD
Muda o diretrio de trabalho na mquina remota para diretrio-remoto.
Exemplo: cd diretorio

CHMOD
Muda as permisses do arquivo nome_do_arquivo no sistema remoto para permissoes.
Exemplo: chmod 640 documento.odt

CLOSE
Termina a sesso FTP com o servidor remoto e retorna ao interpretador de comandos local.
Pode tambm ser utilizado quit.
Exemplo: close

DELETE
Apaga o arquivo arquivo-remoto na mquina remota.
Exemplo: delete documento.odt

MGET
Permite receber arquivos da mquina remota. O arquivo ser copiado para mquina local
no diretrio onde o usurio estava ao executar o ftp. Isto pode ser mudado atravs do
comando lcd.
Exemplo: mget documento.odt

MPUT
Permite enviar arquivos da mquina local para a mquina remota.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
151
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 138
Exemplo: mput /opt/arquivos/relatorios.pdf

SIZE
Retorna o tamanho do nome_do_arquivo na mquina remota.
Exemplo: size relatorios.pdf

SIZE
Retorna o tamanho do nome_do_arquivo na mquina remota.
Exemplo: size relatorios.pdf

SYSTEM
Mostra o tipo do sistema operacional utilizado na mquina remota.
Exemplo: system

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
152
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 139
7.8. LABORATRIO

Essa implementao no ser mais difcil da que j foi vista, pois aqui ter maior
enfoque nos testes do servidor.

Configurao
/etc/vsftpd/vsftpd.conf
listen=YES
#listen_address=IP_da_interface_de_escuta
local_enable=YES
anonymous_enable=NO
connect_from_port_20=YES
write_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/xferlog
banner_file=/etc/vsftpd/issue
userlist_enable=YES

/etc/init.d/vsftpd restart

Criao do banner
/etc/vsftpd/issue
NOTA PARA USUARIOS
O uso desse servio implica no consentimento de monitoramentos e testes.
Todas as atividades sero gravadas com o seu endereo IP e nome de host.

Inicializao automtica no boot
chkconfig vsftpd on
/etc/init.d/vsftpd start
netstat -tulpn | grep :21

Executando os testes a partir dos clientes
$ftp ip_servidor
system
ls
mput /etc/printcap
size printcap
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
153
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 140
7.9. EXERCCIOS
1. Qual a diferena entre os usurios real, convidado e annimo?
2. Quais so as portas que um servidor FTP utiliza e qual a funo delas?
3. Quais seriam os passos necessrios para se habilitar o acesso annimo ao
servidor FTP? Qual seria o(s) possvel(is) procedimento(s) para desabilitar ftp
annimo?
4. Como eu poderia impedir que determinados usurios pudessem efetuar logon
no servidor ftp? Qual seria um possvel motivo para impedir algum usurio de efetuar
logon no servidor ftp?
5. Suponha que voc deseje que todos usurios reais tenham acesso negado, mas
liberando somente usurios annimos. Mostre pelo menos duas formas de
implementar esta opo. Qual seria a forma mais simples? Cite uma situao onde
este tipo de configurao seria conveniente.
6. Como eu habilitaria que um usurio annimo pudesse fazer envio de arquivos
(upload) em um diretrio especfico? Quais riscos de segurana poderia ter esta
permisso e o quais medidas de segurana poderiam ser feitas tornar essa permisso
mais segura?






Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
154
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 141
8. SERVIDOR WEB

A principal funo de um servidor web disponibilizar dados, podendo ser
imagens, vdeos, udio, ou arquivos em geral. Estes dados so passados para os
clientes de forma que estes possam exibir as informaes. O cliente de um Servidor
Web o browser ou navegador (por exemplo, Internet Explorer, Mozilla Firefox,
Google Chrome, Opera, Lynx, eLinks, etc) e o formato entendido por eles o HTML
(HyperText Markup Language) que a linguagem utilizada para formatar e definir
pginas da Internet.


Processo de requisio de uma pgina web na Internet

O servidor web utiliza-se do protocolo HTTP (HyperText Transport Protocol),
o protocolo mais conhecido da Internet, que utiliza-se de hiper-textos, que so textos
com referncias (links) que levam a outros textos, formando uma teia de pginas
interligadas, da vem o nome WWW que significa World Wide Web (Grande Teia
Mundial).
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
155
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 142
8.1. WORLD WIDE WEB
A World Wide Web (WWW) a estrutura pela qual documentos espalhados
por todo mundo so acessados na Internet. Em seus primrdios, os documentos eram
formados somente de texto, mas com o tempo foi-se agregando figuras (jpeg, gif,
etc), animaes grficas (Flash, gifs animados, etc), udio (.au, .wav, .MP3, etc),
vdeo (MPEG, divx, etc), desta maneira, os documentos tornaram-se mais poderosos
e de interface mais amigvel, repercutindo em sua enorme popularidade atual.
Dentro da vertente cliente/servidor, tem-se como cliente, o navegador, no lado
servidor tem-se os processos servidores que escutam a porta 80 do protocolo TCP,
aguardando por solicitaes de clientes. Devido principal funcionalidade do
protocolo, a de servir contedo aos clientes, este se baseia em solicitao e resposta
atravs de conexes temporrias com durao suficiente para solicitar o contedo e
baixar o contedo solicitado. Este protocolo baseado em solicitao e resposta o
HTTP.

Procedimento de acesso ao Servidor Web.

1. O navegador pergunta ao DNS: Qual o endereo IP de
www.3way.com.br?
2. O DNS responde: o endereo IP 67.20.58.196.
3. O navegador estabelece uma conexo com a mquina 67.20.58.196 na
porta 80 atravs do protocolo HTTP.
4. Em seguida, o navegador envia um comando HTTP:
GET /jpaulo/apostilarede.html
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
157
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 143
5. O servidor www.3way.com.br envia o arquivo apostilarede.html para o
cliente.
6. O navegador, depois de baixar o arquivo solicitado, faz a formatao
apresentao do mesmo em HTML (apostilarede.html)
8.2. O APACHE
O servidor apache o servidor Web mais popular no mundo devido ao seu
desempenho, portabilidade, flexibilidade e baixo custo. Ele foi desenvolvido a partir
do servidor Web mais popular antigamente, chamado o daemon httpd, de domnio
pblico e desenvolvido por Rob McCool no NCSA - Nacional Centre for
Supercomputing Aplications. O desenvolvimento deste servidor Web estagnou-se
quando seu autor deixou a NCSA. A partir deste momento, vrios voluntrios
(webmasters) que conheciam o daemon httpd se interessaram em dar seguimento ao
projeto. Estes colaboradores formaram o que chamado de Projeto Apache. Em
menos de um ano de trabalho, o servidor Apache, em sua verso 1.0 lanada em abril
de 1995, superou o servidor httpd da NCSA, tornando o Servidor Web mais utilizado
na Internet. Para maiores detalhes ler sobre o projeto em http://www.apache.org.

8.3. INSTALANDO O APACHE
H basicamente duas formas gerais que podem ser utilizadas para instalar o
Apache. Atravs de pacotes ou compilando-se o cdigo fonte.
8.3.1. INSTALAO CDIGO FONTE
O cdigo fonte do apache pode ser encontrado no endereo
httpd.apache.org/download.cgi. Uma vez obtivo o cdigo fonte, basta satisfazer os
requisitos para instalao e executar os comandos abaixo.

tar zxf httpd-versao-tar.gz -C /usr/local/src
cd /usr/local/src/httpd-versao
./configure --prefix=/usr/local/httpd-versao
make
make install

A opo --prefix do script de configurao de ambiente (./configure), indica qual o


diretrio sob o qual ser criada toda rvore de diretrios, inclusive com todos os arquivos de
configurao, binrios, etc. Neste caso o diretrio escolhido foi /usr/local/httpd-versao, onde
versao representa a verso do apache desejada. O comando make compila o cdigo fonte do apache
e o comando make install copia os arquivos gerados para a rvore de diretrios criados em
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
158
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 144
/usr/local/httpd-versao.
Para informaes mais detalhadas sobre o procedimento de instalao podem ser vistas nos
arquivos README ou INSTALL que se encontram na raiz do diretrio extrado.

8.3.2. INSTALAO AUTOMATIZADA


yum install httpd



apt-get install apache2 apache2-utils

8.4. PROTOCOLO HTTP
Este o protocolo padro de transferncia de contedo nos Servidores Web. Para
conhecer mais a fundo a sintaxe deste protocolo, ser utilizado o utilitrio telnet,
pois atravs dele pode-se realizar uma comunicao a nvel de protocolo HTTP com
o servidor web.

telnet localhost 80
GET /index.html HTTP/1.0
<enter>

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
159
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 145

Procedimento de acesso ao Servidor Web atravs HTTP

Atravs desta experincia, podemos notar que:

O HTTP baseado em solicitaes: note o comando GET e a resposta
(contedo do arquivo /index.html);

Conexes HTTP so temporrias: uma vez fornecido o contedo solicitado
pelo GET (note no argumento do GET o arquivo /index.html) o servidor
desconecta automaticamente o cliente. Note no final da transferncia do
arquivo, a mensagem do telnet Connection closed by foreign host no final
da resposta do servidor;

Existem diferentes verses do HTTP: note que o parmetro HTTP/1.0
significa qual protocolo est sendo utilizado pelo cliente e qual a verso de
HTTP que est sendo utilizada pelo cliente;

Uma linha vazia marca o final da solicitao: apesar de termos enviado
inicialmente para o servidor o comando GET /index.html HTTP/1.0, o
servidor s entende que terminou a solicitao quando for enviado uma linha
vazia, verifique que o servidor s respondeu quando foi teclado <ENTER>;

A resposta HTTP formada de cabealho e contedo: note tambm o
formato da resposta do servidor web, formada de cabealho e contedo. O
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
160
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 146
cabealho formado de informaes de controle, necessrias para a correta
interpretao do contedo. Veja o formato do cabealho:

HTTP/1.1 200 OK
Informao que a solicitao resultou com cdigo de
sucesso 200, que significa OK e a verso do protocolo
HTTP do servidor (verso 1.1)
Date: Sun, 07 Apr 2002 16:29:51 GMT A data do servidor
Server: Apache/1.3.14 (Unix)
(CentOS/Linux) PHP/4.0.3pl1
mod_ssl/2.7.1 OpenSSL/0.9.6
Informaes detalhadas do servidor, alm das
funcionalidades implementadas no servidor (PHP e SSL).
Last-Modified: Thu, 02 Nov 2000
22:00:35 GMT
ltima modificao do contedo solicitado
Content-Length: 2908 tamanho do contedo em bytes
Content-Type: text/html; charset=iso-
8859-1
Tipo do contedo da resposta, juntamente com o tipos de
caracteres utilizados
<linha em branco> Serve para separar o cabealho do contedo.
<linha em branco> Serve para separar o cabealho do contedo.
<contedo> O prprio arquivo solicitado

Este cabealho fornecido pelo servidor tambm utilizado pelo navegador
(cliente) em uma conexo HTTP, porm no apresentado para o usurio. O
cabealho tem bastante utilidade para o cliente, pois permite que tenha uma noo
melhor do contedo fornecido.
8.5. PUBLICAO DA HOME-PAGE
O objetivo ser publicar o exemplo de pgina HTML simples, sem a sofisticao das
pginas vistas nos mais famosos portais. Para isso dever ser feito o seguinte:

Criao de um arquivo com extenso html, pode ser teste.html

Em seguida, mover este arquivo para o diretrio /var/www/html


No Debian/Ubuntu o diretrio para hospedagem das pginas web
somente /var/www e o daemon

Depois, inicializar o servio do Apache, seu nome httpd.

service httpd start

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
161
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 147

Na instalao compilada do Apache no fornecido script de inicializao
do servio, preciso utilizar os comandos apachectl start e apachectl stop
para inicializ-lo ou par-lo respectivamente.

Agora s abrir um navegador, e digitar como URL
http://localhost/teste.html e a pgina ser exibida.
8.6. CONFIGURAO DO APACHE
O arquivo de configurao do Apache fica dentro do diretrio /etc/httpd/conf
(no CentOS/RHEL) e seu nome httpd.conf, j no Debian/Ubuntu ele fica em
/etc/apache2/ com o nome de apache2.conf. A rvore do diretrio de configurao do
Debian/Ubuntu bem diferente do CentOS, pois ao invs de dispor toda configurao
em quase um arquivo apenas, a mesma encontra-se em vrios sub-diretrios.
Em outra distribuio, basta localizar (comandos find ou locate) por algum
desses nomes que se ter uma noo exata do caminho especfico.
As diretivas de configurao mais comuns do Apache sero comentadas a
seguir:

ServerAdmin
Define o endereo de e-mail do administrador do servidor WEB.
ServerAdmin webmaster@3waylocal.net.br

ServerName
Define o hostname completo do servidor e a porta em que ele est atendendo
solicitaes.
ServerName www.3waylocal.net.br:80

DocumentRoot
Estabelece o local onde os documentos Web sero armazenados para exibio
nos clientes.
DocumentRoot /var/www/html

DirectoryIndex
Indica quais sero os arquivos de ndice que sero fornecidos aos clientes
quando do acesso ao servidor (via browser). Podem ser colocados vrios
arquivos, mas se algum desses arquivos no existir, o servidor retornar erro
ou algum contedo no desejado.
DirectoryIndex index.htm index.html index.php default.pl
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
162
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 148

Listen
Esta diretiva especifica quais interfaces e portas o servidor vai escutar. Abaixo
temos dois exemplos, o primeiro especifica a interface e a porta, j o segundo
somente a porta.
Listen 192.168.1.101:80
Listen 7007

UseCanonicalName
Fora o uso de nomes cannicos ao invs de endereos IPs.
Exemplo: supondo que o cliente use o endereo IP 67.20.58.196, se o servidor
web estiver configurado para usar nomes cannicos, imediatamente o
endereo www.3way.com.br ir substituir esse IP.
UseCanonicalName on

ServerRoot
Esta diretiva define o diretrio onde devero ser armazenados os arquivos de configurao,
erros e logs de acessos do servidor Web.
ServerRoot /etc/httpd

CustomLog
Define qual o arquivo de logs de acesso e qual o formato dos logs que este
arquivo seguir.
CustomLog /var/log/httpd/access_log common


Este arquivo utilizado por analisadores de log como o webalizer para se
obter estatsticas de acesso do servidor. Os analizadores de logs
normalmente produzem relatrios HTML muito teis para a administrar o
servidor.

LogFormat
Define o formato dos logs, ou seja, o que vai ser registrado nos arquivos de log. Para isso
existe uma srie de variveis que podem ser utilizadas para facilitar a construo desses
formatos. A baixo tem-se uma tabela de variveis mais teis.

Varivel Descrio
%A
Endereo IP local.
%a
Endereo IP remoto.
%b
Bytes transmitidos.
%f
Nome do Arquivo.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
163
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 149
Varivel Descrio
%h
Host remoto.
%H
Protocolo Requisitado.
%l
Nome de usurio remoto, se foi fornecido.
%r
Primeira linha da solicitao.
%s
Status do retorno.
%t
Data e Hora.
%T
Tempo gasto no atendimento da requisio.
%u
Nome de usurio, obtido de uma autenticao.

Exemplos:
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""
combined
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

ErrorLog
Define o arquivo de log de erros. O diretrio fornecido como argumento desta
diretiva (httpd/error_log) um caminho relativo ao da diretiva ServerRoot.
Ou seja, a localizao absoluta padro deste arquivo seria
/var/log/httpd/error_log.
ErrorLog /var/log/httpd/error_log

User / Group
Define respectivamente o usurio dono e grupo dos processos filhos do servidor Web. O
dono do processo pai sempre o super-usurio (root).
User apache
Group apache

Userdir
Permite que cada usurio do servidor tenha sua prpria pgina Web. Assim, cada usurio
poder publicar seus trabalhos, curriculum, documentrios, etc. A diretiva que implementa
esta funcionalidade a UserDir.
UserDir public_html


1. Criar o sub-diretrio na raiz do diretrio home chamado public_html
com as permisses 755;
2. Modificar as permisses do home do usurio para 711, para que o
processo httpd tenha acesso de leitura no diretrio para o usurio apache.
3. Postar os documentos html que se deseja dentro de public_html.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
164
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 150

Alias
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
165
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 151
Permite definir apelidos para diretrios no usuais. Esses apelidos so
digitados aps a prpria URL do site e levam a qualquer diretrio do filesystem
definido na configurao. Normalmente vem antes de uma diretiva Directory (que
determina a configurao dos diretrios).
^!`u: ud dudo:3uyu:`uoud`:tuu`u

Directory
A diretiva Directory serve para agrupar um conjunto diretivas associadas a um
diretrio especificado. Ela possui um um formato diferente das demais.

<Directory "/var/www/html">
Options Indexes FollowSymLinks Includes
AllowOverride None
Order allow,deny
Allow from all
</Directory>

<Directory "/dados/3way/ensino_a_distancia">
Options Indexes FollowSymLinks Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>

<Directory "/3way/atendimento/www/docs>
Options -FollowSymLinks Includes
AllowOverride None
Order deny,allow
Deny from all
Allow from 192.168.1.110
</Directory>

Basicamente as diretivas associadas ao diretrio so relativas segurana:

Options - define vrias opes relativas permisso: listar diretrios
(Indexes), acessar links simblicos (FollowSymLinks) e permitir executar tags
padres do servidor (Includes).

AllowOverride - permite ou impede as opes (por padro, nenhuma opo,
veja opo None) do arquivo de configurao de acesso diretrios
.htaccess. Geralmente o .htaccess utilizado para definir senhas de acesso
diretrios.

Order - Define a ordem em que sero avaliadas as permisses de acesso a
este servidor por redes ou hosts especficos. No nosso caso, ser permitir
acesso (por padro allow) para depois proibir (por padro deny).
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
166
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 152

Allow - Define quais servidores (por padro todos, veja opo all) tero
acesso permitido a este servidor.

ScriptAlias
Definir diretrios dedicados para se executar aplicativos CGI. Para que esta
diretiva funcione necessrio habilitar a execuo de aplicativos CGI neste
diretrio, atravs da diretiva Directory.

ScriptAlias /cgi-bin/ "/dados/3way/ensino_a_distancia/cgi-bin/"
<Directory "/dados/3way/ensino_a_distancia/cgi-bin">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>

Basta agora criar um script cgi no diretrio especfico para isso e depois
execut-lo atravs de uma URL semelhante a esta http://localhost/cgi-
bin/script.sh.

VirtualHost
Faz com que um mesmo servidor Web responda por mais de um domnio, no
precisando de uma mquina para cada um. Este o recurso utilizado pelos
provedores de armazenamento de pginas.

<VirtualHost 192.168.1.101:80>
ServerAdmin root@3waylocal.net.br
DocumentRoot /var/www/html
# ServerName www.3waylocal.net.br
ErrorLog /var/log/httpd/error_log
TransferLog /var/log/httpd/access_log
</VirtualHost>

Esta definies so necessrias para o prprio servidor Web primrio que
responde por www.3waylocal.net.br. As prximas entradas definiro novos domnios
virtuais.

<VirtualHost 192.168.1.101:80>
ServerAdmin root@info.3waylocal.net.br
DocumentRoot /var/www/html/info
ServerName www.info.3waylocal.net.br
ErrorLog /var/log/httpd/info_error_log
TransferLog /var/log/httpd/info_access_log
</VirtualHost>
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
167
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 153

Foi criado no exemplo acima o sub-domnio info.3waylocal.net.br, cuja
opo ServerName ilustra. Como a mquina www.info.3waylocal.net.br no
existe, ser preciso criar uma entrada CNAME no DNS. Caso o DNS seja o
BIND, a entrada ser semelhante a que est abaixo.

@ IN SOA maq1.3waylocal.net.br. root.maq1.3waylocal.net.br. (


2012021201; serial
3600 ; refresh
900 ; retry
1209600 ; expire
43200 ; default_ttl
)
@ IN MX 5 maq1.3waylocal.net.br.
@ IN NS maq1.3waylocal.net.br.
maq1 IN A 192.168.1.101
...
www IN CNAME maq1
www.info IN CNAME maq1

A nova linha adicionada est em negrito. Assim a mquina maq1 responder
por www.3waylocal.net.br e www.info.3waylocal.net.br, o trabalho de carregar o
cliente para pgina (diretrio) correspondente ser do Servidor Web.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
168
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 154
8.7. LABORATRIO

Este laboratrio ser destinado a criao de dois domnios: 3wayteste.com e 3waylocal.com.
Vamos supor nesse laboratrio que o IP do servidor 192.168.1.101.
Domnio 3wayteste.com
/etc/httpd/conf/httpd.conf
...
<VirtualHost 192.168.1.101:80>
ServerAdmin webmaster@3wayteste.com
ServerName www.3wayteste.net
DocumentRoot /var/www/html/3wayteste_com
DirectoryIndex index.htm
CustomLog /var/www/html/3wayteste_com/access_log common
ErrorLog /var/www/html/3wayteste_com/error_log
</VirtualHost>
Domnio 3waylocal.com
...
<VirtualHost 192.168.1.101:80>
ServerAdmin admin@3waylocal.com
ServerName www.3waylocal.com
DocumentRoot /var/www/html/3waylocal_com
DirectoryIndex index.html
CustomLog /var/www/html/3waylocal_com/access_log common
ErrorLog /var/www/html/3waylocal_com/error_log
</VirtualHost>

O DNS tambm dever ser feita para que ambos os donnios apontem para a mesma mquina.
/etc/named.conf
...
zone 3wayteste.com {
type master;
file 3wayteste.com.direto;
}
...
/var/named/chroot/var/named/3wayteste.com.direto
@ IN SOA 3wayteste.com. webmaster.maq1.3wayteste.com. (
2012021202; serial
3600 ; refresh
900 ; retry
1209600 ; expire
43200 ; default_ttl
)
@ IN MX 5 maq1.3wayteste.com.
@ IN NS maq1.3wayteste.com.
maq1 IN A 192.168.1.101
www IN CNAME maq1
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
169
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 155

/var/named/chroot/var/named/3waylocal.com.direto
@ IN SOA 3waylocal.com. admin.maq1.3waylocal.com. (
2012021202; serial
3600 ; refresh
900 ; retry
1209600 ; expire
43200 ; default_ttl
)
@ IN MX 5 maq1.3waylocal.com.
@ IN NS maq1.3waylocal.com.
maq1 IN A 192.168.1.101
www IN CNAME maq1


/etc/init.d/named restart
/etc/init.d/httpd restart
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
171
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 156
8.8. EXERCCIOS

1. Existe diferena entre DocumentRoot e ServerRoot? Explique.
2. Suponha o seguinte caso:
DocumentRoot /usr/local/apache/htdocs
ServerName www.exercicio3.com.br
O que devo fazer para acessar documentos que esto em /docs quando digitar a URL:
www.exercicio3.com.br/docs
3. Considere as opes acima e certifique-se de que o diretrio
/usr/local/apache/htdocs esteja com opo de indexao (Option Indexes). Remova
os arquivos de exibio automtica (index.html). Observe a ultima linha
(identificao do servidor) com a opo UseCanonicalName On e UseCanonicalName Off
quando digitado a URL localhost e 127.0.0.1.
4. O que so Domnios Virtuais?
5. Crie um diretrio /sa/atendimento/cgi-bin e execute um script cgi de script-teste,
atravs do endereo http://localhost/atendimento/cgi-bin/script-teste.sh.


Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
172
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 157
9. SERVIDOR DE EMAIL
9.1. SERVIDOR DE MENSAGENS
Um servidor de mensagens eletrnicas responsvel pela recepo e envio de
mensagens. Dentro deste processo h vrios mecanismos utilizados pelo servidor
antes da mensagem chegar at o remetente. Atualmente o maior responsvel pelo
trfego na Internet , sem dvida, o e-mail.
O SMTP (Simple Mail Transport Protocol) o protocolo de transporte de
mensagens utilizado em redes TCP/IP. Um servidor de mensagens oferece outros
servios alm de transporte, este deve prover servios como fornecer apelidos para
usurios e fazer roteamento de mensagens.
Como principais Servidores de Mensagens para Linux temos o Sendmail, o
Qmail e o Postfix. Os dois ltimos so servidores SMTP que surgiram como
possveis substitutos ao Sendmail, pelo fato do sendmail apresentar algumas
deficincias: dificuldade de administrar e maior risco de segurana, pois seus
processos utilizam o super-usurio como dono.
9.2. AGENTES DE MENSAGENS
No processo de troca de mensagens existem basicamente trs agentes de
mensagens: MTA (Mail Transport Agent), MUA (Mail User Agent) e MDA (Mail
Delivery Agent).

MTA
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
173
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 158
Sua finalidade transportar um e-mail de um MTA at outro MTA. Como exemplo de
MTA temos: sendmail, postfix, qmail, Lotus Notes, MS Exchange Server, etc.

MUA
O Agente de e-mail do usurio um programa utilizado pelo usurio e tem as finalidades
bsicas de compor, ler e enviar e-mail. Exemplo de MUA: MS Outlook, Lotus Notes
Messenger, Netscape Messenger, elm, mailx (ou mail), mutt, pine, Eudora, Pegasus, etc.

MDA
Este agente tem como finalidade entregar localmente no servidor a
mensagem para seu dono, ou seja, quando o e-mail chega no MTA(Servidor
de e-mail), este agente ir armazenar o e-mail na caixa postal do
destinatrio. O MDA ainda pode fazer mais: filtrar e-mails indesejveis, responder e-
mails automaticamente (por exemplo, estou de frias...), encaminhar um e-mail
automaticamente para outro, etc. Como exemplos de MDA, temos: procmail, maildrop,
mailagent e sensible-mda.



Alguns servidores de e-mail, tal como o Lotus Notes e MS Exchange Server,
desconsideram a separao de MTA e MDA. Estes servidores trabalham
como um todo, no separando a funcionalidade de MTA e MDA.


Um processo tpico de envio de e-mail pode ser resumido da seguinte
maneira:

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
174
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 159

Exemplo de comunicao
9.3. INSTALANDO O SERVIDOR DE EMAIL
9.3.1. INSTALAO CDIGO FONTE
Postfix
O cdigo fonte do postfix pode ser encontrado em www.postfix.org. Para
compil-lo, basta seguir os passos abaixo:

Criao de grupos e usurios
groupadd postdrop
adduser -s /bin/false postfix

Prepao da compatibilidade
mv /usr/sbin/sendmail /usr/sbin/sendmail.old
mv /usr/sbin/newaliases /usr/sbin/newaliases.old
mv /usr/sbin/mailq /usr/sbin/mailq.old
chmod 755 /usr/sbin/sendmail.old
chmod 755 /usr/sbin/newaliases.old
chmod 755 /usr/sbin/mailq.old
tar xzpvf postfix-versao.tar.gz
cd postfix-versao
make
make install

Seguir as opes padro da instalao.

Dovecot
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
175
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 160
O cdigo fonte do Dovecot pode ser encontrado em www.dovecot.org. Para
compil-lo, basta seguir os passos abaixo:

tar zxvf dovecot-versao.tar.gz -C /usr/local/src/
cd /usr/local/src/dovecot-versao
./configure
make
make install

CPPFLAGS="-I/opt/openssl/include" LDFLAGS="-L/opt/openssl/lib -ldl" ./configure

useradd -s /sbin/nologin dovenull
useradd -s /sbin/nologin pop3-login
useradd -s /sbin/nologin dovecot
9.3.2. INSTALAO AUTOMATIZADA
preciso desabilitar o sendmail antes de efeturar a instalao Postfix.



yum install postfix dovecot



apt-get install postfix dovecot-imap

9.4. CONFIGURAO
Postfix
O arquivo de configurao do Postfix o /etc/postfix/main.cf. Ele vem com
suas configuraes padro. Abaixo est um exemplo das principais diretivas presentes
neste arquivo.

/etc/postfix/main.cf
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
myhostname = servidor.3waylocal.net.br
mydomain = 3waylocal.net.br
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, $mydomain
unknown_local_recipient_reject_code = 500
mynetworks_style = host
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
176
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 161
mynetworks = 127.0.0.0/8, 10.0.0.0/24
#mynetworks = $config_directory/mynetworks
alias_maps = hash:/etc/aliases
home_mailbox = Mailbox
mail_spool_directory = /var/spool/mail
smtpd_banner = $myhostname $mail_name ($mail_version)
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-versao/samples

Dovecot
Dovecot um servidor POP3 e IMAP de cdigo livre para sistemas
Linux/Unix, criado sob a premissa da segurana. O arquivo de configurao do
Dovecot o /etc/dovecot.conf no CentOS/RHEL e o /etc/dovecot/dovecot.conf no
Debian/Ubuntu.

/etc/dovecot.conf
protocols = imap imaps pop3 pop3s
mail_location = maildir:~/Maildir
pop3_uidl_format = %08Xu%08Xv
# Opcional para kernels 32bit, obrigatria para 64 bits
login_process_size = 64

Inicializao dos Servios


/etc/init.d/postfix start
/etc/init.d/dovecot start



/etc/init.d/postfix start
/etc/init.d/dovecot-imap start


Testes SMTP e POP3
Para testar a configurao do SMTP e do POP3 ser preciso realizar um telnet
nas portas 25 e 110 respectivamente, seguido dos comandos de conversao dos
protocolos em questo. Abaixo tem-se os testes para ambos os protocolos.

Teste de Envio

$ telnet localhost 25
220 localhost ESMTP Postfix (versao)
ehlo localhost
250-localhost
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
177
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 162
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from: usuario1_do_servidor
250 2.1.0 Ok
rcpt to: usuario2_do_servidor
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
Subject: Assunto de Email
Corpo do Email
.
250 2.0.0 Ok: queued as D6D306CA52
quit
221 2.0.0 Bye

Teste de Recebimento

$ telnet localhost 110
+OK Dovecot Ready
USER beltrano
+OK
PASS senhabeltrano123
+OK Logged in.
LIST
+OK 2 messages:
1 466
2 578
.
RETR 1
... Corpo da mensagem
QUIT
+OK Logging out.

Para realizar o teste podem ser utilizados Agentes de E-mail de Usurio
(MUA), que so bem mais amigveis. So exemplos de MUA: Mozilla Thunderbird,
Outlook, Zimbra Collaboration (OSE), Evolution, Kmail, etc.
9.5. ALIASES
Para definir aliases (apelidos) para mensagens podemos usar o arquivo
aliases. No Linux, normalmente esse arquivo /etc/aliases.
Alguns exemplos de alias:
/etc/aliases
# Aliases de systemas padro, estes DEVEM estar presentes.
MAILER-DAEMON: postmaster
postmaster: root
# Redirecionamentos gerais para contas falsas
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
178
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 163
bin: root
daemon: root
nobody: root
# Apelidos bem conhecidos:
manager: root
dumper: root
operator: root
# Pessoas quem devem ler os e-mails do root
root: usuario
#System admisnistrator mailing list
treinamento: usuario,virgilio,guilherme,fulano,ciclano
coordenacao: usuario,gomes

importante ressaltar que o postfix no l diretamente este arquivo, ele faz a
leitura de um banco de dados gerado atravs do comando newaliases, ento toda vez
que for feita alguma alterao em /etc/aliases, ser necessrio executar o comando
newaliases para que as alteraes sejam efetuadas.

newaliases

preciso reinicializar o postfix aps a alterao.

/etc/init.d/postfix restart

9.6. REDIRECIONAMENTO
O redirecionamento de mensagens muito til no caso de se ter vrias contas
de e-mail e querer ler e-mails somente em uma delas. Para redirecionar um e-mail
basta criar um arquivo .forward dentro do diretrio home de cada usurio e adicionar
o e-mail (ou os emails) de destino das mensagens.

cd /home/usuario
echo "usuario1@3waylocal.net.br" > .forward

O arquivo dever ficar semelhante ao abaixo:

~/.forward
usuario1@3waylocal.net.br


Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Siga-nos tambm no Twitter!
twitter.com/3waynet
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
180
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 164
9.7. LABORATRIO

Este laboratrio implementar de maneira simples servidor de E-mail (postfix),
servidor POP (dovecot), criao de mail boxes e aliases.

Configurao do Servidor de E-mails
/etc/postfix/main.cf
myhostname = maq1.3waylocal.com
mydomain = 3waylocal.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 192.168.1.0/24, 127.0.0.0/8
relay_domains =
home_mailbox = Maildir/

Configurao do Servidor POP
/etc/dovecot.conf
protocols = imap imaps pop3 pop3s
mail_location = maildir:~/Maildir
pop3_uidl_format = %08Xu%08Xv
#login_process_size = 64

Criao de Usurios Mailbox
- Dever ser criada no diretrio home de cada usurio. Aqui criaremos para o usurio
usuario.

mkdir /home/usuario/Maildir
chown john:john /home/usuario/Maildir
chmod -R 700 /home/usuario/Maildir

Criao de Alias
- O usurio usuario possui seu endereo de e-mail no formato usuario@3waylocal.com,
porm ele deseja receber e-mails com os endereos alternativos
u.souza@3waylocal.com e user.sou@3waylocal.com. Ento sero criados os seguintes
aliases para ele:

/etc/aliases
# Person who should get root's mail
root: usuario
# User aliases
j.souza: usuario
jef.sou: usuario

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
181
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 165
newaliases

Reinicializao do Servidor
/etc/init.d/postfix restart; /etc/init.d/dovecot restart
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
182
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 166
9.10. EXERCCIOS
1. Mostre o passo-a-passo para enviar atravs do comando telnet um email via
protocolo SMTP para um usurio de sua mquina local chamado fulano. Tambm
com o comando telnet, verifique o contedo da caixa postal de fulano.
2. Como eu poderia configurar o sendmail para que todo email por ele enviado para o
usurio root, alm de ser armazenado na caixa postal local do root, seja tambm
enviado para o usurio local fulano e para o beltrano, de email
beltrano@algumdominio.com.br?
3. Suponha que o seu servidor esteja atualmente enviando e-mail com identificao
de remetentes do tipo fulano@maquina.algumdominio.com.br, o que deveria ser feito
para que isto fosse trocado por simplesmente fulano@algumdominio.com.br?
4. Defina com suas prprias palavras, os termos MUA, MDA e MTA? O MDA
sempre encontrado nos servidores de email (cite exemplos)? Qual a diretiva do
sendmail que define qual MDA utilizado?
5. Como eu poderia liberar uma rede de computadores para fazer redirecionamento
pelo meu servidor SMTP? Que incovenincia teria em liberar todas redes (sem
restrio de relay)?
6. Qual a funcionalidade e diferenas entre os protocolos SMTP, POP e IMAP?
Mostre brevemente como seria a instalao de cada um destes protocolos.
7. O que o comando mail? Para que serve? Como posso utiliz-lo para enviar ,
receber e-mail? Como seria utilizado para testar mais detalhadamente o envio de um
e-mail?





Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
183
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 167
10. SERVIDOR PROXY

O proxy surgiu da necessidade de conectar uma rede local Internet atravs
de um computador da rede que compartilha sua conexo com as demais mquinas da
rede. Em outras palavras, ao considerar que a rede local uma rede interna e a
Internet uma rede externa, podemos dizer que o proxy que permite outras
mquinas terem acesso externo.
Geralmente, mquinas da rede interna no possuem endereos vlidos na
Internet e, portanto, no tem uma conexo direta com ela. Assim, toda solicitao de
conexo de uma mquina da rede local para um host externo direcionada ao proxy,
este, por sua vez, realiza o contato com o host desejado, repassando a resposta
solicitao para a mquina da rede local. Por este motivo, que utilizado o termo
proxy (intermedirio) para este tipo de servio.
Um exemplo muito comum de compartilhamento de Internet baseado em:
um servidor proxy com duas interface de rede, geralmente um modem e uma
interface Ethernet, sendo que a interface do modem a interface de sada para
Internet, enquanto a interface de rede a interface de acesso s mquinas da rede
local.
O compartilhamento de Internet apresentado se refere ao servio bsico de um
proxy. Mas um bom proxy deve ainda prover vrias outras funcionalidades
complementares tais como:

Cache
Permite armazenar no prprio proxy as pginas visitadas com mais
frequncia, ou seja, quando um usurio solicita um site na Internet, o proxy armazena
o seu contedo em cache, juntamente com a sua data. Caso o usurio, depois de um
certo tempo, solicite-a novamente, o proxy obtm a data da pgina remota e caso no
seja mais atual que a pgina que est em cache, este fornece para o cliente a pgina
em cache, sem a necessidade de baixar novamente a pgina solicitada. Esta
funcionalidade aumenta bastante o desempenho do acesso pginas, uma vez que o
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
184
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 168
acesso s pginas em cache so muito mais rpidas que as pginas remotas.

Autenticao
Permite autenticar clientes atravs de login, baseados em usurio e senha.

Listas de controles de acesso
Tambm conhecidas como acls, permite que administrador restrinja o acesso
a determinados sites baseados em critrios estipulados em listas de controles. Os
critrios podem ser expressos em regras baseadas no login, palavras-chave na URL,
palavras-chave no contedo do site, horrio de acesso, etc.

Proxy transparente
Com o proxy transparente no preciso configurar o navegador, facilitando a
administrao da rede. Isto realizado atravs de configuraes no roteador padro
da rede local, de forma que toda solicitao de trfego externo direcionada para o
proxy. Assim, o proxy funciona de forma transparente para o usurio, sem necessitar
configurar explicitamente o seu uso.

Proxy para SSL
SSL acrnimo de Secure Socket Layer que que permite que um navegador e
o servidor Web estabeleam uma comunicao segura para realizar transaes. O SSL
um camada que criptografa o protocolo HTTP, por isso quando utilizados em
conjunto, chamado tambm de HTTPS (HTTP Seguro). O proxy, alm de
comunicar atravs de protocolo HTTP, tambm deve permitir comunicao segura de
HTTP sobre SSL (HTTPS).
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
185
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 169

Arquitetura com proxy

10.1. SQUID
Existem vrios softwares proxy de caractersticas diferentes, cada um mais
especializado que o outro. Dentre os vrios proxies existentes para Linux pode ser
citado o Squid. Por ser o mais popular, ele ser o software abordado nesta sesso.


Squid um animal cefalpode (como uma lula, polvo, etc) de dez braos,
encontrado nas costas martimas americanas. Ele o smbolo do software
proxy Squid, cujo site o www.squid.org.
10.2. INSTALAO
10.2.1. INSTALAO CDIGO FONTE
Primeiramente necessrio obter o cdigo fonte do Squid que est disponvel
no endereo www.squid-cache.org.

tar zxf squid-versao.tar.gz /usr/local/src
cd /usr/local/src
cd squid-versao
./configure --prefix=/usr/local/squid-versao
make all
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
186
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 170
make install
ln -s /usr/local/squid-versao /usr/local/squid
10.2.2. INSTALAO AUTOMATIZADA

yum install squid



apt-get install squid
10.3. CONFIGURAO
O servidor Squid fornece servio proxy para os principais protocolos
utilizados por navegadores, como: FTP, HTTP e HTTPS. Portanto nossas
configuraes estaro relacionadas a estes dois protocolos.
Depois de instalado, o squid cria o diretrio /etc/squid onde armazena seus
arquivos, dentre eles encontramos seu principal arquivo de configurao: squid.conf.
10.3.1. SQUID.CONF
Este arquivo bastante auto-explicativo, contando com muitos comentrios
sobre as diretivas nele presentes, por esse motivo sero tratadas somente as opes
mais importantes.

http_port 3128
Esta parmetro define a porta que o servio squid usar. Por padro, esta opo estar
comentada, no preciso descoment-la, caso a inteno seja manter a porta padro.

cache_mem 32M
Este parmetro define a quantidade de cache que o servidor usar. recomendvel deixar
uma quantidade considervel da memria fsica, algo em torno da metade. A performance
do servidor proxy proporcional a quantidade de memria fsica destinada a ele.

cache_dir ufs /var/spool/squid 100 16 256
Este parmetro define o diretrio onde o squid alocar os arquivos para cache, neste caso
ser o diretrio /var/spool/squid. A opo ufs define uma forma de armazenamento do
cache, podendo ser utilizados outros formatos, somente por questes de otimizao.
Existem outras opes de otimizao (consultar o arquivo de configurao para saber
mais).
O valor 100 define o tamanho mximo (em MB) que o diretrio pode ter. O valor 16 define
a quantidade de sub-diretrios do diretrio /var/spool/squid e, por ltimo, o valor 256
define a quantidade de sub-diretrios dos 16 diretrios j mencionados.

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
187
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 171
cache_access_log /var/log/squid/access.log
Define o arquivo de log de acessos ao servidor proxy. Atravs dele possvel saber quais
usurios (ou IPs) acessaram contedo no servidor.

cache_mgr endereco_de_email
Tem a finalidade de especificar o email do administrador do Proxy. Caso o servio squid
venha a ser terminado de forma anormal, o usurio ter como entrar em contato e informar
sua experincia mal-sucedida com o proxy.

cache_effective_user usuario
Determina qual o usurio pelo qual o proxy executar as solicitaes feitas a ele. Por
motivos de segurana, no recomendvel utilizar o UID de root (0). Normalmente o
usurio utilizado tem o nome squid.

cache_effective_group grupo
Semelhante a diretiva anterior, porm referente ao GID do grupo que executar as
solicitaes do proxy.

visible_hostname hostname
Determina o hostname quer ficar visvel.



Se ao iniciar o squid a mensagem
FATAL: Could not determine fully qualified hostname.
Please set 'visible_hostname
aparecer. O daemon do squid no inicializar, para resolver esse problema,
basta adicionar o hostname na diretiva visible_hostname.

10.3.2. CACHING
Essa modalidade de proxy apenas prov o caching de pginas, no
oferencendo recursos como autenticao, restries, limitao de banda, etc. Para
essa implementao basta configurar a linha http_access deny all, que j est
presente no arquivo de configurao, como o valor allow.
O arquivo abaixo apresenta uma configurao bsica do servidor proxy para
cache de pginas web, cuja principal vantagem o aumento da velocidade de acesso.

/etc/squid/squid.conf
http_port 3128
cache_mem 32M
cache_dir ufs /var/spool/squid 100 16 256
cache_access_log /var/log/squid/access.log
cache_mgr endereco_de_email
cache_effective_user usuario
cache_effective_group grupo
visible_hostname saida_comando_hostname
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
188
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 172
#http_access deny all
http_access allow all

Aps essa configurao, basta reiniciar o servio:



/etc/init.d/squid restart

Deste momento em diante o cliente proxy, normalmente um navegador


(browser) na mquina cliente, j pode ser configurado para utilizar o servidor proxy.

Configurao do Cliente
A configurao do cliente muito simples, varia de acordo com o navegador
escolhido. Neste caso ser utilizado o navegador Mozilla Firefox (verso 10.0.1).

1. Boto Firefox (canto superior esquerdo) Opes (Options) Opes
(Options).

Ser aberta a janela Opes.

2. Aba Avanado (Advanced) Rede (Network) Configuraes (Settings)

Outra janela entitulada Propriedades da Conexo (Connection Settings) ser
aberta.

3. Na opo Configurao manual de proxy (Manual proxy configuration),
colocar o endereo IP (ou hostname) do proxy e a porta que atende s
solicitaes.




Para que todas os outros protocolos sejam tratados pelo servidor proxy,
recomendvel marcar a opo Usar este servidor proxy para todos os
protocolos.



Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
189
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 173

Configurao do cliente proxy no Firefox (parte 1)


Configurao do cliente proxy no Firefox (parte 2)

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
191
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 174
10.3.3. RESTRIES DE ACESSO
O Squid permite uma grande flexibilidade em sua configurao de acesso.
Essa flexibilidade dada atravs das acl (Lista de Controle de Acesso). Com as acl
possvel restringir o uso de determinados recursos, como web sites, as mquinas que
podem acessar contedo externo, horrios de acesso, usurios autorizados (ou
negados), etc. Abaixo segue alguns tipos de ACL que podem ser utilizados:

src
Endereo IP de origem. Utilizado para restringir quais clientes podem fazer
uso do proxy.

dst
Endereo IP de destino. Utilizado para restringir os servidores que podem ser
acessados.

dstdomain
Domnio de destino. Utilizado para restringir o acesso a um determinados
domnios.

time
Restinge por Hora do dia e Dia da semana.

port
Nmero da porta de destino. Usado para restringir a porta de acesso do
servidor.

url_regex
Utilizado para restringir determinadas URLs. A comparao de URL
baseada em expresso regular (regex).

proto
Restrio por protocolo de transferncia.

proxy_auth
Usado para requerer autenticao de usurio.
10.3.4. RESTRIO DAS REDES
Na configurao de caching ficou faltando especificar quais so as redes
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
192
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 175
autorizadas a utilizar o servidor proxy. Da forma como ficou configurada, qualquer
rede pode acess-lo, para que restringir o proxy a somente a rede local, basta efeturar
as configuraes listadas a seguir.

Substituir a linha:
http_access allow all

Por:
acl all src 10.0.0.0/255.255.255.0
http_access allow all

Pelo trecho que foi acrescentado/modificado, all o nome da acl que com a
opo src define a rede 10.0.0.0/255.255.255.0. A diretiva http_access allow all
permite o uso do proxy pela rede definida na acl all.
Resumindo, toda solicitao que for originada na rede 10.0.0.0/255.255.255.0
ser autorizada, enquanto que as solicitaes originadas por outras redes sero
automaticamente negadas.
10.3.5. RESTRIO POR SITES
Esta funcionalidade tem como objetivo evitar que os usurios acessem
determinados URLs que ferem a poltica de segurana da empresa. Essas alteraes
tambm so baseadas na configurao anterior. A parte em negrito ser acrescentada
no arquivo de configurao.

/etc/squid/squid.conf
...
acl listanegra url_regex "/etc/squid/listanegra.txt"
http_access deny listanegra
acl all src 10.0.0.0/255.255.255.0
http_access allow all
...


A ordem das ACL de configurao so avaliadas de cima para baixo,
portanto deve-se atentar pela ordem em que elas so escritas.
sempre interessante negar o acesso a certos recursos para depois liberar
os que necessitam de liberao.

Neste caso a acl url_regex define o arquivo /etc/squid/listanegra.txt, que
possui uma lista de URLs baseadas em expresses regulares. A linha seguinte define
que as URLs ou palavras chave desse arquivo que forem encontrados nas URLs
digitadas nos navegadores clientes sero negadas.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
193
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 176
10.3.6. RESTRIO POR TERMOS EM URLS
Esta configurao permite negar todos os sites que tenham na URL uma
palavra que case com a palavra definida por uma acl.
Novamente, as linhas em negrito devem ser acrescentadas ao arquivo de
configurao.

/etc/squid/squid.conf
...
acl palavra url_regex -i sex
http_access deny palavra
acl listanegra url_regex "/etc/squid/listanegra.txt"
http_access deny listanegra
acl all src 10.0.0.0/255.255.255.0
http_access allow all
...

Neste exemplo encontramos a opo -i para o tipo url_regex, esta opo no


faz a diferenciao de maiscula e minscula verificando a ocorrncia de uma
palavra similar a sex na URL. Assim, qualquer site que em sua URL contenha a
palavra sex ser negado. So exemplos de URLs que sero negados:
www.sexteste.com.br, www.sexm.com.br, www.sexoesaude.com.br, etc.
10.3.7. AUTENTICAO
Esta funcionalidade permite que se crie contas de usurios para acesso a
Internet. Assim cada usurio alm de ter uma conta de acesso Internet. A solicitao
de usurio e senha ser feito quando o usurio abrir o navegador e digitar o endereo
desejado, se esta pgina for externa, o proxy requisitar autenticao.

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
194
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 177

Processo de autenticao do Proxy Squid

Ao instalar o Squid, o mesmo j traz um programa autenticador, este
programa tem a funo de autenticar o usurios de acesso a Internet atravs do Squid.
O prximo passo ser adicionar uma linha no arquivo de configurao do proxy que
habilite o uso desse programa autenticador. Para isso deve-se procurar por alguma
entrada auth_param como a que se segue:

/etc/squid/squid.conf
...
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/credenciais
...



A configurao acima encontrada a partir da verso 2.6 do squid. Verses
inferiores usam authenticate_program /usr/bin/ncsa_auth /etc/squid/credenciais.
Plataformas x86_64 usam auth_param basic program /usr/lib64/squid/ncsa_auth
/etc/squid/credenciais.


O programa utilizado nos exemplos acima o NCSA e o arquivo credenciais
contero os nomes de usurio (e suas senhas) dos usurios habilitados a acessarem o
proxy. Esse arquivo bem como as credenciais dos usurios devero ser criadas pelo
aplicativo htpasswd como no exemplo abaixo.

htpasswd -c /etc/squid/credenciais aluno

A opo -c usada para criar o arquivo de autenticao, caso ele no exista.
Se ele j existir e a inteno seja mudar a senha de algum usurio ou mesmo criar
outro, a opo -c no dever ser informada. Ento a mudana de senha de algum
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
195
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 178
usurio seria feita da seguinte forma:

htpasswd /etc/squid/credenciais aluno

Depois de feito isto, o prximo passo adicionar uma acl para esta nova
funcionalidade. Logo, na seo acl do arquivo squid.conf deve-se adicionar a
seguinte linha:

/etc/squid/squid.conf
...
acl password proxy_auth REQUIRED
http_access allow password
...

Esta lista de acesso tem a funo de liberar o acesso ao proxy somente atravs
da autenticao do usurio. importante frisar que esta regra pode ser usada
juntamente com as outras sem nenhum prejuzo para o funcionamento do proxy, pois
o efeito at ento cumulativo, ou seja, as regras vo se complementado.

Para que estas regras tenham efeito, deve-se reinicializar o servio proxy
(squid):


/etc/init.d/squid restart



/etc/init.d/squid restart

10.4. PROXY TRANSPARENTE
O proxy transparente aquele proxy que dispensa a configurao do
navegador para funcionar, ou seja, por no haver configurao no cliente ele d a
impresso que no existe. Entre outras vantagens do uso desse tipo proxy tem-se:

1. No necessrio configurao do navegador cliente, o que muito bem
vindo em uma rede com muitos clientes;

2. O uso do proxy transparente fora o cliente usar o proxy sem que ele ao
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
196
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 179
menos saiba disso;

3. Com a configurao do proxy transparente, todos os servios ficam
disponveis aos seus clientes.


Representao do Proxy Transparente

10.4.1. IP MASQUERADE
O IP Masquerade conhecido como NAT (Network Address Translator),
assim como o proxy, o IP masquerade tem a finalidade de compartilhar Internet. O IP
masquerade no um proxy, pois trabalha a nvel de pacotes TCP, enquanto o proxy
trabalha a nvel de conexo TCP na camada de aplicao. Entretanto ambos tem a
finalidade de compartilhar um conexo com a Internet.
Sabe-se que em uma rede local os endereos IP no so vlidos na Internet, e
ainda que todo pacote no protocolo TCP/IP enviado deve ser retornado at o
hospedeiro de origem, no sentido de estabelecer uma comunicao. Quando o pacote
direcionado Internet o mesmo passar pelo o gateway que estar provendo o NAT,
ento o pacote, na verdade, atinge o host de destino com o nmero IP do gateway
que, por sua vez, possui endereo vlido na Internet. Logo esta mquina retornar o
pacote para o gateway da rede local que, por sua vez, encaminha-o para a devida
mquina que est na rede local.
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
197
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 180
O IP masquerade suporta perfeitamente servios como WWW e E-mail, o que
explica o seu grande uso, pois estes servios so os mais utilizados. Entretanto, o IP
masquerade no tem nenhuma funcionalidade de auditoria, autenticao e segurana
de acesso, o NAT pode ser utilizado sem o proxy, simplesmente permitindo acesso
total Internet. O IP masquerade tem uma desvantagem quando usado para prover
NAT para o servio WEB, pois o mesmo no conta com o servio de cache para
WWW, o IP masquerade tambm no conta com a funcionalidade de listas de
controles de acesso que o squid fornece.
A ideia aqui fazer com que o proxy e o IP masquerade trabalhem juntos para
prover uma soluo vivel para o uso em uma rede local, seja qual for a sua
dimenso.


Compartilhamento de Internet usando o NAT

10.4.2. PROXY TRANSPARENTE COM SQUID
O IP masquerade faz com que os servios oferecidos pelo Linux fique
transparente aos seus clientes quando os mesmos esto em uma rede local, pois no
necessrio configurar o navegador do cliente.
Agora observe sobre os seguintes questionamentos:
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
199
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 181

Como utilizar o Squid e no precisar configurar o browser do cliente?

Como utilizar o Squid e no ficar restrito aos protocolos HTTPS, HTTP, FTP
e gopher?

A resposta para primeira pergunta redirecionar a porta 80 para a porta 3128,
porta onde tradicionalmente o squid trabalha. A resposta da ltima reside em
utilizar o squid e o IP masquerade conjuntamente.

Logo, surge uma nova pergunta:

Como utilizar do IP Masquerade e ao mesmo tempo utilizar o Squid para o
acesso a WEB?

Se o IP Masquerade estiver rodando e o squid tambm, o cliente ao solicitar
uma pgina WEB, o far atravs de uma requisio na porta 80 do gateway onde est
o IP masquerade, para isto o cliente deve estar com uma rota padro definida cujo o
gateway ser o proxy, o gateway buscar a pgina na Internet e entregar para o
cliente utilizando o IP masquerade, logo este cliente no utilizar o Squid, pois o
Squid utiliza a porta 3128.
A soluo redirecionar a porta 80 para a porta 3128. Pois assim, toda
requisio feita na porta 80 do servidor ser direcionada para a porta 3128. Ento,
no ser mais necessrio configurar o navegador do cliente.

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
200
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 182

Processo de redirecionamento de porta



O proxy transparente no funciona em conjunto com o sistema de
autenticao. Caso seja a inteno no ser possvel implement-los em
conjunto.


A configurao para implementar do proxy transparente nesse novo cenrio
que usa o iptables est descrita em detalhes logo abaixo.

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port


3128

iptables -t nat -A PREROUTING -i eth1 -p udp --dport 80 -j REDIRECT --to-port
3128

Neste comando h duas consideraes: a interface que est sendo utilizada
para fazer o servio de proxy a eth0, ou seja, esta interface a interface de entrada,
ou seja, que d acesso outra rede; a outra considerao relativa a porta onde o
squid est escutando, neste exemplo estamos utilizando a porta padro de
comunicao do squid (porta 3128).

Agora devemos fazer o IP masquerade atravs do iptables. Os comandos
sero:
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
201
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 183

iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -d 0.0.0.0/0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

Aps essa configurao, basta alterar o arquivo squid.conf somente alterando
a diretiva http_port como est abaixo:

/etc/squid/squid.conf
...
http_port 3128 transparent
...
10.5. SARG
O SARG um gerador de relatrios do squid que serve para facilitar a
manuteno do servio. Ele apresenta relatrios HTML dos acessos internet, bem
como tempo de acesso, e outros parmetros administrativos.
A instalao e configurao do SARG ser vista abaixo para a distribuio
oficial do curso.
10.5.1. INSTALAO
O download do cdigo-fonte dever ser feito do sarg.sourceforge.net.
tar -zxf sarg-versao.tar.gz
cd sarg-versao/
./configure
make
make install
10.5.2. CONFIGURAO
A configurao feita editando-se o arquvios sarg.conf de /usr/local/etc/ e
/etc/httpd/conf/.
/usr/local/etc/sarg.conf
access_log /var/log/squid/access.log
graphs yes
graph_days_bytes_bar_color orange
title Relatrio de Acessos do Squid
temporary_dir /tmp
output_dir /var/www/html/reports/

/etc/httpd/conf.d/sarg.conf
Alias /sarg /var/www/html/reports/daily
<Directory /var/www/html/reports/daily>
DirectoryIndex index.html
Order deny,allow
Deny from all
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
202
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 184
Allow from 10.0.0.X
</Directory>
10.5.3. GERAO DE RELATRIOS
A criao do script de gerao diria de estatsticas feita para automatizar o
processo de gerao de relatrios.

/etc/cron.daily/sarglog.sh
#!/bin/bash
#Pega a data atual
HOJE=$(date +%d/%m/%Y)
#Pega um dia antes de hoje
ONTEM=$(date date 1 day ago +%d/%m/%Y)
/usr/local/bin/sarg -l /var/log/squid/access.log -o
/var/www/html/reports/daily -z -d $ONTEM-$HOJE
exit 0

chmod 770 /etc/cron.daily/sarglog.sh

Agora s acessar o relatrio de acessos pelo url http://10.0.0.1/sarg
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
203
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 185
10.6. LABORATRIO

Este laboratrio ir implementar um servidor proxy com as opes de caching e
autenticao de usurios.

Trs usurios especficos: Joo, Maria e Pedro.
A lista de sites negados ir conter: www.uol.com.br, www.globo.com e
www.terra.com.br.
A lista de palavras no permitidas em URLs ser: sex, sau e bri.
O servidor dever ter duas interfaces de rede: uma configurada como Bridge (IPs da
rede local do laboratrio) e a outra como Rede Interna configurada para a rede
10.0.0.0/24.

A) Arquivo de configurao
/etc/squid/squid.conf
http_port 3128
cache_mem 128M
cache_dir ufs /var/spool/squid 100 16 256
cache_access_log /var/log/squid/access.log
cache_mgr admin@3waylocal.net.br
cache_effective_user squid
cache_effective_group squid
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/senhas
acl password proxy_auth REQUIRED
http_access allow password
acl palavra url_regex -i sex sau bri
http_access deny palavra
acl listanegada url_regex "/etc/squid/listanegada.txt"
http_access deny listanegada
acl redelocal src 10.0.0.0/255.255.255.0
http_access allow redelocal

B) Criao Arquivos
- Autenticao
htpasswd -c /etc/squid/senhas joao
htpasswd /etc/squid/senhas maria
htpasswd /etc/squid/senhas pedro

- Lista Negada
/etc/squid/listanegada.txt
www.uol.com.br
www.globo.com
www.terra.com.br

Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
204
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 186
Reiniciar o servio
/etc/init.d/squid restart

C) Configurao dos clientes
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Linguagem de Programao Java
Seja um Profissional Aprendendo com Profissionais
www.3way.com.br
12
//atribuindo valor a varivel referncia
Carro carro1 = new Carro();
carro1.ano = "2001";
carro1.modelo= "fusca";
carro1.cor = "prata";
Figura 2.4 Layout Memria aps inicializao
//criando novo alias
Carro carro2 = carro1;
Figura 2.5 Layout Memria duas variveis referncia para o mesmo objeto
2.3 Membros de Instncia
Cada objeto criado dever ter sua prpria instncia de variveis
(atributos) definidas pela classe. Os mtodos definem o comportamento de um
objeto. Isto importante, pois denota que um mtodo pertence a cada objeto da
classe. Porm no devemos confundir isto com a implementao do mtodo, que
compartilhada por todas as instncias da classe.
2.3.1 Invocao de Mtodos
Objetos se comunicam pela troca de mensagens, isto significa que um
objeto pode ter que mostrar um comportamento particular invocando uma
operao apropriada que foi definida no objeto. Em Java, isto feito pela
chamada de um mtodo em um objeto usando o operador binrio "." (ponto),
devendo especificar a mensagem completa: o objeto que o recebedor da
mensagem, o mtodo a ser invocado e os argumentos para o mtodo (se houver).
O mtodo invocado no recebedor pode tambm enviar informaes de volta ao
objeto chamador atravs de um valor de retorno. O mtodo chamado deve ser
um que esteja definido pelo objeto.
Os valores das variveis
em um objeto constituem
o seu estado.
Dois objetos distintos tm
o mesmo estado se suas
variveis membro tm os
mesmos valores.
205
Todos os direitos reservados a 3Way Networks

Linux Network Administration
Este material no pode ser distribudo.
Somente poder ser utilizado por alunos da 3Way Networks.
www.3way.com.br

Seja um Profissional Aprendendo com Profissionais 187
10.7. EXERCCIOS

1. Qual a finalidade do Proxy? O Proxy Squid trabalha com quais protocolos?
Explique a funo de cada um destes protocolos.
2. Explique o funcionamento do proxy, relatando como o proxy capaz de
compartilhar seu acesso a Internet com mquinas que no possuem endereo vlido
na Internet.
3. Como implementar restries ao meu servidor Proxy? Como eu poderia restringir
acesso ao meu servidor proxy atravs de autenticao de usurios?
4. Qual o arquivo de Log do Proxy onde posso obter informaes sobre sites
acessados e negados?
5. O que proxy transparente? Como criar um proxy transparente? Qual a sua
vantagem?
6. O que NAT? Qual ferramenta pode ser utilizada para implementar o NAT?
Explique a vantagem do NAT em relao ao proxy.
7. Como funciona o NAT (IP Masquerade)?
8. Como utilizar o Proxy e o IP Masquerade conjuntamente, sendo que o proxy ser
utilizado apenas para trabalhar com o protocolo HTTP e o IP Masquerade para
trabalhar com os demais protocolos?
9. Qual as vantagens e as desvantagens do proxy em relao ao IP Masquerade?
Curso Especialista em Redes
treinamento@3way.com.br | (62) 3232 9333
Siga-nos tambm no Twitter!
twitter.com/3waynet

Anda mungkin juga menyukai