quinta-feira, 11 de dezembro de 2014

Sip com Qos

Sip com Qos

Topologia da Rede:











SoftPhone A:
eth1 = 192.168.1.33/24
SoftPhone B:
eth1 = 192.168.1.34/24

Central Sip C:

eth1 = 192.168.1.133/24
eth2 = 192.168.13.1/24

Central Sip D:
eth1 = 192.168.1.134/24
eth2 = 192.168.33.2/24

Roteador E:

eth1 = 192.168.13.2/24
eth2 = 192.168.23.1/24
Roteador F:
eth1 = 192.168.33.1/24
eth2 = 192.168.23.2/24

 Registro com SoftPhone Jitsi:

SoftPhone A:
a@192.168.1.133
SoftPhone B:
b@192.168.1.134

 Configuração de interfaces:

Central Sip C:

# "Matando dhclient"
killall -9 dhclient

# Configurando DNS
echo "nameserver 8.8.8.8" > /etc/resolv.conf

# Derrubando todas interfaces
ifconfig eth1 down
ifconfig eth2 down

# Ativando todas interfaces

ip link set eth1 up
ip link set eth2 up

# Configurando ip/rede das interfaces

ip -4 address add 192.168.13.1/24 broadcast 192.168.13.255 dev eth1 scope site
ip -4 address add 192.168.1.133/24 broadcast 192.168.1.255 dev eth2 scope site

# Configurando rotas

ip -4 route add 192.168.23.0/24 via 192.168.13.2 scope site
ip -4 route add 192.168.33.0/24 via 192.168.13.2 scope site

# Rota padrao para internet

ip -4 route add 0.0.0.0/0 via 192.168.1.1 scope global

# Coamndo usado para gravar pacotes e abrir depois com o wireshark:
#   tcpdump -n -i any -w /tmp/servidor.pcap

Central Sip D:
# "Matando dhclient"
killall -9 dhclient

# Configurando DNS
echo "nameserver 8.8.8.8" > /etc/resolv.conf

# Derrubando todas interfaces

ifconfig eth1 down
ifconfig eth2 down

# Ativando todas interfaces

ip link set eth1 up
ip link set eth2 up

# Configurando ip/rede das interfaces

ip -4 address add 192.168.33.2/24 broadcast 192.168.33.255 dev eth1 scope site
ip -4 address add 192.168.1.134/24 broadcast 192.168.1.255 dev eth2 scope site

# Configurando rotas

ip -4 route add 192.168.23.0/24 via 192.168.33.1 scope site
ip -4 route add 192.168.13.0/24 via 192.168.33.1 scope site

# Rota padrao para internet

ip -4 route add 0.0.0.0/0 via 192.168.1.1 scope global

# Coamndo usado para gravar pacotes e abrir depois com o wireshark:
#   tcpdump -n -i any -w /tmp/servidor.pcap

Roteador E:

# "Matando dhclient"
killall -9 dhclient

# Configurando DNS
echo "nameserver 8.8.8.8" > /etc/resolv.conf

# Derrubando todas interfaces

ifconfig eth1 down
ifconfig eth2 down

# Ativando todas interfaces

ip link set eth1 up
ip link set eth2 up

# Configurando ip/rede das interfaces

ip -4 address add 192.168.13.2/24 broadcast 192.168.13.255 dev eth1 scope site
ip -4 address add 192.168.23.1/24 broadcast 192.168.23.255 dev eth2 scope site

# Configurando rotas

ip -4 route add 192.168.33.0/24 via 192.168.23.2 scope site

# Habilitando roteamento

sysctl -w net.ipv4.conf.all.forwarding=1

# Coamndo usado para gravar pacotes e abrir depois com o wireshark:
#   tcpdump -n -i any -w /tmp/servidor.pcap
Roteador F:
# "Matando dhclient"
killall -9 dhclient

# Configurando DNS
echo "nameserver 8.8.8.8" > /etc/resolv.conf

# Derrubando todas interfaces

ifconfig eth1 down
ifconfig eth2 down


# Ativando todas interfaces

ip link set eth1 up
#ip link set eth2 up

# Configurando ip/rede das interfaces

ip -4 address add 192.168.33.1/24 broadcast 192.168.33.255 dev eth1 scope site
ip -4 address add 192.168.23.2/24 broadcast 192.168.23.255 dev eth2 scope site

# Configurando rotas

ip -4 route add 192.168.13.0/24 via 192.168.23.1 scope site

# Habilitando roteamento

sysctl -w net.ipv4.conf.all.forwarding=1

# Coamndo usado para gravar pacotes e abrir depois com o wireshark:
#   tcpdump -n -i any -w /tmp/servidor.pcap

 Configurando Centrais Sip:


Central SIP C:

/etc/asterisk/sip.conf:
[general]

[a]
type=friend
context=rmu20142
;
; SIP
host=dynamic
qualify=yes
insecure=port,invite
;
; SDP
disallow=all
allow=alaw
allow=ulaw
allow=gsm

[cd-ipv4]
type=peer
context=rmu20142
;
; SIP
host=192.168.33.2
qualify=yes
insecure=port,invite
;
; SDP
directmedia=no
disallow=all
allow=alaw

[dc-ipv4]
type=user
context=rmu20142
;
; SIP
host=192.168.33.2
qualify=yes
insecure=port,invite
;
; SDP
directmedia=no
disallow=all
allow=alaw
/etc/asterisk/extensions.conf:
[rmu20142]
;
; Local: "100" ou "a"
exten => 100,1,Dial(SIP/a)
exten => 100,2,Hangup()
exten => a,1,Dial(SIP/\${EXTEN})
exten => a,2,Hangup()
;
; Remoto via tronco SIP: "0" antecipando demais caracteres
exten => _0.,1,Dial(SIP/cd-ipv4/\${EXTEN:1})
exten => _0.,2,Hangup()

Central SIP D:

/etc/asterisk/sip.conf:
[general]

[b]
type=friend
context=rmu20142
;
; SIP
host=dynamic
qualify=yes
insecure=port,invite
;
; SDP
disallow=all
allow=alaw
allow=ulaw
allow=gsm

[cd-ipv4]
type=user
context=rmu20142
;
; SIP
host=192.168.13.1
qualify=yes
insecure=port,invite
;
; SDP
directmedia=no
disallow=all
allow=alaw

[dc-ipv4]
type=peer
context=rmu20142
;
; SIP
host=192.168.13.1
qualify=yes
insecure=port,invite
;
; SDP
directmedia=no
disallow=all
allow=alaw

/etc/asterisk/extensions.conf:
[rmu20142]
;
; Local: "100" ou "b"
exten => 100,1,Dial(SIP/b)
exten => 100,2,Hangup()
exten => b,1,Dial(SIP/\${EXTEN})
exten => b,2,Hangup()
;
; Remoto via tronco SIP: "0" antecipando demais caracteres
exten => _0.,1,Dial(SIP/dc-ipv4/\${EXTEN:1})
exten => _0.,2,Hangup()
 
 Aplicando QoS:

Central Sip C:
#!/bin/bash
#
# 20140511 Ederson Torrresini: funções para os outros scripts.

limpeza()
{
    iptables -t mangle -F
    iptables -t mangle -P PREROUTING    ACCEPT
    iptables -t mangle -P INPUT            ACCEPT
    iptables -t mangle -P FORWARD        ACCEPT
    iptables -t mangle -P OUTPUT        ACCEPT
    iptables -t mangle -P POSTROUTING    ACCEPT
    iptables -t filter -F
    iptables -t filter -P INPUT            ACCEPT
    iptables -t filter -P FORWARD        ACCEPT
    iptables -t filter -P OUTPUT        ACCEPT
}

mostrar_regras()
{
    echo "Tabela mangle:"
    iptables -t mangle -L -n -v
    echo ""
    echo "Tabela filter:"
    iptables -t filter -L -n -v
}

case ${1} in
    "limpeza")
        limpeza
        mostrar_regras
        ;;
    "mostrar_regras")
        mostrar_regras
        ;;
esac
#!/bin/bash
#
# 20140511 Ederson Torrresini: classificação e marcação dos pacotes na interface interna (eth0).
#
# Nota: na tabela mangle a última linha que corresponde ao padrão (last match) é utilizada, ao contrário
#       das tabelas filter e nat. Por isso, as regras devem ser escritas ao contrário quando há conflito
#       ou correspondência em mais de uma regra - detalhe para a da classe 2, que abrange qualquer pacote.

# Classe 2: a qualquer protocolo se recomenda DF PHB - http://tools.ietf.org/html/rfc4594#page-47
iptables -t mangle -A OUTPUT -j DSCP --set-dscp 0

# Classe 1: ao transporte de áudio (RTP) se recomenda EF PHB - http://tools.ietf.org/html/rfc4594#page-31
iptables -t mangle -A OUTPUT -p udp -m multiport --dport 10000:20000 -j DSCP --set-dscp 46

# Classe 0: à sinalização de telefonia IP (SIP) se recomenda CS5 do DSCP - http://tools.ietf.org/html/rfc4594#page-33
iptables -t mangle -A OUTPUT -p udp --dport 5060 -j DSCP --set-dscp 40
iptables -t mangle -A OUTPUT -p tcp --dport 5060 -j DSCP --set-dscp 40
iptables -t mangle -A OUTPUT -p tcp --dport 5061 -j DSCP --set-dscp 40



mostrar_regras
Central Sip D:
#!/bin/bash
#
# 20140511 Ederson Torrresini: funções para os outros scripts.

limpeza()
{
    iptables -t mangle -F
    iptables -t mangle -P PREROUTING    ACCEPT
    iptables -t mangle -P INPUT            ACCEPT
    iptables -t mangle -P FORWARD        ACCEPT
    iptables -t mangle -P OUTPUT        ACCEPT
    iptables -t mangle -P POSTROUTING    ACCEPT
    iptables -t filter -F
    iptables -t filter -P INPUT            ACCEPT
    iptables -t filter -P FORWARD        ACCEPT
    iptables -t filter -P OUTPUT        ACCEPT
}

mostrar_regras()
{
    echo "Tabela mangle:"
    iptables -t mangle -L -n -v
    echo ""
    echo "Tabela filter:"
    iptables -t filter -L -n -v
}

case ${1} in
    "limpeza")
        limpeza
        mostrar_regras
        ;;
    "mostrar_regras")
        mostrar_regras
        ;;
esac
#!/bin/bash
#
# 20140511 Ederson Torrresini: classificação e marcação dos pacotes na interface interna (eth0).
#
# Nota: na tabela mangle a última linha que corresponde ao padrão (last match) é utilizada, ao contrário
#       das tabelas filter e nat. Por isso, as regras devem ser escritas ao contrário quando há conflito
#       ou correspondência em mais de uma regra - detalhe para a da classe 2, que abrange qualquer pacote.

# Classe 2: a qualquer protocolo se recomenda DF PHB - http://tools.ietf.org/html/rfc4594#page-47
iptables -t mangle -A OUTPUT -j DSCP --set-dscp 0

# Classe 1: ao transporte de áudio (RTP) se recomenda EF PHB - http://tools.ietf.org/html/rfc4594#page-31
iptables -t mangle -A OUTPUT -p udp -m multiport --dport 10000:20000 -j DSCP --set-dscp 46

# Classe 0: à sinalização de telefonia IP (SIP) se recomenda CS5 do DSCP - http://tools.ietf.org/html/rfc4594#page-33
iptables -t mangle -A OUTPUT -p udp --dport 5060 -j DSCP --set-dscp 40
iptables -t mangle -A OUTPUT -p tcp --dport 5060 -j DSCP --set-dscp 40
iptables -t mangle -A OUTPUT -p tcp --dport 5061 -j DSCP --set-dscp 40



mostrar_regras
Roteador E:
#!/bin/bash
#
# 20140511 Ederson Torrresini: funções para os outros scripts.

limpeza()
{
    iptables -t mangle -F
    iptables -t mangle -P PREROUTING    ACCEPT
    iptables -t mangle -P INPUT            ACCEPT
    iptables -t mangle -P FORWARD        ACCEPT
    iptables -t mangle -P OUTPUT        ACCEPT
    iptables -t mangle -P POSTROUTING    ACCEPT
    iptables -t filter -F
    iptables -t filter -P INPUT            ACCEPT
    iptables -t filter -P FORWARD        ACCEPT
    iptables -t filter -P OUTPUT        ACCEPT
}

mostrar_regras()
{
    echo "Tabela mangle:"
    iptables -t mangle -L -n -v
    echo ""
    echo "Tabela filter:"
    iptables -t filter -L -n -v
}

case ${1} in
    "limpeza")
        limpeza
        mostrar_regras
        ;;
    "mostrar_regras")
        mostrar_regras
        ;;
esac
 #!/bin/bash
#
# 20140511 Ederson Torresini: estabelecimento da política de qualidade de serviço, em especial no
# enlace gargalo da rede do cenário 1, PPP, na interface externa (eth2).
#
# Nota: na tabela mangle a última linha que corresponde ao padrão (last match) é utilizada, ao contrário
#       das tabelas filter e nat. Por isso, as regras devem ser escritas ao contrário quando há conflito
#       ou correspondência em mais de uma regra - detalhe para a da classe 2, que abrange qualquer pacote.

# Definição da fila (queue discipline), a ser aplicada na interface externa, PPP, com taxa de 1Mbps.
tc qdisc del dev eth2 root
tc qdisc add dev eth2 root handle 1:0 htb default 12
tc class add dev eth2 parent 1:0 classid 1:1 htb rate 1Mbit

# Classe 2: a qualquer protocolo se recomenda DF PHB - http://tools.ietf.org/html/rfc4594#page-47
iptables -t mangle -A POSTROUTING -o eth2 -m dscp --dscp 0 -j CLASSIFY --set-class 1:12

# Classe 1: ao transporte de áudio (RTP) se recomenda EF PHB - http://tools.ietf.org/html/rfc4594#page-31
iptables -t mangle -A POSTROUTING -o eth2 -m dscp --dscp 46 -j CLASSIFY --set-class 1:11

# Classe 0: à sinalização de telefonia IP (SIP) se recomenda CS5 do DSCP - http://tools.ietf.org/html/rfc4594#page-33
iptables -t mangle -A POSTROUTING -o eth2 -m dscp --dscp 40 -j CLASSIFY --set-class 1:10
#!/bin/bash
#
# 20140511 Ederson Torrresini: aplicacao da política definida na interface externa (eth2).
#
# Nota: apesar de não haver sequência na escrita das classes,
# será mantida a mesma sequência para fins de legibilidade do código.

# Classe 2: demais protocolos
tc class add dev eth2 parent 1:1 classid 1:12 htb rate 900Kbit ceil 1000Kbit prio 2

# Classe 1: transporte de mídia (RTP)
tc class add dev eth2 parent 1:1 classid 1:11 htb rate 80Kbit ceil 100Kbit prio 1

# Classe 0: sinalização e descrição de mídia (SIP/SDP)
tc class add dev eth2 parent 1:1 classid 1:10 htb rate 5Kbit ceil 10Kbit prio 0

mostrar_regras

Roteador F:

#!/bin/bash
#
# 20140511 Ederson Torrresini: funções para os outros scripts.

limpeza()
{
    iptables -t mangle -F
    iptables -t mangle -P PREROUTING    ACCEPT
    iptables -t mangle -P INPUT            ACCEPT
    iptables -t mangle -P FORWARD        ACCEPT
    iptables -t mangle -P OUTPUT        ACCEPT
    iptables -t mangle -P POSTROUTING    ACCEPT
    iptables -t filter -F
    iptables -t filter -P INPUT            ACCEPT
    iptables -t filter -P FORWARD        ACCEPT
    iptables -t filter -P OUTPUT        ACCEPT
}

mostrar_regras()
{
    echo "Tabela mangle:"
    iptables -t mangle -L -n -v
    echo ""
    echo "Tabela filter:"
    iptables -t filter -L -n -v
}

case ${1} in
    "limpeza")
        limpeza
        mostrar_regras
        ;;
    "mostrar_regras")
        mostrar_regras
        ;;
esac
 #!/bin/bash
#
# 20140511 Ederson Torresini: estabelecimento da política de qualidade de serviço, em especial no
# enlace gargalo da rede do cenário 1, PPP, na interface externa (eth2).
#
# Nota: na tabela mangle a última linha que corresponde ao padrão (last match) é utilizada, ao contrário
#       das tabelas filter e nat. Por isso, as regras devem ser escritas ao contrário quando há conflito
#       ou correspondência em mais de uma regra - detalhe para a da classe 2, que abrange qualquer pacote.

# Definição da fila (queue discipline), a ser aplicada na interface externa, PPP, com taxa de 1Mbps.
tc qdisc del dev eth2 root
tc qdisc add dev eth2 root handle 1:0 htb default 12
tc class add dev eth2 parent 1:0 classid 1:1 htb rate 1Mbit

# Classe 2: a qualquer protocolo se recomenda DF PHB - http://tools.ietf.org/html/rfc4594#page-47
iptables -t mangle -A POSTROUTING -o eth2 -m dscp --dscp 0 -j CLASSIFY --set-class 1:12

# Classe 1: ao transporte de áudio (RTP) se recomenda EF PHB - http://tools.ietf.org/html/rfc4594#page-31
iptables -t mangle -A POSTROUTING -o eth2 -m dscp --dscp 46 -j CLASSIFY --set-class 1:11

# Classe 0: à sinalização de telefonia IP (SIP) se recomenda CS5 do DSCP - http://tools.ietf.org/html/rfc4594#page-33
iptables -t mangle -A POSTROUTING -o eth2 -m dscp --dscp 40 -j CLASSIFY --set-class 1:10
#!/bin/bash
#
# 20140511 Ederson Torrresini: aplicacao da política definida na interface externa (eth2).
#
# Nota: apesar de não haver sequência na escrita das classes,
# será mantida a mesma sequência para fins de legibilidade do código.

# Classe 2: demais protocolos
tc class add dev eth2 parent 1:1 classid 1:12 htb rate 900Kbit ceil 1000Kbit prio 2

# Classe 1: transporte de mídia (RTP)
tc class add dev eth2 parent 1:1 classid 1:11 htb rate 80Kbit ceil 100Kbit prio 1

# Classe 0: sinalização e descrição de mídia (SIP/SDP)
tc class add dev eth2 parent 1:1 classid 1:10 htb rate 5Kbit ceil 10Kbit prio 0

mostrar_regras


quinta-feira, 4 de dezembro de 2014

 ANTES DE TUDO!!!

 Configurar rede!!!

ifconfig eth1 up
ifconfig eth1 192.168.1.2xx/24
route add default gw 192.168.1.1
echo "nameserver 8.8.8.8 > /etc/resolv.conf
apt-get update


1]R: Coloca tudo num script ou executa 1 po 1!!!!





#Apagando tabelas

iptables -F

#Mudando para política ACCEPT

    iptables -P INPUT ACCEPT
    iptables -P OUTPUT ACCEPT
    iptables -P FORWARD ACCEPT


#Proibindo acesso a www.ufsc.br

iptables -A OUTPUT -d www.ufsc.br -j DROP



2]R: Clica no link:
Percorre a página ta la em baixo!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
http://tele-ifsc.blogspot.com.br


3]R:


#Apagando tabelas

iptables -F

#Mudando para política ACCEPT

    iptables -P INPUT ACCEPT
    iptables -P OUTPUT ACCEPT
    iptables -P FORWARD ACCEPT


#Proibindo acesso a ssh

No ger-server:

iptables -A INPUT -s 192.168.1.XX -p tcp --dport 22 -j DROP

OBS:192.168.1.XX # é o ip da ger-grafico1

quarta-feira, 3 de dezembro de 2014

IPTABLES

#Bloqueando ping para "localhost"
iptables -A INPUT -d localhost -p icmp -j DROP
iptables -A INPUT -d 192.168.1.134/24 -p icmp -j DROP

#Listando tabelas de filtros
# iptables -L

#Apagando tabelas
iptables -F

#Mudando para política DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#iptables -L

#Liberando SSH para maquina real
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -d 192.168.1.0/24 -j ACCEPT

#Liberando acesso a DNS


iptables -A INPUT -s 8.8.8.8  -j ACCEPT
iptables -A OUTPUT -d 8.8.8.8 -j ACCEPT

#Liberando acesso a www.ufsc.br
iptables -A INPUT -s www.ufsc.br -j ACCEPT
iptables -A OUTPUT -d www.ufsc.br -j ACCEPT

#Apagando tabelas
iptables -F

#Mudando para política ACCEPT
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#Proibindo acesso a www.ufsc.br
iptables -A OUTPUT -d www.ufsc.br -j DROP

SNMP 

Instalações e configurações

Instalar o snmpd na máquina a ser monitorada: 

          # apt-get install snmp snmpd snmp-mibs-downloader

Limpar o arquivo /etc/snmp/snmpd.conf:


        # echo  "" > /etc/snmp/snmpd.conf

Editar o arquivo /etc/snmp/snmpd.conf:

agentAddress udp:161,udp6:[::1]:161
view   systemonly  included   .1.3.6.1.2.1.1
view   systemonly  included   .1.3.6.1.2.1.25.1
rocommunity public  0.0.0.0/0
rouser   authOnlyUser
sysLocation    Sitting on the Dock of the Bay
sysContact     Me <me@example.org>
sysServices    72
proc  mountd
proc  ntalkd    4
proc  sendmail 10 1
disk       /     10000
disk       /var  5%
includeAllDisks  10%
load   12 10 5
trapsink     localhost public
iquerySecName   internalUser
rouser          internalUser
linkUpDownNotifications  yes
extend    test1   /bin/echo  Hello, world!
extend-sh test2   echo Hello, world! ; echo Hi there ; exit 35
master          agentx


Reincia-se o serviço snmp: 

   # service snmpd restart

Busca-se por possíveis erros de configuração:
 
   # tail /var/log/syslog

Pode-se testar o serviço com uma consulta a partir de uma máquina remota, por exemplo o terminal da máquina real. Este comando retornará todos os parâmetros SNMP da máquina consultada: 


   # snmpwalk -v1 -c public 192.168.1.1X | more

OpenVPN no Ubuntu Server - Instalação e configuração

Ambiente na Matriz:
  • eth1: 192.168.1.100
Ambiente na Filial:
  • eth1: 192.168.1.101

Instalações e configurações

Configuração da matriz


Instalar o pacote openvpn e biblioteca lzo:
# apt-get install openvpn liblzo2-dev

Criar chave de segurança:

# cd /etc/openvpn
# openvpn --genkey --secret /etc/openvpn/chave


Verificar se a chave foi criada:

# cat /etc/openvpn/chave

Criar arquivo de configuração na matriz:

# vi /etc/openvpn/matriz.conf

Incluir o texto abaixo no arquivo: "/etc/openvpn/matriz.conf"

 #usar como interface o driver TUN

dev tun

persist-tun
# 20.0.0.1 ip que será assumido na matriz
# 20.0.0.2 ip remoto, ou seja, esse será o ip da filial. Observe que cria
#se uma nova rede para a VPN, independente das já existentes.

ifconfig 20.0.0.1 20.0.0.2

# Entra no diretório onde se encontram os arquivos de configuração

cd /etc/openvpn

# Indica que esse túnel possui uma chave de criptografia

secret chave
persist-key

# OpenVPN usa a porta 5500/UDP por padrão.
# Cada túnel do OpenVPN deve usar uma porta diferente.

port 5500

# Usuário que rodará o daemon do OpenVPN
######user openvpn
# Grupo que rodará o daemon do OpenVPN
########group openvpn
# Usa a biblioteca lzo

comp-lzo

# Envia um ping via UDP para a parte remota a cada 15 segundos #para
# manter a conexão de pé em firewall statefull.
# Muito recomendado, mesmo se você não usa um firewall baseado #em statefull.

ping-timer-rem

# Nível de log
verb 3

ifconfig 20.0.0.1 20.0.0.2  # novo-ip-matriz novo-ip-filial
port 5500                   # se não criar interface mude a porta

Executar comando para reiniciar o OpenVPN:

# /etc/init.d/openvpn restart

Verificar se a conexão VPN na matriz está OK:

# ifconfig tun0

Liberar acesso a chave:

# chmod 777 /etc/openvpn/*

Configuração da filial

Instalar o pacote openvpn e biblioteca lzo:

# apt-get install openvpn liblzo2-dev

Copiar a chave de segurança da matriz para a filial:

# scp aluno@192.168.1.100:/etc/openvpn/chave /etc/openvpn

Criar o arquivo de configuração na filial:

# vi /etc/openvpn/filial.conf

Incluir o texto abaixo no arquivo: "/etc/openvpn/filial.conf"

 #usar como interface o driver TUN

dev tun

persist-tun
# 20.0.0.1 ip que será assumido na matriz
# 20.0.0.2 ip remoto, ou seja, esse será o ip da filial. Observe que cria
#se uma nova rede para a VPN, independente das já existentes.

ifconfig 20.0.0.2 20.0.0.1
# Indica onde está o ip da Matriz (essa é a única linha que acrescentamos
# no arquivo de configuração da filial), o resto é tudo igual.
remote 192.168.1.100
# Entra no diretório onde se encontram os arquivos de configuração

cd /etc/openvpn

# Indica que esse túnel possui uma chave de criptografia

secret chave
persist-key

# OpenVPN usa a porta 5500/UDP por padrão.
# Cada túnel do OpenVPN deve usar uma porta diferente.

port 5500

# Usuário que rodará o daemon do OpenVPN
######user openvpn
# Grupo que rodará o daemon do OpenVPN
########group openvpn
# Usa a biblioteca lzo

comp-lzo

# Envia um ping via UDP para a parte remota a cada 15 segundos #para
# manter a conexão de pé em firewall statefull.
# Muito recomendado, mesmo se você não usa um firewall baseado #em statefull.

ping-timer-rem

# Nível de log
verb 3

ifconfig 20.0.0.2 20.0.0.1  # novo-ip-filial novo-ip-matriz
remote 192.168.1.100        # ip real da matriz

Executar comando para reiniciar o OpenVPN:

# /etc/init.d/openvpn restart

Verificar se a conexão VPN na matriz está OK:

# ifconfig tun0

Testando conexão

Na matriz, pingar a filial:

# ping 20.0.0.2

Na filial, pingar a matriz:

# ping 20.0.0.1
 ___________________________________________

OBS: Se precisar, amtes de configurar o OpenVpn, limpe os filtros do iptables

Limpar tabelas:

# iptables -F

Mudar política para ACCEPT:

# iptables -P INPUT ACCEPT
# iptables -P OUTPUT ACCEPT
# iptables -P FORWARD ACCEPT

Listar políticas:

 # iptables -L

quinta-feira, 27 de novembro de 2014

  1. Bloquear ping
    1. iptables -t filter -A INPUT -p icmp —icmp-type ech-request -j DROP
  2. Listar regras
    1. iptables -L
  3. Apagar regras
    1. iptables -F
  4. Mudar para política DROP
    1. iptables -t filter -P INPUT DROP
    2. iptables -t filter -P OUTPUT DROP
    3. iptables -t filter -P FORWARD DROP
  5. Liberar acesso para um site
      1. Se tiver que rotear os pacotes:
      2. iptables -t filter -A INPUT -s <ip do roteador> -d <ip da máquina> -j ACCEPT
      3. iptables -t filter -A OUTPUT -s <ip da máquina> -d <ip do roteador> -j ACCEPT
    1. iptables -t filter -A INPUT -s <ip do DNS> -d <ip da máquina> -j ACCEPT
    2. iptables -t filter -A OUTPUT -s <ip da máquina> -d <ip do DNS> -j ACCEPT
    3. iptables -t filter -A INPUT -s <nome do dominio> -d <ip da máquina> -j ACCEPT
    4. iptables -t filter -A OUTPUT -s <ip da máquina> -d <nome do dominio> -j ACCEPT
  6. Mudar para política ACCEPT
    1. iptables -t filter -P INPUT ACCEPT
    2. iptables -t filter -P OUTPUT ACCEPT
    3. iptables -t filter -P FORWARD ACCEPT
  7. Bloquear acesso à www.ufsc.br
    1. iptables -t filter -A OUTPUT -d www.ufsc.br -j DROP
  8. Diferença entre DROP e REJECT
  9. Bloquear porta do protocolo ssh
    1. iptables -A OUTPUT -d <hospedeiro ou ip> —dport 22 -j DROP
  10. Salvar as regras
    1. iptables-save > /etc/iptables.rules
  11. Fazer as regras serem restauradas na inicialização
    1. Editar o arquivo /etc/network/interfaces
    2. Adicionar a linha no final da interface a ser configurada (geralmente a eth0)
      1. pre-up iptables-restore < /etc/iptables.rules

#Bloqueando ping para "localhost"
iptables -A INPUT -d localhost -p icmp -j DROP
iptables -A INPUT -d 192.168.1.49/24 -p icmp -j DROP

#Listando tabelas de filtros
# iptables -L

#Apagando tabelas
iptables -F

#Mudando para política DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#iptables -L

#Liberando SSH para maquina real
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -d 192.168.1.0/24 -j ACCEPT