Mudanças entre as edições de "Projeto Integrador - 2013.1 - PC Telecom"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
(Criou página com ''''08/07/2013''' - Primeiro dia de Projeto ---- Definição da Equipe: | Andrey |- | Daniel |- | Deivid |- | Leandro |- | Hyowatha')
 
 
(21 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 2: Linha 2:
  
 
----
 
----
Definição da Equipe:
+
===Equipe===
  
| Andrey
+
* Andrey  
|-
+
* Daniel
| Daniel
+
* Deivid
|-
+
* Leandro
| Deivid
+
* Hyowatha
|-
+
 
| Leandro
+
==Iniciada configuração do script do configurador do DNS==
|-
+
 
| Hyowatha
+
'''09/07/2013''' - Segundo dia de Projeto -
 +
 
 +
==Realizado as instalações do DNS==
 +
 
 +
Todas as configurações abaixo foram feitas utilizando ip temporário.
 +
 
 +
Configurações realizadas no servidor:
 +
 
 +
configurando arquivo named.conf.local
 +
<syntaxhighlight lang=c>
 +
zone "pctelecom.sj.ifsc.edu.br" {
 +
      type master;
 +
      file "/etc/bind/zones/aula.zone";
 +
};
 +
# Zona reversa
 +
      zone "1.168.192.in-addr.arpa" {
 +
      type master;
 +
file "/etc/bind/zones/rev.1.168.192.in-addr.arpa";
 +
};
 +
</syntaxhighlight>
 +
Configurando arquivo aula.zone
 +
<syntaxhighlight lang=c>
 +
@ IN SOA ns1.pctelecom.sj.ifsc.edu.br. admin.ns1.pctelecom.sj.ifsc.edu.br. (
 +
        2011091401 ; Serial
 +
        28800 ; Refresh
 +
        3600 ; Retry
 +
        604800 ; Expire
 +
        38400 ) ; Default TTL
 +
  NS    ns1.pctelecom.sj.ifsc.edu.br.
 +
  NS    ns2.pctelecom.sj.ifsc.edu.br.
 +
  MX    10 mta.pctelecom.sj.ifsc.edu.br.
 +
  IN    A 192.168.1.222
 +
 
 +
$ORIGIN pctelecom.sj.ifsc.edu.br.
 +
 
 +
ns1  IN  A  192.168.1.222
 +
ns2  IN  A  192.168.1.222
 +
mta  IN  A  192.168.1.222
 +
www  IN  A  192.168.1.222
 +
web  IN  CNAME www
 +
</syntaxhighlight>
 +
Configurando arquivo de zona reversa
 +
<syntaxhighlight lang=c>
 +
$ORIGIN 1.168.192.in-addr.arpa.
 +
@ IN SOA ns1.pctelecom.sj.ifsc.edu.br. admin.ns1.pctelecom.sj.ifsc.edu.br. (
 +
2011091401;
 +
28800;
 +
604800;
 +
604800;
 +
86400 )
 +
      IN    NS    ns1.pctelecom.sj.ifsc.edu.br.
 +
      IN    NS    ns2.pctelecom.sj.ifsc.edu.br.
 +
222  IN    PTR  ns1.pctelecom.sj.ifsc.edu.br.
 +
222  IN    PTR  ns2.pctelecom.sj.ifsc.edu.br.
 +
222  IN    PTR  mta.pctelecom.sj.ifsc.edu.br.
 +
222  IN    PTR  www.pctelecom.sj.ifsc.edu.br.
 +
</syntaxhighlight>
 +
Na filial:
 +
<syntaxhighlight lang=c>
 +
// secundario (slave) do dominio delegado
 +
zone "subdominio.pctelecom.sj.ifsc.edu.br" IN {
 +
type slave;
 +
file "slave/slave.subdominio.examplo.com.br";
 +
masters {10.0.0.4;};
 +
</syntaxhighlight>
 +
 
 +
==Realizado as instalações do SMTP==
 +
 
 +
apt-get install postfix mailutils
 +
 
 +
vi /etc/postfix/main.cf
 +
 
 +
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
 +
biff = no
 +
append_dot_mydomain = no
 +
readme_directory = no
 +
mydestination = $myhostname, localhost.$mydomain, localhost
 +
relayhost =
 +
mynetworks = 127.0.0.0/8 10.0.2.0/24
 +
mailbox_size_limit = 0
 +
recipient_delimiter = +
 +
inet_interfaces = all
 +
inet_protocols = ipv4
 +
alias_database = hash:/etc/aliases
 +
alias_maps = hash:/etc/aliases
 +
myhostname = mta.exemplo.com.br
 +
mydomain = exemplo.com.br
 +
myorigin = $mydomain
 +
mydestination = $myhostname, localhost, $mydomain
 +
home_mailbox = Maildir/
 +
message_size_limit = 10240000
 +
body_checks = regexp:/etc/postfix/block_words
 +
 
 +
vi /etc/postfix/block words
 +
 
 +
/(.*)viagra(.*)/ REJECT [COD#01]
 +
/(.*)penis(.*)/ REJECT [COD#02]
 +
 
 +
mailbox_command =
 +
smtpd_sasl_local_domain =
 +
smtpd_sasl_auth_enable = yes
 +
smtpd_sasl_security_options = noanonymous
 +
broken_sasl_auth_clients = yes
 +
smtpd_recipient_restrictions = permit_sasl_authenticated,\
 +
permit_mynetworks,reject_unauth_destination
 +
/ˆReceived:/ HOLD
 +
 
 +
vi /etc/postfix/sasl/smtpd.conf
 +
 
 +
pwcheck_method: saslauthd
 +
mech_list: plain login
 +
 
 +
touch smtpd.key
 +
chmod 600 smtpd.key
 +
openssl genrsa 1024 > smtpd.key
 +
openssl req -new -key smtpd.key -x509 -days 3650 -out smtpd.crt
 +
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out \
 +
cacert.pem -days 3650
 +
sudo mv smtpd.key /etc/ssl/private/
 +
sudo mv smtpd.crt /etc/ssl/certs/
 +
sudo mv cakey.pem /etc/ssl/private/
 +
sudo mv cacert.pem /etc/ssl/certs/
 +
 
 +
smtp_tls_security_level = may
 +
smtpd_tls_security_level = may
 +
smtpd_tls_auth_only = no
 +
smtp_tls_note_starttls_offer = yes
 +
smtpd_tls_key_file = /etc/ssl/private/smtpd.key
 +
smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt
 +
smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem
 +
smtpd_tls_loglevel = 1
 +
smtpd_tls_received_header = yes
 +
smtpd_tls_session_cache_timeout = 3600s
 +
tls_random_source = dev:/dev/urandom
 +
 
 +
apt-get libsasl2-2
 +
apt-get sasl2-bin
 +
apt-get libsasl2-modules
 +
 
 +
vi /var/spool/postfix/var/run/saslauthd
 +
 
 +
vi /etc/default/saslauthd
 +
START=yes
 +
PWDIR="/var/spool/postfix/var/run/saslauthd"
 +
PARAMS="-m ${PWDIR}"
 +
PIDFILE="${PWDIR}/saslauthd.pid"
 +
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
 +
 
 +
dpkg-statoverride –force –update –add root sasl 755
 +
/var/spool/postfix/var/run/saslauthd
 +
/etc/init.d/saslauthd start
 +
 
 +
$ telnet localhost 25
 +
$ ehlo localhost
 +
$ quit
 +
 
 +
apt-get install courier-imap
 +
apt-get install courier-imap-ssl
 +
 
 +
$ telnet localhost imap
 +
$ imap login root senha
 +
$ ˆ]
 +
 
 +
'''10/07/2013''' - Terceiro dia dia de Projeto
 +
 
 +
Iniciado a instalação do samba
 +
 
 +
'''11/07/2013''' - Quarto dia de Projeto
 +
 
 +
Tentativa de conclusão do samba.
 +
sem sucesso.
 +
 
 +
'''12/07/2013''' - Quinto dia de Projeto
 +
 
 +
conclusão da instalação do samba.
 +
 
 +
'''15/07/2013''' - Sexto dia de Projeto
 +
 
 +
Iniciado a instalação da VPN e o script para restabelecer os serviço do DNS.
 +
 
 +
'''16/07/2013''' - Sétimo dia de Projeto
 +
 
 +
Continuação da instalação da VPN e iniciação do script para o beckup.
 +
 
 +
'''17/07/2013''' - Oitavo dia de Projeto
 +
 
 +
Tentativa de conclusão da VPN.
 +
 
 +
'''18/07/2013''' - Nono dia de Projeto
 +
 
 +
Professor não veio, por este motivo não teve atividades.
 +
 
 +
'''19/07/2013''' - Décimo dia de projeto
 +
 
 +
Conclusão da instalação da VPN.
 +
 
 +
'''22/07/2013''' - Décimo primeiro dia de Projeto
 +
 
 +
Concluido o script do beckup com IP provisório e instalação do NTOP.
 +
 
 +
'''23/07/2013''' - Décimo segundo dia de Projeto
 +
 
 +
Rede utilizando IP válido.
 +
 
 +
'''24/07/2013''' - Décimo terceiro dia de Projeto
 +
 
 +
Iniciado a configuração dos modens.
 +
 
 +
'''25/07/2013''' - Décimo quarto dia de Projeto
 +
 
 +
Entregado a planta do projeto de cabeamento estruturado. Passado informações adicionais para a realização do mesmo.
 +
No mesmo dia continuamos com a configuração dos modens onde apresentou um problema de comunicação entre a a filial e o servidor principal.
 +
 
 +
'''26/07/2013''' - Décimo quinto dia de Projeto
 +
 
 +
correção do problema com o cabeamento e correção na configuração do firewall.
 +
 
 +
'''29/07/2013''' - Décimo sexto dia de Projeto
 +
 
 +
'''30/07/2013''' - Correções e ajustes em scripts
 +
 
 +
'''31/07/2013''' - Data da Entrega
 +
 
 +
==Configurações do DNS==
 +
 
 +
Configurações realizadas no servidor:
 +
 
 +
configuração do arquivo named.conf.local
 +
<syntaxhighlight lang=c>
 +
// Do any local configuration here
 +
//
 +
zone "pctelecom.sj.ifsc.edu.br" {
 +
type master;
 +
file "/etc/bind/zones/aula.zone";
 +
};
 +
# Zona reversa
 +
zone "37.135.200.in-addr.arpa" {
 +
type master;
 +
file "/etc/bind/zones/rev.37.135.200.in-addr.arpa";
 +
};
 +
// Consider adding the 1918 zones here, if they are not used in your
 +
// organization
 +
//include "/etc/bind/zones.rfc1918";
 +
</syntaxhighlight>
 +
Configuraçao do arquivo aula.zone
 +
<syntaxhighlight lang=c>
 +
@  IN SOA ns1.pctelecom.sj.ifsc.edu.br. admin.ns1.pctelecom.sj.ifsc.edu.br. (
 +
2013072801 ; Serial
 +
28800 ; Refresh
 +
3600 ; Retry
 +
604800 ; Expire
 +
38400 ) ; Default TTL
 +
NS ns1.pctelecom.sj.ifsc.edu.br.
 +
NS ns2.pctelecom.sj.ifsc.edu.br.
 +
MX 10 mta.pctelecom.sj.ifsc.edu.br.
 +
IN A 200.135.37.103
 +
 
 +
$ORIGIN pctelecom.sj.ifsc.edu.br.
 +
ns1 IN A 200.135.37.103
 +
ns2 IN A 200.135.37.103
 +
mta IN A 200.135.37.103
 +
www IN A 200.135.37.103
 +
samba IN A 200.135.37.103
 +
web IN CNAME www
 +
 
 +
$ORIGIN subdominio.pctelecom.sj.ifsc.edu.br.
 +
; definicao dos dois servidores de nome
 +
@ IN NS ns3.subdominio.pctelecom.sj.ifsc.edu.br.
 +
; o proximo servidor aponta para o servidor acima (slave)
 +
IN NS ns1.pctelecom.sj.ifsc.edu.br.
 +
; endereco do servidor do subdominio
 +
ns3 IN A 10.0.0.4
 +
</syntaxhighlight>
 +
Configuração do arquivo rev.37.135.200.in-addr.arpa
 +
<syntaxhighlight lang=c>
 +
$ORIGIN 37.135.200.in-addr.arpa.
 +
@ IN SOA ns1.pctelecom.sj.ifsc.edu.br. admin.ns1.pctelecom.sj.ifsc.edu.br. (
 +
2013072301;
 +
28800;
 +
604800;
 +
604800;
 +
86400 )
 +
IN NS ns1.pctelecom.sj.ifsc.edu.br.
 +
IN NS ns2.pctelecom.sj.ifsc.edu.br.
 +
103 IN PTR ns1.pctelecom.sj.ifsc.edu.br.
 +
103 IN PTR ns2.pctelecom.sj.ifsc.edu.br.
 +
103 IN PTR mta.pctelecom.sj.ifsc.edu.br.
 +
103 IN PTR www.pctelecom.sj.ifsc.edu.br.
 +
103 IN PTR samba.pctelecom.sj.ifsc.edu.br.
 +
</syntaxhighlight>
 +
==Configuração do Samba==
 +
configuração do /etc/samba/smb.conf
 +
<syntaxhighlight lang=c>
 +
#
 +
# Sample configuration file for the Samba suite for Debian GNU/Linux.
 +
#
 +
#
 +
# This is the main Samba configuration file. You should read the
 +
# smb.conf(5) manual page in order to understand the options listed
 +
# here. Samba has a huge number of configurable options most of which
 +
# are not shown in this example
 +
#
 +
# Some options that are often worth tuning have been included as
 +
# commented-out examples in this file.
 +
#  - When such options are commented with ";", the proposed setting
 +
#    differs from the default Samba behaviour
 +
#  - When commented with "#", the proposed setting is the default
 +
#    behaviour of Samba but the option is considered important
 +
#    enough to be mentioned here
 +
#
 +
# NOTE: Whenever you modify this file you should run the command
 +
# "testparm" to check that you have not made any basic syntactic
 +
# errors.
 +
# A well-established practice is to name the original file
 +
# "smb.conf.master" and create the "real" config file with
 +
# testparm -s smb.conf.master >smb.conf
 +
# This minimizes the size of the really used smb.conf file
 +
# which, according to the Samba Team, impacts performance
 +
# However, use this with caution if your smb.conf file contains nested
 +
# "include" statements. See Debian bug #483187 for a case
 +
# where using a master file is not a good idea.
 +
#
 +
 
 +
#======================= Global Settings =======================
 +
 
 +
[global]
 +
 
 +
## Browsing/Identification ###
 +
 
 +
# Change this to the workgroup/NT-domain name your Samba server will part of
 +
  workgroup = servidor
 +
# server string is the equivalent of the NT Description field
 +
  server string = SMB Server %v em %h
 +
 
 +
# Windows Internet Name Serving Support Section:
 +
# WINS Support - Tells the NMBD component of Samba to enable its WINS Server
 +
#  wins support = no
 +
 
 +
# WINS Server - Tells the NMBD components of Samba to be a WINS Client
 +
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
 +
;  wins server = w.x.y.z
 +
 
 +
# This will prevent nmbd to search for NetBIOS names through DNS.
 +
  dns proxy = no
 +
 
 +
# What naming service and in what order should we use to resolve host names
 +
# to IP addresses
 +
;  name resolve order = lmhosts host wins bcast
 +
 
 +
#### Networking ####
 +
 
 +
# The specific set of interfaces / networks to bind to
 +
# This can be either the interface name or an IP address/netmask;
 +
# interface names are normally preferred
 +
;  interfaces = 127.0.0.0/8 eth0
 +
 
 +
# Only bind to the named interfaces and/or networks; you must use the
 +
# 'interfaces' option above to use this.
 +
# It is recommended that you enable this feature if your Samba machine is
 +
# not protected by a firewall or is a firewall itself.  However, this
 +
# option cannot handle dynamic or non-broadcast interfaces correctly.
 +
;  bind interfaces only = yes
 +
 
 +
 
 +
 
 +
#### Debugging/Accounting ####
 +
 
 +
# This tells Samba to use a separate log file for each machine
 +
# that connects
 +
  log file = /var/log/samba/%m.log
 +
 
 +
# Cap the size of the individual log files (in KiB).
 +
  max log size = 50
 +
 
 +
# If you want Samba to only log through syslog then set the following
 +
# parameter to 'yes'.
 +
#  syslog only = no
 +
 
 +
# We want Samba to log a minimum amount of information to syslog. Everything
 +
# should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log
 +
# through syslog you should set the following parameter to something higher.
 +
  syslog = 0
 +
 
 +
# Do something sensible when Samba crashes: mail the admin a backtrace
 +
  panic action = /usr/share/samba/panic-action %d
 +
 
 +
 
 +
####### Authentication #######
 +
 
 +
# "security = user" is always a good idea. This will require a Unix account
 +
# in this server for every user accessing the server. See
 +
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
 +
# in the samba-doc package for details.
 +
  security = user
 +
 
 +
# You may wish to use password encryption.  See the section on
 +
# 'encrypt passwords' in the smb.conf(5) manpage before enabling.
 +
  encrypt passwords = yes
 +
 
 +
# If you are using encrypted passwords, Samba will need to know what
 +
# password database type you are using. 
 +
  passdb backend = tdbsam
 +
 
 +
  obey pam restrictions = yes
 +
 
 +
# This boolean parameter controls whether Samba attempts to sync the Unix
 +
# password with the SMB password when the encrypted SMB password in the
 +
# passdb is changed.
 +
  unix password sync = yes
 +
 
 +
# For Unix password sync to work on a Debian GNU/Linux system, the following
 +
# parameters must be set (thanks to Ian Kahan <<kahan@informatik.tu-muenchen.de> for
 +
# sending the correct chat script for the passwd program in Debian Sarge).
 +
  passwd program = /usr/bin/passwd %u
 +
  passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
 +
 
 +
# This boolean controls whether PAM will be used for password changes
 +
# when requested by an SMB client instead of the program listed in
 +
# 'passwd program'. The default is 'no'.
 +
  pam password change = yes
 +
 
 +
# This option controls how unsuccessful authentication attempts are mapped
 +
# to anonymous connections
 +
  map to guest = bad user
 +
 
 +
########## Domains ###########
 +
 
 +
# Is this machine able to authenticate users. Both PDC and BDC
 +
# must have this setting enabled. If you are the BDC you must
 +
# change the 'domain master' setting to no
 +
#
 +
;  domain logons = yes
 +
#
 +
# The following setting only takes effect if 'domain logons' is set
 +
# It specifies the location of the user's profile directory
 +
# from the client point of view)
 +
# The following required a [profiles] share to be setup on the
 +
# samba server (see below)
 +
;  logon path = \\%N\profiles\%U
 +
# Another common choice is storing the profile in the user's home directory
 +
# (this is Samba's default)
 +
#  logon path = \\%N\%U\profile
 +
 
 +
# The following setting only takes effect if 'domain logons' is set
 +
# It specifies the location of a user's home directory (from the client
 +
# point of view)
 +
;  logon drive = H:
 +
#  logon home = \\%N\%U
 +
 
 +
# The following setting only takes effect if 'domain logons' is set
 +
# It specifies the script to run during logon. The script must be stored
 +
# in the [netlogon] share
 +
# NOTE: Must be store in 'DOS' file format convention
 +
;  logon script = logon.cmd
 +
 
 +
# This allows Unix users to be created on the domain controller via the SAMR
 +
# RPC pipe.  The example command creates a user account with a disabled Unix
 +
# password; please adapt to your needs
 +
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
 +
 
 +
# This allows machine accounts to be created on the domain controller via the
 +
# SAMR RPC pipe. 
 +
# The following assumes a "machines" group exists on the system
 +
; add machine script  = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
 +
 
 +
# This allows Unix groups to be created on the domain controller via the SAMR
 +
# RPC pipe. 
 +
; add group script = /usr/sbin/addgroup --force-badname %g
 +
 
 +
########## Printing ##########
 +
 
 +
# If you want to automatically load your printer list rather
 +
# than setting them up individually then you'll need this
 +
  # load printers = no
 +
 
 +
# lpr(ng) printing. You may wish to override the location of the
 +
# printcap file
 +
;  printing = bsd
 +
# printcap name = /etc/printcap
 +
 
 +
# CUPS printing.  See also the cupsaddsmb(8) manpage in the
 +
# cupsys-client package.
 +
;  printing = cup
 +
;  printcap name = cups
 +
 
 +
############ Misc ############
 +
 
 +
# Using the following line enables you to customise your configuration
 +
# on a per machine basis. The %m gets replaced with the netbios name
 +
# of the machine that is connecting
 +
;  include = /home/samba/etc/smb.conf.%m
 +
 
 +
# Most people will find that this option gives better performance.
 +
# See smb.conf(5) and /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/speed.html
 +
# for details
 +
# You may want to add the following on a Linux system:
 +
#        SO_RCVBUF=8192 SO_SNDBUF=8192
 +
#  socket options = TCP_NODELAY
 +
 
 +
# The following parameter is useful only if you have the linpopup package
 +
# installed. The samba maintainer and the linpopup maintainer are
 +
# working to ease installation and configuration of linpopup and samba.
 +
;  message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &
 +
 
 +
# Domain Master specifies Samba to be the Domain Master Browser. If this
 +
# machine will be configured as a BDC (a secondary logon server), you
 +
# must set this to 'no'; otherwise, the default behavior is recommended.
 +
#  domain master = auto
 +
 
 +
# Some defaults for winbind (make sure you're not using the ranges
 +
# for something else.)
 +
;  idmap uid = 10000-20000
 +
;  idmap gid = 10000-20000
 +
;  template shell = /bin/bash
 +
 
 +
# The following was the default behaviour in sarge,
 +
# but samba upstream reverted the default because it might induce
 +
# performance issues in large organizations.
 +
# See Debian bug #368251 for some of the consequences of *not*
 +
# having this setting and smb.conf(5) for details.
 +
;  winbind enum groups = yes
 +
;  winbind enum users = yes
 +
 
 +
# Setup usershare options to enable non-root users to share folders
 +
# with the net usershare command.
 +
 
 +
# Maximum number of usershare. 0 (default) means that usershare is disabled.
 +
;  usershare max shares = 100
 +
 
 +
# Allow users who've been granted usershare privileges to create
 +
# public shares, not just authenticated ones
 +
  usershare allow guests = yes
 +
 
 +
#======================= Share Definitions =======================
 +
 
 +
# Un-comment the following (and tweak the other settings below to suit)
 +
# to enable the default home directory shares.  This will share each
 +
# user's home directory as \\server\username
 +
;[homes]
 +
;  comment = Home Directories
 +
;  browseable = no
 +
 
 +
[homes]
 +
comment = Arquivos do usuario %u em %h
 +
browseable = no
 +
writable = yes
 +
public = no
 +
 
 +
 
 +
# By default, the home directories are exported read-only. Change the
 +
# next parameter to 'no' if you want to be able to write to them.
 +
;  read only = yes
 +
 
 +
# File creation mask is set to 0700 for security reasons. If you want to
 +
# create files with group=rw permissions, set next parameter to 0775.
 +
;  create mask = 0700
 +
 
 +
# Directory creation mask is set to 0700 for security reasons. If you want to
 +
# create dirs. with group=rw permissions, set next parameter to 0775.
 +
;  directory mask = 0700
 +
 
 +
# By default, \\server\username shares can be connected to by anyone
 +
# with access to the samba server.  Un-comment the following parameter
 +
# to make sure that only "username" can connect to \\server\username
 +
# This might need tweaking when using external authentication schemes
 +
;  valid users = %S
 +
 
 +
# Un-comment the following and create the netlogon directory for Domain Logons
 +
# (you need to configure Samba to act as a domain controller too.)
 +
;[netlogon]
 +
;  comment = Network Logon Service
 +
;  path = /home/samba/netlogon
 +
;  guest ok = yes
 +
;  read only = yes
 +
;  share modes = no
 +
 
 +
# Un-comment the following and create the profiles directory to store
 +
# users profiles (see the "logon path" option above)
 +
# (you need to configure Samba to act as a domain controller too.)
 +
# The path below should be writable by all users so that their
 +
# profile directory may be created the first time they log on
 +
;[profiles]
 +
;  comment = Users profiles
 +
;  path = /home/samba/profiles
 +
;  guest ok = no
 +
;  browseable = no
 +
;  create mask = 0600
 +
;  directory mask = 0700
 +
 
 +
#[printers]
 +
#  comment = All Printers
 +
#  browseable = no
 +
#  path = /var/spool/samba
 +
#  printable = yes
 +
#  guest ok = no
 +
#  read only = yes
 +
#  create mask = 0700
 +
 
 +
# Windows clients look for this share name as a source of downloadable
 +
# printer drivers
 +
#[print$]
 +
#  comment = Printer Drivers
 +
#  path = /var/lib/samba/printers
 +
#  browseable = yes
 +
#  read only = yes
 +
#  guest ok = no
 +
# Uncomment to allow remote administration of Windows print drivers.
 +
# You may need to replace 'lpadmin' with the name of the group your
 +
# admin users are members of.
 +
# Please note that you also need to set appropriate Unix permissions
 +
# to the drivers directory for these users to have write rights in it
 +
;  write list = root, @lpadmin
 +
 
 +
# A sample share for sharing your CD-ROM with others.
 +
;[cdrom]
 +
;  comment = Samba server's CD-ROM
 +
;  read only = yes
 +
;  locking = no
 +
;  path = /cdrom
 +
;  guest ok = yes
 +
 
 +
# The next two parameters show how to auto-mount a CD-ROM when the
 +
# cdrom share is accesed. For this to work /etc/fstab must contain
 +
# an entry like this:
 +
#
 +
#      /dev/scd0  /cdrom  iso9660 defaults,noauto,ro,user  0 0
 +
#
 +
# The CD-ROM gets unmounted automatically after the connection to the
 +
#
 +
# If you don't want to use auto-mounting/unmounting make sure the CD
 +
# is mounted on /cdrom
 +
#
 +
;  preexec = /bin/mount /cdrom
 +
;  postexec = /bin/umount /cdrom
 +
printcap name = cups
 +
load printers = no
 +
printcap cache time = 60
 +
printing = cups
 +
 
 +
hosts allow = 10.0.0. 127.
 +
map to guest = bad user
 +
security = user
 +
encrypt passwords = yes
 +
smb passwd file = /etc/samba/smbpasswd
 +
</syntaxhighlight>
 +
 
 +
Geradas as senhas
 +
 
 +
==Serviço de SMTP - configurções do postfix==
 +
 
 +
configuração do /etc/postfix/main.cf
 +
<syntaxhighlight lang=c>
 +
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
 +
 
 +
 
 +
# Debian specific:  Specifying a file name will cause the first
 +
# line of that file to be used as the name.  The Debian default
 +
# is /etc/mailname.
 +
#myorigin = /etc/mailname
 +
 
 +
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
 +
biff = no
 +
 
 +
# appending .domain is the MUA's job.
 +
append_dot_mydomain = no
 +
 
 +
# Uncomment the next line to generate "delayed mail" warnings
 +
#delay_warning_time = 4h
 +
 
 +
readme_directory = no
 +
 
 +
# TLS parameters
 +
#smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
 +
#smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
 +
smtpd_use_tls=yes
 +
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
 +
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
 +
 
 +
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
 +
# information on enabling SSL in the smtp client.
 +
 
 +
myhostname = mta.pctelecom.sj.ifsc.edu.br
 +
mydomain = pctelecom.sj.ifsc.edu.br
 +
alias_maps = hash:/etc/aliases
 +
alias_database = hash:/etc/aliases
 +
myorigin = $mydomain
 +
mydestination = $myhostname, localhost, $mydomain
 +
relayhost =
 +
mynetworks = 127.0.0.0/8 200.135.37.0/26
 +
mailbox_size_limit = 0
 +
recipient_delimiter = +
 +
inet_interfaces = all
 +
home_mailbox = Maildir/
 +
message_size_limit = 10240000
 +
 
 +
mailbox_command =
 +
smtpd_sasl_local_domain =
 +
smtpd_sasl_auth_enable = yes
 +
smtpd_sasl_security_options = noanonymous
 +
broken_sasl_auth_clients = yes
 +
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
 +
 
 +
smtp_tls_security_level = may
 +
smtpd_tls_security_level = may
 +
smtpd_tls_auth_only = no
 +
smtp_tls_note_starttls_offer = yes
 +
smtpd_tls_key_file = /etc/ssl/private/smtpd.key
 +
smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt
 +
smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem
 +
smtpd_tls_loglevel = 1
 +
smtpd_tls_received_header = yes
 +
smtpd_tls_session_cache_timeout = 3600s
 +
tls_random_source = dev:/dev/urandom
 +
</syntaxhighlight>
 +
==Serviço de VPN==
 +
Configuração do /etc/openvpn/2.0/vars
 +
<syntaxhighlight lang=c>
 +
export KEY_COUNTRY="BR"
 +
export KEY_PROVINCE="SC"
 +
export KEY_CITY="SaoJose"
 +
export KEY_ORG="IFSC"
 +
export KEY_EMAIL="admin@pctelecom.sj.ifsc.edu.br"
 +
</syntaxhighlight>
 +
Criadas as chaves para /etc/openvpn/2.0/
 +
<syntaxhighlight lang=c>source vars
 +
./clean-all
 +
./build-dh
 +
./pkitool --initca
 +
./pkitool --server servidor
 +
cd keys
 +
openvpn --genkey --secret ta.key
 +
</syntaxhighlight>
 +
Na filias os seguintes sertificados:
 +
<syntaxhighlight lang=c>
 +
cd /etc/openvpn/2.0/
 +
source vars
 +
./pkitool cliente1
 +
</syntaxhighlight>
 +
Copiadas as seguintes chaves para o cliente
 +
/etc/openvpn/
 +
<syntaxhighlight lang=c>
 +
ta.key
 +
ca.crt
 +
cliente1.crt
 +
cliente1.key
 +
</syntaxhighlight>
 +
Copiadas as seguintes chaves para o diretório /etc/openvpn do servidor:
 +
<syntaxhighlight lang=c>
 +
ta.key
 +
ca.crt
 +
ca.key
 +
dh1024.pem
 +
servidor.crt
 +
servidor.key
 +
</syntaxhighlight>
 +
Alterado o arquivo /etc/openvpn/server.conf
 +
<syntaxhighlight lang=c>
 +
# Which local IP address should OpenVPN
 +
# listen on? (optional)
 +
local 200.135.37.103
 +
 
 +
# Which TCP/UDP port should OpenVPN listen on?
 +
# If you want to run multiple OpenVPN instances
 +
# on the same machine, use a different port
 +
# number for each one.  You will need to
 +
# open up this port on your firewall.
 +
port 1194
 +
 
 +
# TCP or UDP server?
 +
;proto tcp
 +
proto udp
 +
 
 +
# "dev tun" will create a routed IP tunnel,
 +
# "dev tap" will create an ethernet tunnel.
 +
# Use "dev tap0" if you are ethernet bridging
 +
# and have precreated a tap0 virtual interface
 +
# and bridged it with your ethernet interface.
 +
# If you want to control access policies
 +
# over the VPN, you must create firewall
 +
# rules for the the TUN/TAP interface.
 +
# On non-Windows systems, you can give
 +
# an explicit unit number, such as tun0.
 +
# On Windows, use "dev-node" for this.
 +
# On most systems, the VPN will not function
 +
# unless you partially or fully disable
 +
# the firewall for the TUN/TAP interface.
 +
dev tap0
 +
;dev tun
 +
 
 +
up "/etc/openvpn/up.sh br0 tap0 1500"
 +
down "/etc/openvpn/down.sh br0 tap0"
 +
# Windows needs the TAP-Win32 adapter name
 +
# from the Network Connections panel if you
 +
# have more than one.  On XP SP2 or higher,
 +
# you may need to selectively disable the
 +
# Windows firewall for the TAP adapter.
 +
# Non-Windows systems usually don't need this.
 +
;dev-node MyTap
 +
 
 +
# SSL/TLS root certificate (ca), certificate
 +
# (cert), and private key (key).  Each client
 +
# and the server must have their own cert and
 +
# key file.  The server and all clients will
 +
# use the same ca file.
 +
#
 +
# See the "easy-rsa" directory for a series
 +
# of scripts for generating RSA certificates
 +
# and private keys.  Remember to use
 +
# a unique Common Name for the server
 +
# and each of the client certificates.
 +
#
 +
# Any X509 key management system can be used.
 +
# OpenVPN can also use a PKCS #12 formatted key file
 +
# (see "pkcs12" directive in man page).
 +
ca ca.crt
 +
cert servidor.crt
 +
key servidor.key  # This file should be kept secret
 +
 
 +
# Diffie hellman parameters.
 +
# Generate your own with:
 +
#  openssl dhparam -out dh1024.pem 1024
 +
# Substitute 2048 for 1024 if you are using
 +
# 2048 bit keys.
 +
dh dh1024.pem
 +
 
 +
# Configure server mode and supply a VPN subnet
 +
# for OpenVPN to draw client addresses from.
 +
# The server will take 10.8.0.1 for itself,
 +
# the rest will be made available to clients.
 +
# Each client will be able to reach the server
 +
# on 10.8.0.1. Comment this line out if you are
 +
# ethernet bridging. See the man page for more info.
 +
;server 10.8.0.0 255.255.255.0
 +
 
 +
# Maintain a record of client <-> virtual IP address
 +
# associations in this file.  If OpenVPN goes down or
 +
# is restarted, reconnecting clients can be assigned
 +
# the same virtual IP address from the pool that was
 +
# previously assigned.
 +
ifconfig-pool-persist ipp.txt
 +
 
 +
# Configure server mode for ethernet bridging.
 +
# You must first use your OS's bridging capability
 +
# to bridge the TAP interface with the ethernet
 +
# NIC interface.  Then you must manually set the
 +
# IP/netmask on the bridge interface, here we
 +
# assume 10.8.0.4/255.255.255.0.  Finally we
 +
# must set aside an IP range in this subnet
 +
# (start=10.8.0.50 end=10.8.0.100) to allocate
 +
# to connecting clients.  Leave this line commented
 +
# out unless you are ethernet bridging.
 +
server-bridge 10.0.0.1 255.255.255.0 10.0.0.10 10.0.0.30
 +
 
 +
# Configure server mode for ethernet bridging
 +
# using a DHCP-proxy, where clients talk
 +
# to the OpenVPN server-side DHCP server
 +
# to receive their IP address allocation
 +
# and DNS server addresses.  You must first use
 +
# your OS's bridging capability to bridge the TAP
 +
# interface with the ethernet NIC interface.
 +
# Note: this mode only works on clients (such as
 +
# Windows), where the client-side TAP adapter is
 +
# bound to a DHCP client.
 +
;server-bridge
 +
 
 +
# Push routes to the client to allow it
 +
# to reach other private subnets behind
 +
# the server.  Remember that these
 +
# private subnets will also need
 +
# to know to route the OpenVPN client
 +
# address pool (10.8.0.0/255.255.255.0)
 +
# back to the OpenVPN server.
 +
;push "route 192.168.10.0 255.255.255.0"
 +
;push "route 192.168.20.0 255.255.255.0"
 +
 
 +
# To assign specific IP addresses to specific
 +
# clients or if a connecting client has a private
 +
# subnet behind it that should also have VPN access,
 +
# use the subdirectory "ccd" for client-specific
 +
# configuration files (see man page for more info).
 +
 
 +
# EXAMPLE: Suppose the client
 +
# having the certificate common name "Thelonious"
 +
# also has a small subnet behind his connecting
 +
# machine, such as 192.168.40.128/255.255.255.248.
 +
# First, uncomment out these lines:
 +
;client-config-dir ccd
 +
;route 192.168.40.128 255.255.255.248
 +
# Then create a file ccd/Thelonious with this line:
 +
#  iroute 192.168.40.128 255.255.255.248
 +
# This will allow Thelonious' private subnet to
 +
# access the VPN.  This example will only work
 +
# if you are routing, not bridging, i.e. you are
 +
# using "dev tun" and "server" directives.
 +
 
 +
# EXAMPLE: Suppose you want to give
 +
# Thelonious a fixed VPN IP address of 10.9.0.1.
 +
# First uncomment out these lines:
 +
;client-config-dir ccd
 +
;route 10.9.0.0 255.255.255.252
 +
# Then add this line to ccd/Thelonious:
 +
#  ifconfig-push 10.9.0.1 10.9.0.2
 +
 
 +
# Suppose that you want to enable different
 +
# firewall access policies for different groups
 +
# of clients.  There are two methods:
 +
# (1) Run multiple OpenVPN daemons, one for each
 +
#    group, and firewall the TUN/TAP interface
 +
#    for each group/daemon appropriately.
 +
# (2) (Advanced) Create a script to dynamically
 +
#    modify the firewall in response to access
 +
#    from different clients.  See man
 +
#    page for more info on learn-address script.
 +
;learn-address ./script
 +
 
 +
# If enabled, this directive will configure
 +
# all clients to redirect their default
 +
# network gateway through the VPN, causing
 +
# all IP traffic such as web browsing and
 +
# and DNS lookups to go through the VPN
 +
# (The OpenVPN server machine may need to NAT
 +
# or bridge the TUN/TAP interface to the internet
 +
# in order for this to work properly).
 +
push "redirect-gateway def1"
 +
 
 +
# Certain Windows-specific network settings
 +
# can be pushed to clients, such as DNS
 +
# or WINS server addresses.  CAVEAT:
 +
# http://openvpn.net/faq.html#dhcpcaveats
 +
# The addresses below refer to the public
 +
# DNS servers provided by opendns.com.
 +
push "dhcp-option DNS 8.8.8.8"
 +
;push "dhcp-option DNS 208.67.220.220"
 +
 
 +
# Uncomment this directive to allow different
 +
# clients to be able to "see" each other.
 +
# By default, clients will only see the server.
 +
# To force clients to only see the server, you
 +
# will also need to appropriately firewall the
 +
# server's TUN/TAP interface.
 +
;client-to-client
 +
 
 +
# Uncomment this directive if multiple clients
 +
# might connect with the same certificate/key
 +
# files or common names.  This is recommended
 +
# only for testing purposes.  For production use,
 +
# each client should have its own certificate/key
 +
# pair.
 +
#
 +
# IF YOU HAVE NOT GENERATED INDIVIDUAL
 +
# CERTIFICATE/KEY PAIRS FOR EACH CLIENT,
 +
# EACH HAVING ITS OWN UNIQUE "COMMON NAME",
 +
# UNCOMMENT THIS LINE OUT.
 +
;duplicate-cn
 +
 
 +
# The keepalive directive causes ping-like
 +
# messages to be sent back and forth over
 +
# the link so that each side knows when
 +
# the other side has gone down.
 +
# Ping every 10 seconds, assume that remote
 +
# peer is down if no ping received during
 +
# a 120 second time period.
 +
keepalive 10 120
 +
 
 +
# For extra security beyond that provided
 +
# by SSL/TLS, create an "HMAC firewall"
 +
# to help block DoS attacks and UDP port flooding.
 +
#
 +
# Generate with:
 +
#  openvpn --genkey --secret ta.key
 +
#
 +
# The server and each client must have
 +
# a copy of this key.
 +
# The second parameter should be '0'
 +
# on the server and '1' on the clients.
 +
tls-auth ta.key 0 # This file is secret
 +
 
 +
# Select a cryptographic cipher.
 +
# This config item must be copied to
 +
# the client config file as well.
 +
;cipher BF-CBC        # Blowfish (default)
 +
;cipher AES-128-CBC  # AES
 +
;cipher DES-EDE3-CBC  # Triple-DES
 +
 
 +
# Enable compression on the VPN link.
 +
# If you enable it here, you must also
 +
# enable it in the client config file.
 +
comp-lzo
 +
 
 +
# The maximum number of concurrently connected
 +
# clients we want to allow.
 +
;max-clients 100
 +
 
 +
# It's a good idea to reduce the OpenVPN
 +
# daemon's privileges after initialization.
 +
#
 +
# You can uncomment this out on
 +
# non-Windows systems.
 +
user nobody
 +
group nogroup
 +
 
 +
# The persist options will try to avoid
 +
# accessing certain resources on restart
 +
# that may no longer be accessible because
 +
# of the privilege downgrade.
 +
persist-key
 +
persist-tun
 +
 
 +
# Output a short status file showing
 +
# current connections, truncated
 +
# and rewritten every minute.
 +
status openvpn-status.log
 +
 
 +
# By default, log messages will go to the syslog (or
 +
# on Windows, if running as a service, they will go to
 +
# the "\Program Files\OpenVPN\log" directory).
 +
# Use log or log-append to override this default.
 +
# "log" will truncate the log file on OpenVPN startup,
 +
# while "log-append" will append to it.  Use one
 +
# or the other (but not both).
 +
;log        openvpn.log
 +
;log-append  openvpn.log
 +
 
 +
# Set the appropriate level of log
 +
# file verbosity.
 +
#
 +
# 0 is silent, except for fatal errors
 +
# 4 is reasonable for general usage
 +
# 5 and 6 can help to debug connection problems
 +
# 9 is extremely verbose
 +
verb 3
 +
 
 +
# Silence repeating messages.  At most 20
 +
# sequential messages of the same message
 +
# category will be output to the log.
 +
;mute 20
 +
</syntaxhighlight>
 +
 
 +
Criado um script para adicionar a interface tap na bridge /etc/openvpn/up.sh:
 +
 
 +
<syntaxhighlight lang=bash>
 +
#!/bin/sh
 +
BR=$1
 +
DEV=$2
 +
MTU=$3
 +
 
 +
/sbin/ip link set $DEV up promisc on mtu $MTU
 +
/usr/sbin/brctl addif $BR $DEV
 +
</syntaxhighlight>
 +
Criar o script para desativar a interface quando desligar o servidor /etc/openvpn/down.sh:
 +
<syntaxhighlight lang=bash>
 +
#!/bin/sh
 +
BR=$1
 +
DEV=$2
 +
/usr/sbin/brctl delif $BR $DEV
 +
/sbin/ip link set $DEV down
 +
</syntaxhighlight>
 +
Configuradas as interfaces de rede do servidor /etc/network/interfaces:
 +
<syntaxhighlight lang=bash>
 +
# This file describes the network interfaces available on your system
 +
# and how to activate them. For more information, see interfaces(5).
 +
auto lo eth0
 +
auto br0
 +
iface lo inet loopback
 +
 
 +
iface br0 inet static
 +
address 10.0.0.1
 +
netmask 255.255.255.0
 +
bridge_ports eth1
 +
 
 +
iface eth1 inet manual
 +
up ip link set $IFACE up promisc on
 +
down ip link set $IFACE down promisc off
 +
 
 +
iface eth0 inet static
 +
address 200.135.37.103
 +
netmask 255.255.255.192
 +
gateway 200.135.37.126
 +
 
 +
# The loopback network interface
 +
 
 +
auto dsl-provider
 +
iface dsl-provider inet ppp
 +
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
 +
provider dsl-provider
 +
 
 +
auto eth0
 +
</syntaxhighlight>
 +
Habilitado o IP Forwarding:
 +
<syntaxhighlight lang=bash>
 +
sysctl net.ipv4.ip forward=1 echo 1 > /proc/sys/net/ipv4/ip forward
 +
</syntaxhighlight>
 +
Habilitar o NAT para a rede interna:
 +
<code>
 +
iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
 +
</syntaxhighlight>

Edição atual tal como às 15h47min de 1 de agosto de 2013

08/07/2013 - Primeiro dia de Projeto


Equipe

  • Andrey
  • Daniel
  • Deivid
  • Leandro
  • Hyowatha

Iniciada configuração do script do configurador do DNS

09/07/2013 - Segundo dia de Projeto -

Realizado as instalações do DNS

Todas as configurações abaixo foram feitas utilizando ip temporário.

Configurações realizadas no servidor:

configurando arquivo named.conf.local

zone "pctelecom.sj.ifsc.edu.br" {
      type master;
      file "/etc/bind/zones/aula.zone";
};
# Zona reversa
      zone "1.168.192.in-addr.arpa" {
      type master;
file "/etc/bind/zones/rev.1.168.192.in-addr.arpa";
};

Configurando arquivo aula.zone

@ IN SOA ns1.pctelecom.sj.ifsc.edu.br. admin.ns1.pctelecom.sj.ifsc.edu.br. (
         2011091401 ; Serial
         28800 ; Refresh
         3600 ; Retry
         604800 ; Expire
         38400 ) ; Default TTL
   NS    ns1.pctelecom.sj.ifsc.edu.br.
   NS    ns2.pctelecom.sj.ifsc.edu.br.
   MX    10 mta.pctelecom.sj.ifsc.edu.br.
   IN    A 192.168.1.222

$ORIGIN pctelecom.sj.ifsc.edu.br.

ns1  IN  A  192.168.1.222
ns2  IN  A  192.168.1.222
mta  IN  A  192.168.1.222
www  IN  A  192.168.1.222
web  IN  CNAME www

Configurando arquivo de zona reversa

$ORIGIN 1.168.192.in-addr.arpa.
@ IN SOA ns1.pctelecom.sj.ifsc.edu.br. admin.ns1.pctelecom.sj.ifsc.edu.br. (
2011091401;
28800;
604800;
604800;
86400 )
      IN    NS    ns1.pctelecom.sj.ifsc.edu.br.
      IN    NS    ns2.pctelecom.sj.ifsc.edu.br.
222   IN    PTR   ns1.pctelecom.sj.ifsc.edu.br.
222   IN    PTR   ns2.pctelecom.sj.ifsc.edu.br.
222   IN    PTR   mta.pctelecom.sj.ifsc.edu.br.
222   IN    PTR   www.pctelecom.sj.ifsc.edu.br.

Na filial:

// secundario (slave) do dominio delegado
zone "subdominio.pctelecom.sj.ifsc.edu.br" IN {
type slave;
file "slave/slave.subdominio.examplo.com.br";
masters {10.0.0.4;};

Realizado as instalações do SMTP

apt-get install postfix mailutils

vi /etc/postfix/main.cf

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no append_dot_mydomain = no readme_directory = no mydestination = $myhostname, localhost.$mydomain, localhost relayhost = mynetworks = 127.0.0.0/8 10.0.2.0/24 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = ipv4 alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases myhostname = mta.exemplo.com.br mydomain = exemplo.com.br myorigin = $mydomain mydestination = $myhostname, localhost, $mydomain home_mailbox = Maildir/ message_size_limit = 10240000 body_checks = regexp:/etc/postfix/block_words

vi /etc/postfix/block words

/(.*)viagra(.*)/ REJECT [COD#01] /(.*)penis(.*)/ REJECT [COD#02]

mailbox_command = smtpd_sasl_local_domain = smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_sasl_authenticated,\ permit_mynetworks,reject_unauth_destination /ˆReceived:/ HOLD

vi /etc/postfix/sasl/smtpd.conf

pwcheck_method: saslauthd mech_list: plain login

touch smtpd.key chmod 600 smtpd.key openssl genrsa 1024 > smtpd.key openssl req -new -key smtpd.key -x509 -days 3650 -out smtpd.crt openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out \ cacert.pem -days 3650 sudo mv smtpd.key /etc/ssl/private/ sudo mv smtpd.crt /etc/ssl/certs/ sudo mv cakey.pem /etc/ssl/private/ sudo mv cacert.pem /etc/ssl/certs/

smtp_tls_security_level = may smtpd_tls_security_level = may smtpd_tls_auth_only = no smtp_tls_note_starttls_offer = yes smtpd_tls_key_file = /etc/ssl/private/smtpd.key smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom

apt-get libsasl2-2 apt-get sasl2-bin apt-get libsasl2-modules

vi /var/spool/postfix/var/run/saslauthd

vi /etc/default/saslauthd START=yes PWDIR="/var/spool/postfix/var/run/saslauthd" PARAMS="-m ${PWDIR}" PIDFILE="${PWDIR}/saslauthd.pid" OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"

dpkg-statoverride –force –update –add root sasl 755 /var/spool/postfix/var/run/saslauthd /etc/init.d/saslauthd start

$ telnet localhost 25 $ ehlo localhost $ quit

apt-get install courier-imap apt-get install courier-imap-ssl

$ telnet localhost imap $ imap login root senha $ ˆ]

10/07/2013 - Terceiro dia dia de Projeto

Iniciado a instalação do samba

11/07/2013 - Quarto dia de Projeto

Tentativa de conclusão do samba. sem sucesso.

12/07/2013 - Quinto dia de Projeto

conclusão da instalação do samba.

15/07/2013 - Sexto dia de Projeto

Iniciado a instalação da VPN e o script para restabelecer os serviço do DNS.

16/07/2013 - Sétimo dia de Projeto

Continuação da instalação da VPN e iniciação do script para o beckup.

17/07/2013 - Oitavo dia de Projeto

Tentativa de conclusão da VPN.

18/07/2013 - Nono dia de Projeto

Professor não veio, por este motivo não teve atividades.

19/07/2013 - Décimo dia de projeto

Conclusão da instalação da VPN.

22/07/2013 - Décimo primeiro dia de Projeto

Concluido o script do beckup com IP provisório e instalação do NTOP.

23/07/2013 - Décimo segundo dia de Projeto

Rede utilizando IP válido.

24/07/2013 - Décimo terceiro dia de Projeto

Iniciado a configuração dos modens.

25/07/2013 - Décimo quarto dia de Projeto

Entregado a planta do projeto de cabeamento estruturado. Passado informações adicionais para a realização do mesmo. No mesmo dia continuamos com a configuração dos modens onde apresentou um problema de comunicação entre a a filial e o servidor principal.

26/07/2013 - Décimo quinto dia de Projeto

correção do problema com o cabeamento e correção na configuração do firewall.

29/07/2013 - Décimo sexto dia de Projeto

30/07/2013 - Correções e ajustes em scripts

31/07/2013 - Data da Entrega

Configurações do DNS

Configurações realizadas no servidor:

configuração do arquivo named.conf.local

// Do any local configuration here
//
zone "pctelecom.sj.ifsc.edu.br" {
type master;
file "/etc/bind/zones/aula.zone";
};
# Zona reversa
zone "37.135.200.in-addr.arpa" {
type master;
file "/etc/bind/zones/rev.37.135.200.in-addr.arpa";
};
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

Configuraçao do arquivo aula.zone

@  IN SOA ns1.pctelecom.sj.ifsc.edu.br. admin.ns1.pctelecom.sj.ifsc.edu.br. (
		2013072801 ; Serial
		28800 ; Refresh
		3600 ; Retry
		604800 ; Expire
		38400 ) ; Default TTL
	NS 	ns1.pctelecom.sj.ifsc.edu.br.
	NS 	ns2.pctelecom.sj.ifsc.edu.br.
	MX 	10 mta.pctelecom.sj.ifsc.edu.br.
	IN 	A 200.135.37.103

$ORIGIN pctelecom.sj.ifsc.edu.br.
ns1 	IN 	A 	200.135.37.103
ns2 	IN 	A 	200.135.37.103
mta 	IN 	A	200.135.37.103
www	IN 	A 	200.135.37.103
samba	IN	A	200.135.37.103
web 	IN 	CNAME 	www

$ORIGIN subdominio.pctelecom.sj.ifsc.edu.br.
; definicao dos dois servidores de nome
@ IN NS ns3.subdominio.pctelecom.sj.ifsc.edu.br.
; o proximo servidor aponta para o servidor acima (slave)
IN NS ns1.pctelecom.sj.ifsc.edu.br.
; endereco do servidor do subdominio
ns3 IN A 10.0.0.4

Configuração do arquivo rev.37.135.200.in-addr.arpa

$ORIGIN 37.135.200.in-addr.arpa.
@ IN SOA ns1.pctelecom.sj.ifsc.edu.br. admin.ns1.pctelecom.sj.ifsc.edu.br. (
2013072301;
28800;
604800;
604800;
86400 )
	IN 	NS 	ns1.pctelecom.sj.ifsc.edu.br.
	IN 	NS 	ns2.pctelecom.sj.ifsc.edu.br.
103 	IN 	PTR 	ns1.pctelecom.sj.ifsc.edu.br.
103 	IN 	PTR 	ns2.pctelecom.sj.ifsc.edu.br.
103	IN 	PTR 	mta.pctelecom.sj.ifsc.edu.br.
103	IN 	PTR 	www.pctelecom.sj.ifsc.edu.br.
103	IN	PTR	samba.pctelecom.sj.ifsc.edu.br.

Configuração do Samba

configuração do /etc/samba/smb.conf

#
# Sample configuration file for the Samba suite for Debian GNU/Linux.
#
#
# This is the main Samba configuration file. You should read the
# smb.conf(5) manual page in order to understand the options listed
# here. Samba has a huge number of configurable options most of which 
# are not shown in this example
#
# Some options that are often worth tuning have been included as
# commented-out examples in this file.
#  - When such options are commented with ";", the proposed setting
#    differs from the default Samba behaviour
#  - When commented with "#", the proposed setting is the default
#    behaviour of Samba but the option is considered important
#    enough to be mentioned here
#
# NOTE: Whenever you modify this file you should run the command
# "testparm" to check that you have not made any basic syntactic 
# errors. 
# A well-established practice is to name the original file
# "smb.conf.master" and create the "real" config file with
# testparm -s smb.conf.master >smb.conf
# This minimizes the size of the really used smb.conf file
# which, according to the Samba Team, impacts performance
# However, use this with caution if your smb.conf file contains nested
# "include" statements. See Debian bug #483187 for a case
# where using a master file is not a good idea.
#

#======================= Global Settings =======================

[global]

## Browsing/Identification ###

# Change this to the workgroup/NT-domain name your Samba server will part of
   workgroup = servidor
# server string is the equivalent of the NT Description field
   server string = SMB Server %v em %h

# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable its WINS Server
#   wins support = no

# WINS Server - Tells the NMBD components of Samba to be a WINS Client
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
;   wins server = w.x.y.z

# This will prevent nmbd to search for NetBIOS names through DNS.
   dns proxy = no

# What naming service and in what order should we use to resolve host names
# to IP addresses
;   name resolve order = lmhosts host wins bcast

#### Networking ####

# The specific set of interfaces / networks to bind to
# This can be either the interface name or an IP address/netmask;
# interface names are normally preferred
;   interfaces = 127.0.0.0/8 eth0

# Only bind to the named interfaces and/or networks; you must use the
# 'interfaces' option above to use this.
# It is recommended that you enable this feature if your Samba machine is
# not protected by a firewall or is a firewall itself.  However, this
# option cannot handle dynamic or non-broadcast interfaces correctly.
;   bind interfaces only = yes



#### Debugging/Accounting ####

# This tells Samba to use a separate log file for each machine
# that connects
   log file = /var/log/samba/%m.log

# Cap the size of the individual log files (in KiB).
   max log size = 50

# If you want Samba to only log through syslog then set the following
# parameter to 'yes'.
#   syslog only = no

# We want Samba to log a minimum amount of information to syslog. Everything
# should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log
# through syslog you should set the following parameter to something higher.
   syslog = 0

# Do something sensible when Samba crashes: mail the admin a backtrace
   panic action = /usr/share/samba/panic-action %d


####### Authentication #######

# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
   security = user

# You may wish to use password encryption.  See the section on
# 'encrypt passwords' in the smb.conf(5) manpage before enabling.
   encrypt passwords = yes

# If you are using encrypted passwords, Samba will need to know what
# password database type you are using.  
   passdb backend = tdbsam

   obey pam restrictions = yes

# This boolean parameter controls whether Samba attempts to sync the Unix
# password with the SMB password when the encrypted SMB password in the
# passdb is changed.
   unix password sync = yes

# For Unix password sync to work on a Debian GNU/Linux system, the following
# parameters must be set (thanks to Ian Kahan <<kahan@informatik.tu-muenchen.de> for
# sending the correct chat script for the passwd program in Debian Sarge).
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

# This boolean controls whether PAM will be used for password changes
# when requested by an SMB client instead of the program listed in
# 'passwd program'. The default is 'no'.
   pam password change = yes

# This option controls how unsuccessful authentication attempts are mapped 
# to anonymous connections
   map to guest = bad user

########## Domains ###########

# Is this machine able to authenticate users. Both PDC and BDC
# must have this setting enabled. If you are the BDC you must
# change the 'domain master' setting to no
#
;   domain logons = yes
#
# The following setting only takes effect if 'domain logons' is set
# It specifies the location of the user's profile directory
# from the client point of view)
# The following required a [profiles] share to be setup on the
# samba server (see below)
;   logon path = \\%N\profiles\%U
# Another common choice is storing the profile in the user's home directory
# (this is Samba's default)
#   logon path = \\%N\%U\profile

# The following setting only takes effect if 'domain logons' is set
# It specifies the location of a user's home directory (from the client
# point of view)
;   logon drive = H:
#   logon home = \\%N\%U

# The following setting only takes effect if 'domain logons' is set
# It specifies the script to run during logon. The script must be stored
# in the [netlogon] share
# NOTE: Must be store in 'DOS' file format convention
;   logon script = logon.cmd

# This allows Unix users to be created on the domain controller via the SAMR
# RPC pipe.  The example command creates a user account with a disabled Unix
# password; please adapt to your needs
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u

# This allows machine accounts to be created on the domain controller via the 
# SAMR RPC pipe.  
# The following assumes a "machines" group exists on the system
; add machine script  = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u

# This allows Unix groups to be created on the domain controller via the SAMR
# RPC pipe.  
; add group script = /usr/sbin/addgroup --force-badname %g

########## Printing ##########

# If you want to automatically load your printer list rather
# than setting them up individually then you'll need this
  # load printers = no

# lpr(ng) printing. You may wish to override the location of the
# printcap file
;   printing = bsd
 # printcap name = /etc/printcap

# CUPS printing.  See also the cupsaddsmb(8) manpage in the
# cupsys-client package.
;   printing = cup
;   printcap name = cups

############ Misc ############

# Using the following line enables you to customise your configuration
# on a per machine basis. The %m gets replaced with the netbios name
# of the machine that is connecting
;   include = /home/samba/etc/smb.conf.%m

# Most people will find that this option gives better performance.
# See smb.conf(5) and /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/speed.html
# for details
# You may want to add the following on a Linux system:
#         SO_RCVBUF=8192 SO_SNDBUF=8192
#   socket options = TCP_NODELAY

# The following parameter is useful only if you have the linpopup package
# installed. The samba maintainer and the linpopup maintainer are
# working to ease installation and configuration of linpopup and samba.
;   message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &

# Domain Master specifies Samba to be the Domain Master Browser. If this
# machine will be configured as a BDC (a secondary logon server), you
# must set this to 'no'; otherwise, the default behavior is recommended.
#   domain master = auto

# Some defaults for winbind (make sure you're not using the ranges
# for something else.)
;   idmap uid = 10000-20000
;   idmap gid = 10000-20000
;   template shell = /bin/bash

# The following was the default behaviour in sarge,
# but samba upstream reverted the default because it might induce
# performance issues in large organizations.
# See Debian bug #368251 for some of the consequences of *not*
# having this setting and smb.conf(5) for details.
;   winbind enum groups = yes
;   winbind enum users = yes

# Setup usershare options to enable non-root users to share folders
# with the net usershare command.

# Maximum number of usershare. 0 (default) means that usershare is disabled.
;   usershare max shares = 100

# Allow users who've been granted usershare privileges to create
# public shares, not just authenticated ones
   usershare allow guests = yes

#======================= Share Definitions =======================

# Un-comment the following (and tweak the other settings below to suit)
# to enable the default home directory shares.  This will share each
# user's home directory as \\server\username
;[homes]
;   comment = Home Directories
;   browseable = no

[homes]
comment = Arquivos do usuario %u em %h
browseable = no
writable = yes
public = no


# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
;   read only = yes

# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775.
;   create mask = 0700

# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775.
;   directory mask = 0700

# By default, \\server\username shares can be connected to by anyone
# with access to the samba server.  Un-comment the following parameter
# to make sure that only "username" can connect to \\server\username
# This might need tweaking when using external authentication schemes
;   valid users = %S

# Un-comment the following and create the netlogon directory for Domain Logons
# (you need to configure Samba to act as a domain controller too.)
;[netlogon]
;   comment = Network Logon Service
;   path = /home/samba/netlogon
;   guest ok = yes
;   read only = yes
;   share modes = no

# Un-comment the following and create the profiles directory to store
# users profiles (see the "logon path" option above)
# (you need to configure Samba to act as a domain controller too.)
# The path below should be writable by all users so that their
# profile directory may be created the first time they log on
;[profiles]
;   comment = Users profiles
;   path = /home/samba/profiles
;   guest ok = no
;   browseable = no
;   create mask = 0600
;   directory mask = 0700

#[printers]
#   comment = All Printers
#   browseable = no
#   path = /var/spool/samba
#   printable = yes
#   guest ok = no
#   read only = yes
 #  create mask = 0700

# Windows clients look for this share name as a source of downloadable
# printer drivers
#[print$]
#   comment = Printer Drivers
#   path = /var/lib/samba/printers
#   browseable = yes
#   read only = yes
#   guest ok = no
# Uncomment to allow remote administration of Windows print drivers.
# You may need to replace 'lpadmin' with the name of the group your
# admin users are members of.
# Please note that you also need to set appropriate Unix permissions
# to the drivers directory for these users to have write rights in it
;   write list = root, @lpadmin

# A sample share for sharing your CD-ROM with others.
;[cdrom]
;   comment = Samba server's CD-ROM
;   read only = yes
;   locking = no
;   path = /cdrom
;   guest ok = yes

# The next two parameters show how to auto-mount a CD-ROM when the
#	cdrom share is accesed. For this to work /etc/fstab must contain
#	an entry like this:
#
#       /dev/scd0   /cdrom  iso9660 defaults,noauto,ro,user   0 0
#
# The CD-ROM gets unmounted automatically after the connection to the
#
# If you don't want to use auto-mounting/unmounting make sure the CD
#	is mounted on /cdrom
#
;   preexec = /bin/mount /cdrom
;   postexec = /bin/umount /cdrom
printcap name = cups
load printers = no
printcap cache time = 60
printing = cups

hosts allow = 10.0.0. 127.
map to guest = bad user
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd

Geradas as senhas

Serviço de SMTP - configurções do postfix

configuração do /etc/postfix/main.cf

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
#smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
#smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = mta.pctelecom.sj.ifsc.edu.br 
mydomain = pctelecom.sj.ifsc.edu.br
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $mydomain 
mydestination = $myhostname, localhost, $mydomain 
relayhost = 
mynetworks = 127.0.0.0/8 200.135.37.0/26 
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
home_mailbox = Maildir/
message_size_limit = 10240000

mailbox_command =
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination

smtp_tls_security_level = may
smtpd_tls_security_level = may
smtpd_tls_auth_only = no
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/ssl/private/smtpd.key
smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt
smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

Serviço de VPN

Configuração do /etc/openvpn/2.0/vars

export KEY_COUNTRY="BR"
export KEY_PROVINCE="SC"
export KEY_CITY="SaoJose"
export KEY_ORG="IFSC"
export KEY_EMAIL="admin@pctelecom.sj.ifsc.edu.br"

Criadas as chaves para /etc/openvpn/2.0/

source vars
./clean-all
./build-dh
./pkitool --initca
./pkitool --server servidor
cd keys
openvpn --genkey --secret ta.key

Na filias os seguintes sertificados:

cd /etc/openvpn/2.0/
source vars
./pkitool cliente1

Copiadas as seguintes chaves para o cliente /etc/openvpn/

ta.key
ca.crt
cliente1.crt
cliente1.key

Copiadas as seguintes chaves para o diretório /etc/openvpn do servidor:

ta.key
ca.crt
ca.key
dh1024.pem
servidor.crt
servidor.key

Alterado o arquivo /etc/openvpn/server.conf

# Which local IP address should OpenVPN
# listen on? (optional)
local 200.135.37.103

# Which TCP/UDP port should OpenVPN listen on?
# If you want to run multiple OpenVPN instances
# on the same machine, use a different port
# number for each one.  You will need to
# open up this port on your firewall.
port 1194

# TCP or UDP server?
;proto tcp
proto udp

# "dev tun" will create a routed IP tunnel,
# "dev tap" will create an ethernet tunnel.
# Use "dev tap0" if you are ethernet bridging
# and have precreated a tap0 virtual interface
# and bridged it with your ethernet interface.
# If you want to control access policies
# over the VPN, you must create firewall
# rules for the the TUN/TAP interface.
# On non-Windows systems, you can give
# an explicit unit number, such as tun0.
# On Windows, use "dev-node" for this.
# On most systems, the VPN will not function
# unless you partially or fully disable
# the firewall for the TUN/TAP interface.
dev tap0
;dev tun

up "/etc/openvpn/up.sh br0 tap0 1500"
down "/etc/openvpn/down.sh br0 tap0"
# Windows needs the TAP-Win32 adapter name
# from the Network Connections panel if you
# have more than one.  On XP SP2 or higher,
# you may need to selectively disable the
# Windows firewall for the TAP adapter.
# Non-Windows systems usually don't need this.
;dev-node MyTap

# SSL/TLS root certificate (ca), certificate
# (cert), and private key (key).  Each client
# and the server must have their own cert and
# key file.  The server and all clients will
# use the same ca file.
#
# See the "easy-rsa" directory for a series
# of scripts for generating RSA certificates
# and private keys.  Remember to use
# a unique Common Name for the server
# and each of the client certificates.
#
# Any X509 key management system can be used.
# OpenVPN can also use a PKCS #12 formatted key file
# (see "pkcs12" directive in man page).
ca ca.crt
cert servidor.crt
key servidor.key  # This file should be kept secret

# Diffie hellman parameters.
# Generate your own with:
#   openssl dhparam -out dh1024.pem 1024
# Substitute 2048 for 1024 if you are using
# 2048 bit keys. 
dh dh1024.pem

# Configure server mode and supply a VPN subnet
# for OpenVPN to draw client addresses from.
# The server will take 10.8.0.1 for itself,
# the rest will be made available to clients.
# Each client will be able to reach the server
# on 10.8.0.1. Comment this line out if you are
# ethernet bridging. See the man page for more info.
;server 10.8.0.0 255.255.255.0

# Maintain a record of client <-> virtual IP address
# associations in this file.  If OpenVPN goes down or
# is restarted, reconnecting clients can be assigned
# the same virtual IP address from the pool that was
# previously assigned.
ifconfig-pool-persist ipp.txt

# Configure server mode for ethernet bridging.
# You must first use your OS's bridging capability
# to bridge the TAP interface with the ethernet
# NIC interface.  Then you must manually set the
# IP/netmask on the bridge interface, here we
# assume 10.8.0.4/255.255.255.0.  Finally we
# must set aside an IP range in this subnet
# (start=10.8.0.50 end=10.8.0.100) to allocate
# to connecting clients.  Leave this line commented
# out unless you are ethernet bridging.
server-bridge 10.0.0.1 255.255.255.0 10.0.0.10 10.0.0.30

# Configure server mode for ethernet bridging
# using a DHCP-proxy, where clients talk
# to the OpenVPN server-side DHCP server
# to receive their IP address allocation
# and DNS server addresses.  You must first use
# your OS's bridging capability to bridge the TAP
# interface with the ethernet NIC interface.
# Note: this mode only works on clients (such as
# Windows), where the client-side TAP adapter is
# bound to a DHCP client.
;server-bridge

# Push routes to the client to allow it
# to reach other private subnets behind
# the server.  Remember that these
# private subnets will also need
# to know to route the OpenVPN client
# address pool (10.8.0.0/255.255.255.0)
# back to the OpenVPN server.
;push "route 192.168.10.0 255.255.255.0"
;push "route 192.168.20.0 255.255.255.0"

# To assign specific IP addresses to specific
# clients or if a connecting client has a private
# subnet behind it that should also have VPN access,
# use the subdirectory "ccd" for client-specific
# configuration files (see man page for more info).

# EXAMPLE: Suppose the client
# having the certificate common name "Thelonious"
# also has a small subnet behind his connecting
# machine, such as 192.168.40.128/255.255.255.248.
# First, uncomment out these lines:
;client-config-dir ccd
;route 192.168.40.128 255.255.255.248
# Then create a file ccd/Thelonious with this line:
#   iroute 192.168.40.128 255.255.255.248
# This will allow Thelonious' private subnet to
# access the VPN.  This example will only work
# if you are routing, not bridging, i.e. you are
# using "dev tun" and "server" directives.

# EXAMPLE: Suppose you want to give
# Thelonious a fixed VPN IP address of 10.9.0.1.
# First uncomment out these lines:
;client-config-dir ccd
;route 10.9.0.0 255.255.255.252
# Then add this line to ccd/Thelonious:
#   ifconfig-push 10.9.0.1 10.9.0.2

# Suppose that you want to enable different
# firewall access policies for different groups
# of clients.  There are two methods:
# (1) Run multiple OpenVPN daemons, one for each
#     group, and firewall the TUN/TAP interface
#     for each group/daemon appropriately.
# (2) (Advanced) Create a script to dynamically
#     modify the firewall in response to access
#     from different clients.  See man
#     page for more info on learn-address script.
;learn-address ./script

# If enabled, this directive will configure
# all clients to redirect their default
# network gateway through the VPN, causing
# all IP traffic such as web browsing and
# and DNS lookups to go through the VPN
# (The OpenVPN server machine may need to NAT
# or bridge the TUN/TAP interface to the internet
# in order for this to work properly).
push "redirect-gateway def1"

# Certain Windows-specific network settings
# can be pushed to clients, such as DNS
# or WINS server addresses.  CAVEAT:
# http://openvpn.net/faq.html#dhcpcaveats
# The addresses below refer to the public
# DNS servers provided by opendns.com.
push "dhcp-option DNS 8.8.8.8"
;push "dhcp-option DNS 208.67.220.220"

# Uncomment this directive to allow different
# clients to be able to "see" each other.
# By default, clients will only see the server.
# To force clients to only see the server, you
# will also need to appropriately firewall the
# server's TUN/TAP interface.
;client-to-client

# Uncomment this directive if multiple clients
# might connect with the same certificate/key
# files or common names.  This is recommended
# only for testing purposes.  For production use,
# each client should have its own certificate/key
# pair.
#
# IF YOU HAVE NOT GENERATED INDIVIDUAL
# CERTIFICATE/KEY PAIRS FOR EACH CLIENT,
# EACH HAVING ITS OWN UNIQUE "COMMON NAME",
# UNCOMMENT THIS LINE OUT.
;duplicate-cn

# The keepalive directive causes ping-like
# messages to be sent back and forth over
# the link so that each side knows when
# the other side has gone down.
# Ping every 10 seconds, assume that remote
# peer is down if no ping received during
# a 120 second time period.
keepalive 10 120

# For extra security beyond that provided
# by SSL/TLS, create an "HMAC firewall"
# to help block DoS attacks and UDP port flooding.
#
# Generate with:
#   openvpn --genkey --secret ta.key
#
# The server and each client must have
# a copy of this key.
# The second parameter should be '0'
# on the server and '1' on the clients.
tls-auth ta.key 0 # This file is secret

# Select a cryptographic cipher.
# This config item must be copied to
# the client config file as well.
;cipher BF-CBC        # Blowfish (default)
;cipher AES-128-CBC   # AES
;cipher DES-EDE3-CBC  # Triple-DES

# Enable compression on the VPN link.
# If you enable it here, you must also
# enable it in the client config file.
comp-lzo

# The maximum number of concurrently connected
# clients we want to allow.
;max-clients 100

# It's a good idea to reduce the OpenVPN
# daemon's privileges after initialization.
#
# You can uncomment this out on
# non-Windows systems.
user nobody
group nogroup

# The persist options will try to avoid
# accessing certain resources on restart
# that may no longer be accessible because
# of the privilege downgrade.
persist-key
persist-tun

# Output a short status file showing
# current connections, truncated
# and rewritten every minute.
status openvpn-status.log

# By default, log messages will go to the syslog (or
# on Windows, if running as a service, they will go to
# the "\Program Files\OpenVPN\log" directory).
# Use log or log-append to override this default.
# "log" will truncate the log file on OpenVPN startup,
# while "log-append" will append to it.  Use one
# or the other (but not both).
;log         openvpn.log
;log-append  openvpn.log

# Set the appropriate level of log
# file verbosity.
#
# 0 is silent, except for fatal errors
# 4 is reasonable for general usage
# 5 and 6 can help to debug connection problems
# 9 is extremely verbose
verb 3

# Silence repeating messages.  At most 20
# sequential messages of the same message
# category will be output to the log.
;mute 20

Criado um script para adicionar a interface tap na bridge /etc/openvpn/up.sh:

#!/bin/sh
BR=$1
DEV=$2
MTU=$3

/sbin/ip link set $DEV up promisc on mtu $MTU
/usr/sbin/brctl addif $BR $DEV

Criar o script para desativar a interface quando desligar o servidor /etc/openvpn/down.sh:

#!/bin/sh
BR=$1
DEV=$2
/usr/sbin/brctl delif $BR $DEV
/sbin/ip link set $DEV down

Configuradas as interfaces de rede do servidor /etc/network/interfaces:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
auto lo eth0
auto br0
iface lo inet loopback

iface br0 inet static
address 10.0.0.1
netmask 255.255.255.0
bridge_ports eth1

iface eth1 inet manual
up ip link set $IFACE up promisc on
down ip link set $IFACE down promisc off

iface eth0 inet static
address 200.135.37.103
netmask 255.255.255.192
gateway 200.135.37.126

# The loopback network interface

auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider

auto eth0

Habilitado o IP Forwarding:

sysctl net.ipv4.ip forward=1 echo 1 > /proc/sys/net/ipv4/ip forward

Habilitar o NAT para a rede interna: iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE </syntaxhighlight>