Visite também: Br-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]
Voltar   Under-Linux.org Fóruns > UnderLinux Wiki
Wiki Classificados Galeria Reviews Jogos Comunidades RSS Feeds FAQ Termos de Uso Sobre
Cadastre-se FotosBlogs Lista de Membros Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Ferramentas pessoais
Publicidade

From UnderLinux Wiki

Tabela de conteúdo

OpenBSD como servidor de Internet

Esse artigo tem por objetivo ensinar ao leitor como configurar um servidor de internet, rodando Bind ,qmail, apache(PHP),e o packetfilter, no OpenBSD.

Bind

Nesse nosso WebServer, utilizaremos o Bind 4.9.8, que vem como padrão no OpenBSD 3.1. Nosso domínio "exemplo" será o "open.opensolutions.com.br", com ip (fictício) 200.259.111.1. Utilizaremos o diretório /var/named/namedb como base dos arquivos, e o nosso arquivo principal de configuração será o /var/named/named.boot. Por padrão, o named no OpenBSD ja vem com uma configuração bem segura, rodando em um anbiente "chroot" (/var/named), e sendo executado pelo usuário named. Abaixo segue os arquivos de configuração do nosso domínio. Onde tiver ";"(ponto e vírgula) é um comentário. Cada arquivo começa com um comentário mostrando a sua localização no sistema e termina com um "EOF arquivo". Qualquer dúvida consulte nossos textos sobre DNS.

--/var/named/named.boot--
directory /namedb 
;diretório base
cache . named.ca
primary   0.0.127.IN-ADDR.ARPA  named.local
primary  open.opensolutions.com.br open.db
primary 1.111.259.200.IN-ADDR.ARPA 200.259.111.1.db
--EOF /var/named/named.boot--
-- /var/named/namedb/named.local --
@  IN   SOA  localhost. root.localhost.  (
                                     1        ; Serial
                                     3600     ; Refresh
                                     900      ; Retry
                                     3600000  ; Expire
                                     3600 )   ; Minimum
       IN      NS      localhost.
1       IN      PTR     localhost.
--EOF /var/named/namedb/named.local--
-- /var/named/namedb/open.db--
@  IN SOA open.opensolutions.com.br. daniel.underlinux.com.br. (
                           1 ; serial
                           3600 ; refresh
                           900 ; retry
                           3600000 ; expire
                           3600 ) ; minimum
;NameServer
@               IN      NS      open.opensolutions.com.br.
;SubDomains
@               IN      A       200.259.111.1
ns              IN      A       200.259.111.1
www             IN      A       200.259.111.1
@               IN      MX      5       open.opensolutions.com.br.
EOF /var/named/namedb/open.db
-- /var/named/namedb/200.259.111.1.db --
@ IN SOA open.opensolutions.com.br. daniel.underlinux.com.br. (
                       1 ; serial
                       3600 ; refresh
                       900 ; retry
                       3600000 ; expire
                       3600 ) ; minimum
@               IN      PTR     open.opensolutions.com.br.
@ IN NS open.opensolutions.com.br.
EOF /var/named/namedb/open.db

O arquivo named.ca, é um arquivo a parte, e pode ser obtido, renomeando-se o /var/named/namedb/root.cache, ou então baixando-o de ftp.internic.net.

mv /var/named/namedb/root.cache /var/named/namedb/named.ca

Feito isso, é só iniciar o named:

ndc start

qmail

Agora iremos falar do qmail. O OpenBSD vem com o sendmail como MTA padrão, mas por motivos de segurança e de facilidade, vamos instalar e configurar o qmail. Para começar, devemos criar o diretório que irá ser usado pelo qmail:

mkdir /var/qmail

Criar os usuários e grupos utilizados por ele, baixar o qmail e então instalá-lo:

groupadd nofiles
groupadd qmail
useradd -g nofiles -d /var/qmail/alias -m alias
useradd -g nofiles -d /var/qmail qmaild
useradd -g nofiles -d /var/qmail qmailp
useradd -g nofiles -d /var/qmail qmaill
useradd -g qmail -d /var/qmail qmailq
useradd -g qmail -d /var/qmail qmails
useradd -g qmail -d /var/qmail qmailr
wget http://cr.yp.to/software/qmail-1.03.tar.gz
tar -zxvf qmail-1.03.tar.gz
cd qmail-1.03
make setup check 
./config-fast open.opensolutions.com.br (dominio da sua maquina)
wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
tar -zxvf ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
make setup check
wget http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz
tar -zxvf checkpassword-0.90.tar.gz
cd checkpassword-0.90
make
make setup check

Feito isso, devemos configurar alguns "alias" necessários para o qmail, "desabilitar" o sendmail" e então iniciar o qmail:

cd ~alias
touch .qmail-postmaster
touch .qmail-mailer-daemon
touch .qmail-root
chmod 644 ~alias/*
chmod 0 /usr/sbin/sendmail
mv /usr/sbin/sendmail /usr/sbin/sendmail-old
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
sh -cf '/var/qmail/boot/home &'
/usr/local/bin/tcpserver -u (qmaild id) -g (qmaild gid) 0 25
/var/qmail/bin/qmail-smtpd 2>/dev/null& (na mesma linha)
/usr/local/bin/tcpserver 0 110 /var/qmail/bin/qmail-popup
open.opensolutions.com.br /bin/checkpassword
/var/qmail/bin/qmail-pop3d Mailbox 2>/dev/null& (na mesma linha tudo)

Pronto, espero que não tenha ficado muito chato. Mas basta seguir esses passos para funcionar corretamente. Para mais detalhes, veja www.qmail.org. Para iniciar o qmail durante o boot, veja a ultima parte.

Apache

O Apache já vem pré-instalado no OpenBSD, bastando apenas algumas modificações para o seu funcionamento desejado. No nosso exemplo, queremos rodar ele com suporte a PHP, então devemos instalar o PHP:

cd /usr/ports/www/php4
make
make install
/usr/local/sbin/php4-enable

E depois adicionar as seguintes linhas no /var/www/conf/httpd.conf, para ele aceitar seus scripts PHP:

LoadModule php4_module        /usr/lib/apache/modules/libphp4.so   
DirectoryIndex index.php index.html index.wml index.php3          
AddType application/x-httpd-php .php .php3 .phtml
AddType application/x-httpd-php-source .phps            

E então reiniciar o apache:

apachectl restart

pf

O OpenBSD ( a partir do 3.0) vem com o packetfilter (pf), que é um excelente filtro de pacotes, mas com uma configuração bem simples, toda dentro do arquivo "/etc/pf.conf" (nat.conf para nat). No nosso exemplo, usaremos a política de bloquear todo o acesso a nossa máquina, liberando apenas as portas usadas por nós (22,25,53,80 e 110). O acesso de saída será totalmente liberado. Nosso arquivo de configuração ficaria então desse modo:

#echo >> /etc/pf.conf << EOF
#Arquivos comecados com "#" sao comentarios e nao serao lidos.
#"dc0" e a nossa interface de rede. Troque pela a da sua maquina.
#ver /etc/hostname.xxx (xxx = interface de rede)
scrub in all
pass in log quick on dc0 inet proto tcp from any to any  port 22 flags S/SA 
pass in quick on dc0 inet proto tcp from any to any  port 25 flags S/SA 
pass in quick on dc0 inet proto tcp from any to any  port 80 flags S/SA
pass in quick on dc0 inet proto tcp from any to any  port 110 flags S/SA
pass in quick on dc0 inet proto tcp from any to any  port 53 flags S/SA
pass in quick on dc0 inet proto udp from any to any  port 53 flags S/SA
block in on dc0  inet from {127.0.0.0/8, 192.168.0.0/16 } to any
block in on dc0 from any to any
pass out on dc0 from any to any keep state
#EOF

Bem, agora basta iniciar o pf:

pfctl -R /etc/pf.conf
pfctl -e

Iniciando tudo durante o boot

Todos os nossos serviços já foram iniciados, mas para automatizar esse processo durante o boot, é necessário de mais algumas configurações. Para iniciar o "qmail" durante o boot, devemos adicionar as seguintes linha no final do arquivo /etc/rc (antes de exit 0):

echo "iniciando o qmail" 
sh -cf '/var/qmail/boot/home &' 
/usr/local/bin/tcpserver -u 1003 -g 1000 0 25 /var/qmail/bin/qmail-smtpd 2>/dev/null &
/usr/local/bin/tcpserver 0 110 /var/qmail/bin/qmail-popup open.opensolutions.com.br /bin/checkpassword /var/qmail/bin/qmail-pop3d Mailbox 2>/dev/null&

E para iniciar o named, o Apache e o pf, basta deixar as seguintes linhas no arquivo /etc/rc.conf na forma:

named_flags=""
httpd_flags="" 
pf=YES

Conclusão

Apos ter seguido todos esses passos, é só dar um logoff e deixar sua máquina trabalhando. E ó que ela trabalha... olha o Uptime do meu servidor (p100 com 16 de ram):

uptime
6:36PM  up 43 days,  9:50, 3 users, load averages: 0.58, 0.22, 0.14   

Bem, deixando a "grannde" performance do meu p100 de lado, se tiver alguma duvida,sugestão ou crítica, mail me:

Daniel B. Cid daniel@underlinux.com.br

Horários baseados na GMT -3. Agora são 18:13.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.