Tutorial de migração do NT4 para o Linux
Publicado em 22 de julho de 2003
O João Luis Mancy dos Santos (joaocep@terra.com.br) enviou este tutorial do qual ele é co-autor, ensinando como migrar os serviços de um servidor baseado no NT4 para o Linux. Veja abaixo as dicas dele neste extenso texto.
Serviços
do Windows NT Server 4.0 para GNU/Linux Soluções
Simples
João Luis Mancy dos Santos
<joaocep@brturbo.com>
Giuliano Cardoso Ribeiro
<giuliano@pop.com.br>
16 de julho de 2003
Resumo
Tendo em vista o fim do suporte ao
Windows NT 4.0 por parte da Microsoft, resolvemos escrever este
tutorial de migraçao de serviços.
Recomendamos utilizar máquinas
de hardware conhecido como as famosas PCCHIPS que funcionam
normalmente com a Conectiva Linux (menos modem, mas com a geração
ADSL quem precisa disso?).
Com base na instalação
personalizada do CL8 e Configurações normais do NT4
sendo que nenhuma das duas instalaçoes foram complementadas
exemplo: nenhum kernel foi recompilado e nenhum service pack
instalado. É apenas um tutorial de configurações
de ambos e não uma comparação de Sistemas
Operacionais.
Tentaremos usar as configurações
em modo texto no Linux para generalizar com as demais distribuições
e facilitar o uso para usuários de outras "distros"
(Distribuiçoes Linux)
Com base na instação de
um NT4 Server em inglês.
Observações
importantes:
Você já deverá
possuir grandes noções de Windows NT e algumas em
Linux. Portando este não é um tutorial para
iniciantes em NT.
Testamos este tutorial em uma
máquina PIII 650, 256 RAM, P.Mãe PCChips 5598 e Placa
de rede Intel Pro 100 rodando Conectiva Linux 8.0 e outra Celeron
566 com 256 RAM, P.Mãe PCChips Xcell 2000 e Placa de rede
Intel Pro 100 rodando Windows NT Server 4.0.
Não recomendamos a ninguém
a loucura de instalar um servidor com placas PCCHIPS, pois é
um hardware de baixo custo e pouco confiável. (mas tenhos
uma, quem nunca teve?).
Regras do Artigo:
Um comando será citado
precedido de sustenido "#" que é o prompt "C:\"
do root e ao contrário de "$" que é o prompt
do usuário comum. Muitos notarão estas diferenças.
1
- Gerenciamento de Usuários.
NT
No NT vá em
Start/Programs/Administrative Tools/User Manager for Domains
Bem, lá se escondem todas as
configurações de usuários utilizados no NT. Um
princípio remoto do Active Directory. Como citado
anteriormente digamos que todos vocês saibam administrar os
usuários, grupos e permissões em seu sistema.
Linux
Os usuários admistrativos são
diferentes. O root (Super-usuário) é o responsável
por todas as funções do sistema. Semelhante ao
Administrator do NT. Todos os usuários Linux ficam cadastrados
em um arquivo em /etc/passwd e em alguns casos em /etc/shadows
(encriptados).
#vi /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:
daemon:x:2:2:daemon:/sbin:
adm:x:3:4:adm:/var/adm:
lp:x:4:7:lp:/var/spool/lpd:
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:
news:x:9:13:news:/var/spool/news:
uucp:x:10:14:uucp:/var/spool/uucp:
operator:x:11:0:operator:/root:
games:x:12:100:games:/usr/games:
gopher:x:13:30:gopher:/usr/lib/gopher-data:
ftp:x:14:50:FTP User:/var/ftp:
nobody:x:65534:65534:Nobody:/home:
proxy:x:100:101::/home/proxy:/bin/bash
mysql:x:101:102:MySQL
server:/var/lib/mysql:/bin/bash
ww:x102:103::/var/www:/bin/false
çap:x:103:104:Ldap
user:/var/lib/openldap-ldbm:/bin/false
pstfix:x:104:105:postfix:/var/spool/postfix:
tunnel:x:105:233::/home/stunnel:/dev/null
sort:x:106:106:snort:/var/snort:/bin/false
fp:x:107:107:NTP
daemon:/etc/ntp:/bin/false
nmed:x:108:235:Domain name
server:/var/named:/bin/false
joao:x:500:500:joao:/home/joao:/bin/bash
|
Acima um exemplo do arquivo passwd.
Para adiconar um usuário no
linux use:
#user add teste
Para definir uma senha (sem senha não
funciona):
#passwd teste
Ele pedirá para digitar e
confirmar.
Para remover usuário use:
#userdel teste
Há ferramentas muito mais
fáceis para administrar usuários e grupos. No caso do
CL8 use o #userconf que tanto em modo gráfico como em modo
texto farão o serviço. Mas também poderá
usar o webmin via browser no Debian / Slackware. Use o Yast no SuSE e
United.
Mas não acabou por ai... há
um grande aliado no linux para esta tarefa de Servidor de Arquivos /
Domínios / Home Folders. Estamos falando do SAMBA.
O Samba é um programa que faz
a comunicaçao entre as maquinas Linux e Windows através
do protocolo SMB. As capacidades do Samba são:
Servidor de Homes
Servidor de Impressão
O arquivo de configuração
samba fica armazenado em /etc/smb.conf ou /etc/samba/smb.conf
[global]
workgroup = grupo de rede
netbios name = nome da maquina
server string = linux samba
server
encrypt passwords = Yes
log level = 1
log file = /var/log/samba/log.%m
max log size = 50
socket options = TCP_NODELAY
SO_RCVBUF=8192 SO_SNDBUF=8192
os level = 0
preferred master = False
domain master = False
dns proxy = No
printing = cups
[homes]
comment = Home Directories
read only = No
browseable = No
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
[meusdoc]
path = /home
read only = No
guest ok = Yes
|
No exemplo acima vemos o arquivo
smb.conf configurado simplesmente para compartilhar uma pasta.
Segue a configuração do
smb.conf
[global]
netbios name = nome maquina
workgroup = grupo rede
server string = Samba Server
atualizado em %T
printcap name = /etc/printcap
load printers = yes
printing = lprng
guest account = root
log file = /var/log/samba/log.%m
max log size = 50
debug level = 1
security = server
password level = 8
username level = 8
encrypt passwords = yes
smb passwd file = /etc/smbpasswd
unix password sync = Yes
passwd program = /usr/bin/passwd
%u
passwd chat =
*New*UNIX*password* %n *ReType*new*UNIX*password* %n
*passwd:*all*authentication*tokens*updated*successfully*
username map = /etc/smbusers
socket options = TCP_NODELAY
SO_RCVBUF=8192 SO_SNDBUF=8192
local master = Yes
os level = 99
domain master = yes
preferred master = yes
domain logons = yes
name resolve order = wins
lmhosts bcast
wins support = yes
dns proxy = no
preserve case = no
short preserve case = no
default case = lower
case sensitive = no
create mask = 0664
update encrypted = Yes
time server = Yes
domain admin group = @adm
[homes]
comment = Diretórios
Pessoais
read only = No
browseable = No
[netlogon]
comment = Network Logon Service
path =
/usr/local/samba/netlogon
guest ok = yes
writable = no
share modes = no
|
Basicamente a configuração
é essa mais para as máquina Win2000 e WinXP, você
terá que criar um usuário com o nome da máquina
windows no linux. Os profiles serao carregados também,
independente de Sistema Operacional.
Você tem uma máquina
win2000 com o nome de "win2k", vc tem que criar um usuário
no linux do seguinte modo. #adduser win2k$ ; #smbpasswd -am win2k.
depois disso você poderá acessar sem problemas.
Seguindo as configurações
acima você conseguirá efetuar logon através do
windows NT/2000 e XP no seu Linux evitando as famosas licensas de
servidores.
Não esqueça de reinicar
os serviços. No Linux, não se reinica o sistema. Não
necessita, apenas reinicie os serviços que ficam na pasta
/etc/rc.d/init.d nas distros Red Hat e Conectiva e /etc/rc.d no
Slackware e Debian.
#/etc/rc.d/init.d/smb restart
#samba restart -> no conectiva
Slackware e Debian
#smbd start
#nmbd start
Dica: Tente utilizar o SWAT -
Configuraçao do Samba via Web browser.
Descomente a ultima linha do arquivo
/etc/inetd.conf
swat stream tcp nowait.400 root
/usr/sbin/swat swat
e reinicie o serviço inet.
#/etc/rc.d/init.d/inet restart
acesse o browser e acesse
http://localhost:901 entre com a senha do root e pronto.
Mas cuidado com o Swat em servidores
de internet pois isso representa uma falha de segurança para
acesso a este serviço.
No Linux as permissões sao
baseadas no sistemas de arquivos onde há um número e um
significado para cada permissão.
0 Nenhuma permissão
1 Permissão para executar
2 Permissão para gravar
3 Permissão para gravar e
executar
4 Permissão para ler
5 Permissão para ler e
executar
6 Permissão para ler e
gravar
7 Permissão para ler,
gravar e executar
|
Com uso do comando chmod você
poderá definir quais permissões serão
necessários para seus arquivos.
Exemplo:
#chmod 777 teste.dat
Onde o 777 está na tabela para
todos os arquivos e você terá totais poderes sobre eles.
Há um tutorial sobre migraçao
de senhas do Windows NT para passwd em:
Siga o link caso você queira
continuar com seus usuários da rede NT.
2
- Gerenciamento de LOGs
NT
No NT podemos conferir os logs
atraves do Event Viewer e ver alguns problemas em sua
inicializaçao. Para matar ou parar processos use o Services
que está no Control Panel.
O Task Manager do ctrl+alt+del
ajuda bastante também. Mas não há algo muito bom
neste caso.
Linux
O linux dá um tratamento mais
adequado aos seus logs com ferramentas e até mesmo com seus
arquivos de logs. Sugerimos até mesmo uma partição
separada no momento da instalação para os logs que
geralmente estouram em instalações mau feitas do Linux.
Local de gravação por
default (poderá ser alterado): /var/log/
Há usuários que
defendem o particionamento separado de /var para estes tipos de
casos. Lembro que para usuários domésticos não
necessitam de tanta severidade.
No messages estão quase todos
os logs do sistema. Você verá algo assim:
#tail -f /var/log/messages
Jul 11 16:15:22 cpd11 modprobe:
modprobe: Can't locate module sound-service-0-3
Jul 11 16:21:26 cpd11
login(pam_unix)[815]: session opened for user root by
LOGIN(uid=0)
|
Inclusive minha placa de som que não
funciona pois está queimada. Vemos também a abertura de
uma sessão por root.
Assim como no Windows o Linux
trabalha com PID, que nada mais é a identidade do processo
rodando. Como no NT o Linux roda e muito com Daemons ou processos
rodando em Background (por baixo da interface) e não aparecem
no seu trabalho normal. Os Daemons rodam como superusuário ou
qualquer outro enqunato você poderá trabalhar
tranquilamnte como usuário normal do sistema.
para verificar os serviços
utilize o comando "ps" ou "top" exemplo:
#ps -aux
USER PID %CPU %MEM VSZ
RSS TTY STAT START TIME COMMAND
root 1 0.0 0.2 1320
524 ? S 11:22 0:03 init [
root 2 0.0 0.0 0
0 ? SW 11:22 0:00 [keventd]
evolution-executi
root 2301 0.0 4.0 28964
10044 ? S 15:08 0:00 evolution-mail --
root 2302 0.0 4.0 28964
10044 ? S 15:08 0:00 evolution-mail --
root 2307 0.0 0.6 3252
1612 ? S 15:08 0:00 gconfd-1 --oaf-ac
root 2334 0.0 0.9 5604
2368 tty1 S 16:18 0:00 xterm -sb
root 2336 0.0 0.5 2720
1484 pts/2 S 16:18 0:00 bash
root 2338 0.0 0.5 2688
1480 tty3 S 16:21 0:00 -bash
root 2354 0.4 5.6 22244
14064 tty1 S 16:22 0:02 kedit
root 2358 0.0 0.3 2828
944 tty2 R 16:30 0:00 ps -aux
|
Onde a saida será parecida com
a de cima. (Deletamos vários registros para diminuir o
documento).
Você matar seus processos
através do comando "kill" exemplo:
#kill -9 2354
e o kedit será fechado
conforme seu PID 2354.
Dica importante sempre que quiser
acabar com uma aplicação por completo e sem medo de
perder os arquivos.
use:
#killall <nome da aplicação>
Através do comando "dmesg"
podemos verificar a inicialização do Linux. As
interrupções de IRQ e se há algum problema.
Exemplo:
-
#dmesg
Linux version 2.4.18-2cl
(root@mapi2.distro.conectiva) (gcc version 2.95.3 20010315 (release))
#1 Mon Mar 11 01:53:17 BRT 2002
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 -
000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 -
00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 -
0000000000100000 (reserved)
BIOS-e820: 0000000000100000 -
000000000f7f0000 (usable)
BIOS-e820: 000000000f7f0000 -
000000000f7f8000 (ACPI data)
BIOS-e820: 000000000f7f8000 -
000000000f800000 (ACPI NVS)
BIOS-e820: 00000000ffef0000 -
00000000fff00000 (reserved)
BIOS-e820: 00000000ffff0000 -
0000000100000000 (reserved)
On node 0 totalpages: 63472
zone(0): 4096 pages.
zone(1): 59376 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/hda4 3
Initializing CPU#0
Detected 651.471 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 1300.88
BogoMIPS
Memory: 247384k/253888k available
(1044k kernel code, 6116k reserved, 298k data, 228k init, 0k highmem)
Dentry-cache hash table entries:
32768 (order: 6, 262144 bytes)
Inode-cache hash table entries: 16384
(order: 5, 131072 bytes)
Mount-cache hash table entries: 4096
(order: 3, 32768 bytes)
Buffer-cache hash table entries:
16384 (order: 4, 65536 bytes)
Page-cache hash table entries: 65536
(order: 6, 262144 bytes)
CPU: Before vendor init, caps:
0383f9ff 00000000 00000000, vendor = 0
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 256K
CPU: After vendor init, caps:
0383f9ff 00000000 00000000 00000000
Intel machine check architecture
supported.
Intel machine check reporting enabled
on CPU#0.
CPU: After generic, caps:
0383f9ff 00000000 00000000 00000000
CPU: Common caps:
0383f9ff 00000000 00000000 00000000
CPU: Intel Pentium III (Coppermine)
stepping 03
Enabling fast FPU save and restore...
done.
Enabling unmasked SIMD FPU exception
support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.40 (20010327) Richard Gooch
(rgooch@atnf.csiro.au)
mtrr: detected mtrr type: Intel
PCI: PCI BIOS revision 2.10 entry at
0xfdb81, last bus=1
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: Using IRQ router SIS [1039/0008]
at 00:01.0
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device
found
Linux NET4.0 for Linux 2.4
Based upon Swansea University
Computer Society NET3.039
Initializing RT netlink socket
apm: BIOS version 1.2 Flags 0x03
(Driver version 1.16)
Starting kswapd
VFS: Diskquotas version dquot_6.4.0
initialized
pty: 256 Unix98 ptys configured
Serial driver version 5.05c
(2001-07-08) with MANY_PORTS MULTIPORT SHARE_IRQ SERIAL_PCI ISAPNP
enabled
ttyS00 at 0x03f8 (irq = 4) is a
16550A
Real Time Clock Driver v1.10e
block: 128 slots per queue, batch=32
RAMDISK driver initialized: 16 RAM
disks of 4096K size 1024 blocksize
Uniform Multi-Platform E-IDE driver
Revision: 6.31
ide: Assuming 33MHz system bus speed
for PIO modes; override with idebus=xx
SIS5513: IDE controller on PCI bus 00
dev 01
PCI: No IRQ known for interrupt pin A
of device 00:00.1. Please try using pci=biosirq.
SIS5513: chipset revision 208
SIS5513: not 100% native mode: will
probe irqs later
SiS620
ide0: BM-DMA at 0xffa0-0xffa7,
BIOS settings: hda:pio, hdb:pio
ide1: BM-DMA at 0xffa8-0xffaf,
BIOS settings: hdc:pio, hdd:pio
hda: MAXTOR 4K020H1, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: 39876480 sectors (20417 MB)
w/2000KiB Cache, CHS=2482/255/63, UDMA(33)
ide-floppy driver 0.97.sv
Partition check:
hda: hda1 hda2 hda3 hda4
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
Cronyx Ltd, Synchronous PPP and CISCO
HDLC (c) 1994
Linux port (c) 1998 Building Number
Three Ltd & Jan "Yenya" Kasprzak.
ide-floppy driver 0.97.sv
md: md driver 0.90.0 MAX_MD_DEVS=256,
MD_SB_DISKS=27
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 2048
buckets, 16Kbytes
TCP: Hash tables configured
(established 16384 bind 16384)
NET4: Unix domain sockets 1.0/SMP for
Linux NET4.0.
NET4: AppleTalk 0.18a for Linux
NET4.0
RAMDISK: Compressed image found at
block 0
Freeing initrd memory: 308k freed
VFS: Mounted root (ext2 filesystem).
Journalled Block Device driver loaded
kjournald starting. Commit interval
5 seconds
EXT3-fs: mounted filesystem with
ordered data mode.
Freeing unused kernel memory: 228k
freed
Adding Swap: 457844k swap-space
(priority -1)
EXT3 FS 2.4-0.9.17, 10 Jan 2002 on
ide0(3,4), internal journal
LVM version
1.0.1-rc4(ish)(03/10/2001) module loaded
loop: loaded (max 8 devices)
NTFS driver v1.1.22 [Flags: R/O
MODULE]
NTFS: Warning! NTFS volume version is
Win2k+: Mounting read-only
Linux agpgart interface v0.99 (c)
Jeff Hartmann
agpgart: Maximum main memory to use
for agp memory: 196M
agpgart: Detected SiS 620 chipset
agpgart: AGP aperture is 64M @
0xe8000000
NET4: Linux IPX 0.47 for NET4.0
IPX Portions Copyright (c) 1995
Caldera, Inc.
IPX Portions Copyright (c) 2000, 2001
Conectiva, Inc.
eepro100.c:v1.09j-t 9/29/99 Donald
Becker http://www.scyld.com/network/eepro100.html
eepro100.c: $Revision: 1.36 $
2000/11/17 Modified by Andrey V. Savochkin <saw@saw.sw.com.sg>
and others
PCI: Found IRQ 3 for device 00:09.0
eth0: Intel Corp. 82557 [Ethernet Pro
100], 00:02:B3:08:59:6E, IRQ 3.
Board assembly 721383-016, Physical
connectors present: RJ45
Primary interface chip i82555 PHY
#1.
General self-test: passed.
Serial sub-system self-test:
passed.
Internal registers self-test:
passed.
ROM checksum self-test: passed
(0x04f4518b).
parport0: PC-style at 0x378
[PCSPP,TRISTATE]
lp0: using parport0 (polling).
lp0: console ready
lp0: compatibility mode
lp0: compatibility mode
lp0: compatibility mode
Acima apresentamso todas as mensagens
da inicialização do seu linux, no processo de boot do
sistema. Aquelas mensagens que você nunca consegui ler.
|
Dica: Use shift+pageup
ou pagedown para vericar acima / abaixo no shell
|
No Linux assim como no NT há
terefas agendadas pela CRON, um modo simples, mas não tão
fácil como em um NT. Para verificar use o comando:
# crontab -l
No meu caso não tenho nada
agendado, Há maneiras mais simples de inserir regrans na cron.
No Conectiva 8 dentro do linuxconf há
o painel de controle e ali no meio está o menu "Configurar
tarefas agendadas do superusuário" neste local você
poderá definir facilmente suas tarefas.
Os logs de segurança podem ser
vistos no arquivo /var/log/secure, como logons de sistema e até
tentativas de invasão (Se você foi invadido de verdade,
dificilmente achará seus logs).
Exemplo:
#tail -f /var/log/secure
Jul 8 16:31:33 cpd11 login: ROOT
LOGIN ON tty2
Jul 9 09:08:44 cpd11 login: ROOT
LOGIN ON tty1
Jul 9 09:36:22 cpd11 login: ROOT
LOGIN ON tty2
Jul 10 10:53:00 cpd11
useradd[2173]: new user: name=lesp-cel, uid=501, gid=231,
home=/home/lesp-cel, shell=/bin/false
Jul 10 10:53:00 cpd11
chage[2175]: changed password expiry for lesp-cel
Jul 10 15:21:56 cpd11 login: ROOT
LOGIN ON tty2
Jul 11 11:24:07 cpd11 login: ROOT
LOGIN ON tty1
Jul 11 13:07:48 cpd11 login: ROOT
LOGIN ON tty2
Jul 11 16:21:26 cpd11 login: ROOT
LOGIN ON tty3
Jul 14 07:42:54 cpd11 login: ROOT
LOGIN ON tty1
|
Notem os root logins no sistema. Em
outras distros há uma pasta chamada /var/log/adm vimos isto na
distro SuSE.
Há outros logs e ferramentas
para facilitar sua vida, recomendo o GTOP que é uma espécie
de top gráfico e o xkill que mata processos gráficos
quando estao travados. Vá até a pasta de logs /var/log
e verifique você mesmo, pois cada novo serviço
adicionado, um novo log será criado. O webmin também
contém uma forma muito eficaz de conferência dos logs.
3
- Servidor de DHCP
NT
São inúmeras as
vantagens de um servidor DHCP em uma rede, como a simplicidade de
configuração das máquinas e a possibilidade de
ajustar os IP's conforme um range ou data. No NT o Serviço de
DHCP não vem instalado por Default e deverá ser
instalado posteriormente.
Vá até as propriedades
da rede e na orelha SERVICES add
você encontrará varios
serviços, muitos já ultrapassados por novos protocolos,
selecione o DHCP e pronto.
Para configurar o DHCP no NT, vá
novamente até o Administrative Tools e DHCP Manager. Abrirá
uma interface intuitiva para realizar o serviço.
Linux
No linux há meios mais fáceis
e meios complexos de se fazer um server de DHCP. Vamos pelo mais
complexo.
Você deverá instalar o
pacote DHCPD que vem junto na maioria das distros do mercado.
Instalando:
#rpm -ivh dhcp-3.0-2cl.i386.rpm
Após instalado vá até
o diretório /etc e configure o arquivo "dhcpd.conf"
caso você não encontre, crie um como o arquivo abaixo:
#SEU ARQUIVO DHCP
server-identifier MINHAMAQUINA;
#sua máquina servidora
ddns-update-style ad-hoc;
subnet 10.0.0.0 netmask
255.255.0.0{ #sua rede e sub-rede
range 10.0.113.10 10.0.113.200;
#seu range de ips p/ dhcp option domain-name "MEU.DOMINIO";
#Seu DOMÍNIO
option
domain-name-servers 10.0.1.10; #Seu DNS
option host-name "MEUDNS";
#Nome do Seu DNS
option routers 10.0.1.1;
#Seu Gateway
option subnet-mask 255.255.0.0;
#Máscara de Sub-rede
option time-servers 10.0.1.8;
#Servidor de horários
}
#FINAL DO ARQUIVO
|
após inice o serviço:
#/etc/rc.d/init.d/dhcpd start
verifique com o comando "ps -aux
| grep dhcp" se ele está no ar
Se tudo estiver certo você já
poderá conectar com um cliente DHCP faça os testes,
inicie um win98 e digite em executar "winipcfg" vá
em mais informações e veja o servidor DHCP, se tudo
estiver certo será o ip da sua máquina.
Modos Simplificados de configuração.
Utilize o linuxconf para configurar,
fica dentro de REDE / SERVIÇOS DE INICIALIZAÇAO /
SERVIDOR DHCP/BOOTP
Lá você achará
uma interface mais amigável e até parecida com a do NT.
4
- Servidor DNS
O DNS ou Domain Name System (já
vi Server também) é a maquina responsável pela
codificaçao entre números ips e hostanames, veremos um
exemplo simples antes de qualquer coisa.
Você está tentando
acessar sua intranet e não consegue, supondo que você
saiba o ip do webserver, tente digitá-lo no browser... bingo.
Você acessou por IP.
Outro exemplo simples, vá até
o seu executar no Win98 e digite ping www.terra.com.br aparecerá
acima o número ip do Terra Networks algo como 200.145.34.19
(fictício). Coloque no browser e você acessará
por IP.
Se já deu para notar, esse é
o serviço do servidor de DNS, é conversar entre os
nomes e domínios e resolvê-los, há outros
serviços deste tipo, como o WINS da Microsoft, mas estão
em final de carreira.
NT
Assim como o DHCP você deverá
instalar separadamente, siga os passos do DHCP acima e boa sorte,
achei um site com algumas configuraçeos para NT bem simples.
Segue url:
Linux
No linux a necessidade de um DNS é
muito grande, devido a sua Rusticidade nas configuraçeos e a
facilidade que um DNS traz é muito grande.
Vamos as configuraçeos
complexas primeiro.
Instalando o pacote NAMED ou BIND
como é conhecido
#rpm -ivh bind-9.2.0-6cl.i386.rpm
Os arquivos de configuraçao do
Bind ficam isntalados em /var/named e /etc.
vamos em partes:
dentro de /var/named há 3
arquivos, chamados named.ca, named.local, e MEUDOMINIO.COM.BR estes
arquivos guardam as configuraçeos do DNS. Analisaremos um a
um.
Arquivo MEUDOMINIO.COM.BR
#vi MEUDOMINIO.COM.BR
$TTL 43200
@ IN SOA MINHAMAQUINA.MEUDOMINIO.COM.BR. hostmaster.MINHAMAQUINA.MEUDOMINIO.COM.BR.
(
2003071401 ; serial
1H ; refresh
15M ; retry
14D ; expire
12H ; default_ttl
)
@ IN MX 5 MINHAMAQUINA.MEUDOMINIO.COM.BR.
@ IN NS MINHAMAQUINA.MEUDOMINIO.COM.BR.
#FIM DO ARQUIVO
|
Vimos acima uma simples configuraçao
de DNS onde indicamos o nome do server e seu MX e NS
Arquivo NAMED.CA
; formerly NS.INTERNIC.NET
;
. 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.
E.ROOT-SERVERS.NET. 3600000
A 192.203.230.10
;
; formerly NS.ISC.ORG
;
. 3600000
NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000
A 192.5.5.241
;
; formerly NS.NIC.DDN.MIL
;
. 3600000
NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000
A 192.112.36.4
;
; formerly AOS.ARL.ARMY.MIL
;
. 3600000
NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000
A 128.63.2.53
|
Dentro deste arquivo você
poderá atualizar manualmente cada servidor. Colocando um outro
Server DNS para que seu DNS consulte, assim fazendo uma grande rede.
Siga o exemplo acima. Há também arquivos prontos na
internet com servers atualizados.
Arquivo NAMED.LOCAL
-
#incio do arquivo
$TTL 3600
@ IN SOA localhost.
root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS
localhost.
1 IN PTR localhost.
#final do arquivo
Acima vemos um arquivo interno com
tempos de relay e conexoes.
Arquivo /etc/named.conf
-
options {
directory "/var/named";
listen-on{
127.0.0.1/32;
};
/*
* If there is a firewall between
you and nameservers you want
* to talk to, you might need to
uncomment the query-source
* directive below. Previous
versions of BIND always asked
* questions using port 53, but BIND
8.1 uses an unprivileged
* port by default.
*/ // query-source address * port
53;
dump-file
"/var/named/dump/named_dump.db";
statistics-file
"/var/named/dump/named.stats";
};
//
// a shared secret for the rndc tool
// this key must be the same one that
is in the
// /etc/rndc.conf file
//
key key_rndc{
algorithm "hmac-md5";
secret "ifkESt+rVNdd9EXEZhm+/g==";
};
//
// a control channel for the new rndc
tool
//
controls{
inet 127.0.0.1 allow{
localhost;
} keys{
key_rndc;
};
};
zone "." {
type hint;
file "named.ca";
};
zone "taurus.forjas.lx" {
type master;
file "taurus.forjas.lx";
};
zone "0.0.127.in-addr.arpa"
{
type master;
file "named.local";
};
#final do arquivo
Neste arquivo ficam as configurações
do BIND, como as zonas primárias e secundárias para
DNS.
De posse destas informações
fica muito fácil configurar através de outros
aplicativos como linuxconf e webmin.
No linuxconf vá até
Tarefas de Servidor / DNS neste lugar você configurará
todo seu servidor de DNS através de janelas.
5
- BACKUP de Arquivos
Muitos já ouviram falar sobre
a lei de Murphy bem seja lá que for esse maluco (todo mundo
fala mas ninguém sabe quem é...) ele tem uma lei
curiosa, de que sempre que você precisar de algo, este não
funcionará.
Verdades sejam ditas, o Backup já
salvou e continuará salvando muita gente.
NT
o Windows NT possui a ferramenta mais
simples de configuração de Backup, o ntbackup.exe é
um programa simples e intuitivo de criaçao de cópias de
segurança. Ele mesmo comprime para uma fita todo sistema. Mas
possui suas limitaçoes como limite de 26 mapeamentos para
backup, enquanto no linux não há limites.
Pense comigo, você tem 26
letras no alfabeto americano, você só poderá usar
os "Drives" A: até Z: correto???
Linux
Ok, visto o drama acima citado, no
linux não há todo este terror devido a forma que é
montando as máquinas na rede ou Volumes como na Novell/Netware
você pode montar quandos "Drives" ou Volumes quiser
em um unico diretório com suas respectivas pastas.
\mnt\backup
\mnt\backup\maquina1
\mnt\backup\maquina2
\mnt\backup\maquina3
Tendo estas informaçoes
podemos começar nosso backup utilizando o comando TAR e Gzip
que até poderao ser abertos com o WinRAR.
Um backup simples com tar :
# tar -cf backup.tar /home/*
criaremos um backup da pasta /home e
seus subdiretórios.
Tente agora:
# tar -cf /dev/st0 /home/*
E vocE enviará para fita dat
no device 0 . é uma maneira simples de você conseguir
fazer um backup não tao fácil como no NT, mas muito
mais comprimido e seguro.
No link abaixo há um tutorial
muito mais fácil de se entender do que este. E não está
no meu escopo fazer cópias de artigos.
Para facilitar a vida, dá para
colocar na CRON lembra? Tarefas agendandas. Há vários
sites com dicas para estas tarefas também.
6
- Servidores WEB
Servidores WEB estao a alguns anos no
topo de todas as empresas, através de intranets e extranets
que facilitam a comunicação entre Clientes e
Servidores.
NT
Com IIS - Internet Information Server
, é muito fraco apenas com seu pacote inicial, mas com alguns
Services Packs depois ele até fica razoavel.
Seus arquivos ficam gravados por
default na pasta inetpub no C:\ da máquina, mas tudo poderá
ser alterado.
Os arquivos mais famosos dentro de um
diretório raiz do IIS são os *.asp do Acrive Sever Page
proprietários da Microsoft.
Linux
No Linux há o APACHE, o mais
utilizado servidor Web do mundo. Há versões para
Windows também. Veja em www.apache.org
O apache faz o mesmo serviço
do IIS mas com seus prós e contras (não roda ASP
nativamente), ele suporta vários módulos como: php,
ldap, mysql, postgres. O que facilita e muito a vida de quem está
fazendo os sites.
Como não é minha
intenção ficar descrevendo configurações
muito complexas de cada aplicação, vamos ao modo mais
simples de configuração em modo texto.
Para adquirir o APACHE vá até
o site www.apache.org e baixe a versão estável
atualmente a 2.0.47 até esta data.
Instale os pacotes referentes a sua
distro e vá até o arquivo "httpd.conf" dentro
de /etc/httpd/conf
na Conectiva e /etc/httpd na SuSE.
Dentro deste arquivo você
encontrará suas configuraçoes.
Arquivo HTTPD
-
##
## httpd.conf -- Apache HTTP server
configuration file
##
ServerType standalone
ServerRoot /etc/httpd
PidFile /var/run/httpd.pid
ScoreBoardFile
/var/run/httpd.scoreboard
Timeout 300
KeepAlive On
# MaxKeepAliveRequests 100
MaxKeepAliveRequests 50
# KeepAliveTimeout 15
KeepAliveTimeout 10
# MinSpareServers 8
# MaxSpareServers 20
MinSpareServers 2
MaxSpareServers 4
# StartServers 10
StartServers 2
MaxClients 150
# MaxRequestsPerChild 100
MaxRequestsPerChild 500
AddDefaultCharset On
# Modulos adicionais muito importante
descomentar se for usar
# LoadModule foo_module
modules/mod_foo.so
#
#LoadModule mmap_static_module
modules/mod_mmap_static.so
LoadModule env_module
modules/mod_env.so
LoadModule define_module
modules/mod_define.so
LoadModule config_log_module
modules/mod_log_config.so
LoadModule agent_log_module
modules/mod_log_agent.so
LoadModule referer_log_module
modules/mod_log_referer.so
#LoadModule mime_magic_module
modules/mod_mime_magic.so
LoadModule mime_module
modules/mod_mime.so
LoadModule negotiation_module
modules/mod_negotiation.so
LoadModule status_module
modules/mod_status.so
LoadModule info_module
modules/mod_info.so
LoadModule includes_module
modules/mod_include.so
LoadModule autoindex_module
modules/mod_autoindex.so
LoadModule dir_module
modules/mod_dir.so
LoadModule cgi_module
modules/mod_cgi.so
LoadModule asis_module
modules/mod_asis.so
LoadModule imap_module
modules/mod_imap.so
LoadModule action_module
modules/mod_actions.so
#LoadModule speling_module
modules/mod_speling.so
LoadModule userdir_module
modules/mod_userdir.so
LoadModule proxy_module
modules/libproxy.so
LoadModule alias_module
modules/mod_alias.so
LoadModule rewrite_module
modules/mod_rewrite.so
LoadModule access_module
modules/mod_access.so
LoadModule auth_module
modules/mod_auth.so
LoadModule anon_auth_module
modules/mod_auth_anon.so
#LoadModule dbm_auth_module
modules/mod_auth_dbm.so
LoadModule db_auth_module
modules/mod_auth_db.so
LoadModule digest_module
modules/mod_digest.so
#LoadModule cern_meta_module
modules/mod_cern_meta.so
LoadModule expires_module
modules/mod_expires.so
LoadModule headers_module
modules/mod_headers.so
LoadModule usertrack_module
modules/mod_usertrack.so
#LoadModule example_module
modules/mod_example.so
#LoadModule unique_id_module
modules/mod_unique_id.so
LoadModule setenvif_module
modules/mod_setenvif.so
<IfDefine SSL>
LoadModule ssl_module
modules/libssl.so
</IfDefine>
# Extra Modules
#LoadModule php_module
modules/mod_php.so
#LoadModule php3_module
modules/libphp3.so
LoadModule php4_module
modules/libphp4.so
#LoadModule perl_module
modules/libperl.so
ClearModuleList
#AddModule mod_mmap_static.c
AddModule mod_env.c
AddModule mod_define.c
AddModule mod_log_config.c
AddModule mod_log_agent.c
AddModule mod_log_referer.c
#AddModule mod_mime_magic.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_status.c
AddModule mod_info.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
#AddModule mod_speling.c
AddModule mod_userdir.c
AddModule mod_proxy.c
AddModule mod_alias.c
AddModule mod_rewrite.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_auth_anon.c
#AddModule mod_auth_dbm.c
AddModule mod_auth_db.c
AddModule mod_digest.c
#AddModule mod_cern_meta.c
AddModule mod_expires.c
AddModule mod_headers.c
AddModule mod_usertrack.c
#AddModule mod_example.c
#AddModule mod_unique_id.c
AddModule mod_so.c
AddModule mod_setenvif.c
AddModule mod_bandwidth.c
<IfDefine SSL>
AddModule mod_ssl.c
</IfDefine>
# Extra Modules
#AddModule mod_php.c
#AddModule mod_php3.c
AddModule mod_php4.c
#AddModule mod_perl.c
Port 80
User www
Group www
ServerAdmin root@localhost
DocumentRoot "/var/www/default"
<Directory />
Options None
AllowOverride None
</Directory>
<Directory "/var/www/default">
Options Indexes FollowSymLinks
Includes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
UserDir public_html
DirectoryIndex index.html index.wml
AccessFileName .htaccess
<Files .htaccess>
Order allow,deny
Deny from all
</Files>
UseCanonicalName On
TypesConfig /etc/mime.types
DefaultType text/plain
<IfModule mod_mime_magic.c>
MIMEMagicFile conf/magic
</IfModule>
HostnameLookups Off
ErrorLog logs/error_log
LogLevel warn
LogFormat "%h %l %u %t \"%r\"
%>s %b \"%{Referer}i\" \"%{User-Agent}i\""
combined
LogFormat "%h %l %u %t \"%r\"
%>s %b" common
LogFormat "%{Referer}i -> %U"
referer
LogFormat "%{User-agent}i"
agent
CustomLog logs/access_log common
ServerSignature On
Alias /icons/ "/var/www/icons/"
<Directory "/var/www/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/
"/usr/lib/cgi-bin/"
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
IndexOptions FancyIndexing
AddIconByEncoding
(CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif)
text/*
AddIconByType (IMG,/icons/image2.gif)
image/*
AddIconByType (SND,/icons/sound2.gif)
audio/*
AddIconByType (VID,/icons/movie.gif)
video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl
.wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z
.tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html
.shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh
.shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif
^^DIRECTORY^^
AddIcon /icons/blank.gif
^^BLANKICON^^
DefaultIcon /icons/unknown.gif
ReadmeName README
HeaderName HEADER
IndexIgnore .??* *~ *# HEADER*
README* RCS CVS *,v *,t
AddEncoding x-compress Z
AddEncoding x-gzip gz
AddLanguage en .en
AddLanguage fr .fr
AddLanguage de .de
AddLanguage da .da
AddLanguage el .el
AddLanguage it .it
LanguagePriority en fr de
# For PHP4:
AddType application/x-httpd-php .php
AddType
application/x-httpd-php-source .phps
AddType text/html .shtml
AddType text/vnd.wap.wml .wml
AddType image/vnd.wap.wbmp .wbmp
AddType application/vnd.wap.wmlc
.wmlc
AddType text/vnd.wap.wmlscript .wmls
AddType
application/vnd.wap.wmlscriptc .wmlsc
AddHandler server-parsed .shtml
AddHandler imap-file map
BrowserMatch "Mozilla/2"
nokeepalive
BrowserMatch "MSIE 4\.0b2;"
nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0"
force-response-1.0
BrowserMatch "Java/1\.0"
force-response-1.0
BrowserMatch "JDK/1\.0"
force-response-1.0
<IfDefine SSL>
Listen 80
Listen 443
</IfDefine>
<IfDefine SSL>
AddType application/x-x509-ca-cert
.crt
AddType application/x-pkcs7-crl
.crl
</IfDefine>
<IfModule mod_ssl.c>
SSLPassPhraseDialog builtin
SSLSessionCache
dbm:logs/ssl_scache
SSLSessionCacheTimeout 300
SSLMutex file:logs/ssl_mutex
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
#SSLRandomSeed startup
file:/dev/random 512
#SSLRandomSeed startup
file:/dev/urandom 512
#SSLRandomSeed connect
file:/dev/random 512
#SSLRandomSeed connect
file:/dev/urandom 512
SSLLog logs/ssl_engine_log
SSLLogLevel info
</IfModule>
<IfDefine SSL>
<VirtualHost _default_:443>
# General setup for the virtual host
DocumentRoot /var/www/default/
#ServerName new.host.name
ServerAdmin root@localhost
ErrorLog logs/error_log
TransferLog logs/access_log
SSLEngine on
SSLCertificateFile
/etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile
/etc/httpd/conf/ssl.key/server.key
SetEnvIf User-Agent ".*MSIE.*"
nokeepalive ssl-unclean-shutdown
CustomLog logs/ssl_request_log \
"%t %h
%{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
</IfDefine>
#Final do arquivo
É um arquivo enorme e caso
você queira instalar os módulos de PHP4 e MySQL ou mesmo
ldap. Você poderá apenas descomentar as linhas onde
contem LoadModules e AddModules.
Dica:
LoadModule php4_module
modules/libphp4.so
AddModule mod_php4.c
|
De posse destas configurações
você poderá testar testar seu browser com um
http://localhost
Se tudo estiver certo aparecerá
uma página do apache para você.
OBS: verifique se o serviço
está no ar.
#/etc/rc.d/init.d/httpd start
#/etc/rc.d/init.d/httpd status
se "running" ok você
stá com tudo certo.
7
– Conclusões finais
Resta agora esperar a decisão
final da empresa de Redmond para muitos criarem coragem para
migração. Pois não há muitas
alternativas. Ou migrar para Win2003 e arcar com seus custos
exorbitantes de Software e Hardware ou Partir para o desconhecido
mundo do Pinguim.
Lógico que há prós
e contras abordados em muitas listas de discussão, pois este é
o melhor meio de resolver duvidas para administradores de redes. Mas
o Linux está pronto para muito mais do que substituir o
simples WinNT. É incomparável sua estabilidade e
confiança mas isso a turma do outro lado já está
venda.
Boa sorte.
Referências
www.samba.org
www.apache.org
www.linux.trix.net
man pages --> #man <nome do
comando>
Dúvidas via e-mail ou
www.rau-tu.unicamp.br/linux