Mudanças entre as edições de "Projeto Integrador - 2013.1 - PC Telecom"
Linha 1 052: | Linha 1 052: | ||
Criado um script para adicionar a interface tap na bridge /etc/openvpn/up.sh: | Criado um script para adicionar a interface tap na bridge /etc/openvpn/up.sh: | ||
− | <syntaxhighlight lang= | + | <syntaxhighlight lang=bash> |
#!/bin/sh | #!/bin/sh | ||
BR=$1 | BR=$1 |
Edição das 15h39min 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