Vou descrever nesta dica minha experiência configurando um servidor 
Linux, fazendo os clientes da rede logarem no domínio, compartilhando arquivos com o 
SAMBA e compartilhando internet via 
IPTables.
Encontrei algumas dificuldades no momento da configuração do servidor, testei várias configurações e scripts que encontrei em outros artigos até conseguir fazer tudo funcionar redondo no servidor.
-  Distro usada: Debian 3.0 r1
-  Kernel: 2.6.14
-  Processador: Pentium III 500 MHz
-  Memória RAM: 512 MB
-  Rede: 2 placas (Via Rhine e Davicon 9120)
-  Modem: 3com 812 Office Connect Router
-  Hub: LG, 16 portas
Deduzindo que sua distro esteja devidamente instalada e pronta para uso, vamos aos passos. Importante lembrar que para todos os comandos abaixo é necessário executá-los com permissão total de administrador, no nosso caso, root.
Usando o apt-get (lembre-se de atualizar o repositório no arquivo /etc/apt/sources.list), digitemos:
# apt-get install samba
# apt-get install dhcpd3-server
# apt-get install iptables
Suficiente para o apt-get baixar e instalar o SAMBA e os demais servidores que iremos configurar no seu computador. Durante o processo de instalação do SAMBA e do dhcpd, o Debconf entra em ação perguntando se você gostaria de fazer a configuração dos arquivos. Selecione Não, vamos fazer toda e qualquer configuração na mão, tela preta na veia!
Tendo baixado o SAMBA e instalado, acesse o arquivo /etc/samba/smb.conf. Usando o editor de sua preferência (no caso, eu usei o vi) edite-o:
# vi /etc/samba/smb.conf
# Arquivo smb.conf Editado por Leandro Silva - leandro@ncit.com.br
# NCITs Group -- www.ncit.com.br --                                
#
##################### Configuração ###############################
[global]
   workgroup = NCITs
   netbios name = Intranet NCITs
   server string = Samba Server
   hosts allow = 192.168.10. 192.168.20. 127.
   load printers = yes
   log file = /var/log/samba/log.%m
   max log size = 50
   security = user
   encrypt passwords = yes
   socket options = TCP_NODELAY 
   interfaces = 192.168.20.2/24
   local master = yes
   os level = 33
   domain master = yes 
   preferred master = yes
   domain logons = yes
   logon script = netlogon.bat
   logon path = \home\profiles\%U
   wins support = yes
   wins proxy = yes
   dns proxy = yes 
# Acrescentando os compartilhamentos para a rede.
[homes]
   comment = Home Directories
   browseable = yes 
   writeable = yes
  [netlogon]
   comment = Network Logon Service
   path = /etc/samba/netlogon
   guest ok = yes
   writeable = no
   share modes = no
[Profiles]
   path = /home/profiles
   browseable = no
   guest ok = yes
   create mask = 0600
   directory mask = 0700
[public]
   comment = Public Area
   available = yes
   path = /home/public
   public = yes
   writeable = yes
   printable = no 
   write list = NCITs 
   share modes = yes 
No nosso exemplo acima, teremos que criar alguns diretórios para que dê tudo certo com nossa configuração. São elas:
-  /etc/samba/netlogon
-  /home/profiles
-  /home/public
   
Não vou comentar o script pelo motivo que já existem muitos artigos falando sobre os parâmetros. Meu objetivo é ajudar a fazer o teu "trem" funcionar na rede. Lembre-se de apenas modificar o que estará se adaptando melhor à configuração de sua rede. Observe também que é muito importante manter a organização do seu script, assim você não se perderá mais pra frente. :)
# killall smbd
# killall nmbd
# nmbd
# smbd
Após reiniciar o SAMBA rode o comando:
# testparm
Uma das primeiras informações que esse comando mostrará deverá ser uma mensagem:
"Server role: ROLE_DOMAIN_PDC".
Apareceu isso? Ok. Não apareceu? Comente, para descobrirmos juntos o que pode estar acontecendo!
Apresentou a informação, perfeito, seu servidor SAMBA está configurado!
Vamos agora à parte onde encontrei mais problemas, devido às informações diversas referentes a inclusão de usuários e máquinas Windows XP no domínio do SAMBA. Primeiramente, você precisa criar um grupo para os usuários da rede:
# groupadd NCITs
Adicione também o usuário root no domínio do SAMBA:
# smbpasswd root:root123
Na senha eu usei a mesma senha que uso para logar no sistema, até porque não sou muito bom para ficar guardando senhas... >:-)
Criado o grupo NCITs, vamos adicionar os usuários e as máquinas dos usuários no grupo. É... no SAMBA é realmente preciso criar um usuário para cada máquina da sua rede... Seguem abaixo os comandos detalhados:
Obs.: essa conta, apesar de cadastrada, não pode ter senha!
# useradd -g NCITs -s /dev/null -d /dev/null maquinaxp1$
# passwd -l maquinaxp1$
# smbpasswd -a -m maquinaxp1$
Importante não deixar de colocar o cifrão no final do nome da máquina, pois é exatamente isso que identifica que o usuário é uma máquina. Agora adicionaremos no sistema o usuário da máquina maquinaxp1$ no grupo NCITs:
# useradd leandro
Agora, incluiremos o usuário criado no domínio do SAMBA.
# smbpasswd -a leandro
Vá para a máquina microsoftxp$, logue normalmente, acesse o registro, clicando em Iniciar / Executar, e digite: regedit.
Abrindo a tela do registro do Windows XP, você vai procurar pela seguinte chave:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\netlogon\parameters
"RequireSignOrSeal"=dword:00000001
Essa opção estará com valor "1". Altere para "0" e ficará:
"RequireSignOrSeal"=dword:00000000
Vá ao painel de controle, clique em Sistemas / Identificação da Rede / Propriedades / Domínio (ao invés de Grupo de trabalho). Ele vai pedir nome de usuário e senha, é muito importante neste momento você logar primeiro com o usuário root do Linux!!!
Vamos agora apenas configurar rapidamente o servidor 
DHCP para que suas estações de trabalho possam receber um endereço IP à partir de seu servidor Linux.
Digite os comandos abaixo:
# vi /etc/dhcp3/hdcp3-server.conf
# Script DHCPD para distribuição de endereços IPs na rede interna
   ddns-update-style none;
   default-lease-time 600;
   max-lease-time 7200;
   authoritative;
   subnet 192.168.20.0 netmask 255.255.255.0 {
range 192.168.20.2 192.168.20.15;
option routers 192.168.20.1;
option domain-name "NCITs";
option domain-name-servers 192.168.20.1;
option broadcast-address 192.168.20.255;
}
Feita as alterações reinicie o serviço:
# dhcpd restart
Mermão, estamos quase com o objetivo concluído!
Agora fica assim, para os iniciantes, as conexões são simples, você vai conectar o cabo de rede do modem direto no computador na placa eth0. Recebeu o IP do modem, ok. Conecte o segundo cabo na eth1 e conect no Hub. Ok. Para desativar e ativar novamente as placas de rede faça assim: 
# if-down eth0
# if-up eth0
# if-down eth1
# if-up eth1
Digite o comando ifconfig no Shell para ver se as duas placas estão ok, recebendo os determinados IP´s.
Bom, agora, para as configurações abaixo, você precisa de um diploma da universidade de Berkeley, onde foi desenvolvido o FreeBSD, para poder fazer funcionar corretamente o NAT.
# modprobe iptable_nat
# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
# echo 1 > /proc/sys/net/ipv4/ip_forward 
Putz, como foi difícil não? >:)
Galerinha, não deixem de postar não, qualquer dúvida faça como eu, pergunte! >:)
Um abraço.