sexta-feira, 5 de dezembro de 2014

Mude a interface do Ubuntu para Cinnamon


Compartilhe isso ...
O ambiente gráfico que iremos testar hoje é um pouco parecido com o Gnome, até porque ele se baseia muito nesse ambiente. Ele tem um visual fácil de usar e um leiaute familiar, o que fará você se sentir em casa. Aliás. esse é um dos seus objetivos fundamentais.

No Cinnamon você pode mudar a forma como o ambiente de trabalho funciona, o visual e o comportamento dele. Por baixo dessa interface, o Cinnamon é um fork do Gnome Shell e baseado em Mutter e Gnome 3. Algumas coisas legais do Cinnamon:

Um painel inferior único que você pode configurar para ficar oculto automaticamente;
Lista de janelas, botão para “mostrar área de trabalho”, ícones systray e outros recursos comuns em ambientes graficos mais populares;
Um menu com o mesmo leiaute do Menu do LinuxMint, com opções para adicionar aplicações aos favoritos, para o desktop ou para o painel;
Personalização de lançadores de painel;
Um applet de som que lhe permite executar e controlar a sua música, e mudar o som dos alto-falantes para os fones e vice-versa.
Ele tem muito mais que isso, mas você só saberá o que ele tem a oferecer se instalar e experimentar. Para fazer isso siga esse passo a passo:

Passo 1. Feche todos os seus aplicativos em execução;
Passo 2. Abra um terminal;
Passo 3. Adicione o repositório do Cinnamon, digitando so seguinte comando:
sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stable

Passo 4. Atualize o Apt digitando o comando:
sudo apt-get update

Passo 5. Finalmente, instale o ambiente:
sudo apt-get install cinnamon

Saia da sessão atual e quando aparecer a tela de login, escolha o Cinnamon. Entre com seu usuário e senha e depois comece a experimentar o ambiente. Como sempre, não esqueça de comentar aqui o que você achou, outras pessoas podem querer saber como foi.
---- ou

Install Cinnamon 2.2 via PPA in Ubuntu 14.04 LTS

sudo add-apt-repository ppa:lestcape/cinnamon
sudo apt-get update && sudo apt-get install cinnamon


Fonte:

quarta-feira, 3 de dezembro de 2014

Install Cinnamon or Mate on Debian Wheezy

For Cinnamon

Cinnamon is a GTK+ 3-based desktop environment. It originally started as a fork of the GNOME Shell, the successor of the GTK+2-based GNOME Panel, and was initially developed by (and for) Linux Mint.Because Cinnamon intends to implement a different graphical user interface (GUI) than GNOME, many of the GNOME Core Applications were forked.

Add the following to /etc/apt/sources.list:

deb http://packages.linuxmint.com/ debian main upstream import

Run each of the following lines separately:

# apt-get update
# apt-get install linuxmint-keyring
# apt-get update
# apt-get install cinnamon cinnamon-session cinnamon-settings

That’s it, log out of your current session, select Cinnamon

For Mate

MATE (Spanish pronunciation: ˈmate) is a desktop environment forked from the now-unmaintained code base of GNOME 2. It is named after the South American plant Yerba mate and tea made from the herb, mate. The use of a new name (“MATE” instead of “GNOME”) avoids conflicts with GNOME 3 components.

Add the following to /etc/apt/sources.list:

# main repository
deb http://repo.mate-desktop.org/debian wheezy main

# install mate-archive-keyring

# apt-key add mate-archive-keyring.gpg
# apt-get update

Please note that in normal circumstances installing unauthenticated packages from unknown repositories may be a security risk

# apt-get --yes --quiet --allow-unauthenticated install mate-archive-keyring
# apt-get update

Now to install MATE choose 1 of the 3 apt-get lines below.

this installs the base packages
# apt-get install mate-core

this to install mate-core and more extras
# apt-get install mate-desktop-environment

this to install mate-core + mate-desktop-environment and even more extras.
# apt-get install mate-desktop-environment-extra


That’s it, log out of your current session, select Mate as your default session and then log back in.

sexta-feira, 28 de novembro de 2014

Mensagem "O log de segurança deste sistema está cheio"

Quando você tenta fazer logon em um computador que está executando o Windows XP ou o Windows Server 2003, e quando você usa uma conta que não seja membro do grupo Administradores para tentar fazer logon em um computador que execute o Microsoft Windows Server 2003 ou o Microsoft Windows XP, pode receber esta mensagem na janela "Fazer logon no Windows":

"O log de segurança deste sistema está cheio. Apenas administradores podem fazer logon para corrigir o problema."

Você pode fazer logon no computador usando uma conta que seja membro do grupo Administradores, como a conta de administrador interno. Mas se você fizer logon remotamente no computador, poderá receber esta mensagem:

"O log de segurança deste sistema está cheio"

A solução é simples execute esse programa da microsoft de correção de problema e pronto!

DOWNLOAD: Corrigir problema

Ou

Faça Manualmente.


1. Clique em Iniciar >> Painel de Controle >> Ferramentas administrativas >> Visualizar eventos .


2. Clique com o botão direito em Segurança e clique em Propriedades.
Na área Tamanho do Log da janela Propriedades de Segurança, clique na opção Substituir eventos quando necessário em Quando o tamanho máximo do log for alcançado.


3.   Clique com o botão direito do mouse em segurança e em seguida, clique em limpar log de segurança, salve o backup em qqer lugar.

4. Clique em OK. Pronto!

Fonte: http://reacaodireta.blogspot.com.br/2013/02/mensagem-o-log-de-seguranca-deste.html

quinta-feira, 20 de novembro de 2014

Zabbix 2. 2.3 no Debian Wheezy 7.0.5 - Instalação e configuração

Instalando o Zabbix 2. 2.3 no Debian Wheezy 7.0.5 para monitoramento de rede|Infraestrutura|Sistemas

Lista de repositórios:

# nano /etc/apt/source.list 

deb http://ftp.br.debian.org/debian wheezy main
deb-src http://ftp.br.debian.org/debian wheezy main
deb http://security.debian.org/ wheezy /updates main
deb-src http://security.debian.org/ wheezy /updates main
deb http://ftp.br.debian.org/debian wheezy -updates main
deb-src http://ftp.br.debian.org/debian wheezy-updates main

Atualizar o S.O.:
# apt-get update
# apt-get upgrade -y 
.

Obtendo as dependências para a instalação do Zabbix:

# apt-get install make flex gcc gpp php-net-socket libpq5 libpq-dev snmp apache2 libapache2-mod-php5 php5 php5-gd php5-curl libcurl4-openssl-dev php5-mysql php5-snmp php-pear perl-base liburi-perl libapache2-mod-perl2 libwww-perl libtool libextutils-pkgconfig-perl pkg-config libsnmp-dev libcurl3 rcconf libgd-text-perl php5-cgi perl-modules libpdf-api2-perl libssh2-1-dev mysql-server libmysql++-dev libmysqlclient-dev snmpd libsnmp-dev curl libiksemel-dev libiksemel-utils fping lm-sensors libsysfs2 jabber -y 

Criar o usuário zabbix e grupo zabbix para a aplicação:

# groupadd zabbix
# useradd -g zabbix zabbix 

Criar o um diretório em /usr/src/zabbix, para armazenar os fontes do Zabbix:

# mkdir /usr/src/zabbix
# cd /usr/src/zabbix
# wget http://ufpr.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.3/zabbix-2.2.3.tar.gz 

Descompacte e acesse o arquivo para instalação:

# tar -xvzf zabbix-2.2.3.tar.gz
# cd zabbix-2.2.3/ 

Criar a database para o Zabbix e configurar a permissão para o usuário zabbix ter acesso à database, mediante usuário e senha:

# mysql -uroot -p 

mysql> create database zabbix character set UTF8;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '1234';"
mysql> flush privileges;
mysql> quit; 

Acesse e importe os .sql do Zabbix para a database do MySQL:

# cd /usr/src/zabbix/zabbix-2.2.3/database/mysql/
# mysql -u zabbix -p zabbix < schema.sql
# mysql -u zabbix -p zabbix < images.sql
# mysql -u zabbix -p zabbix < data.sql 

Ajuste o desempenho do MySQL:

# nano /etc/mysql/conf.d/tunning.cnf 

[mysqld]
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Split Tables
innodb_file_per_table = 1
key_buffer_size = 32M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M

Com o banco de dados estruturado com as bases de dados do Zabbix, podemos iniciar a compilação e instalação:

# cd /usr/src/zabbix/zabbix-2.2.3/

# ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-snmp --with-libcurl3 --with-ssh2 --with-snmpwalk --with-net-snmp --with-snmptranslate --with-snmget --with-ssh2
# make install 

Certifique-se que os serviços do zabbix_agent e zabbix_server foram configurados no /etc/services. Caso não, configure manualmente:

# nano /etc/services 

zabbix-agent 10050/tcp #Zabbix Agent
zabbix-agent 10050/udp #Zabbix Agent
zabbix-trapper 10051/tcp #Zabbix Trapper
zabbix-trapper 10051/udp #Zabbix Trapper

Configure ou valide os *.confs do Zabbix, com:

# nano /usr/local/etc/zabbix_agentd.conf
E:
# zabbix_agent.conf 

PidFile=/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
LogFileSize=1
DebugLevel=3
EnableRemoteCommands=1
LogRemoteCommands=1
Server=127.0.0.1
ListenPort=10050
Hostname=Zabbix Server

# nano /usr/local/etc/zabbix_server.conf 

ListenPort=10051
LogFile=/tmp/zabbix_server.log
LogFileSize=2
PidFile=/tmp/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=1234
StartIPMIPollers=1
StartDiscoverers=5
Timeout=3
#FpingLocation=/usr/bin/fping

Copie o fping e traceroute de /usr/sbin para /usr/bin/ e dê as permissões para execução:

# cp /usr/sbin/ traceroute /usr/bin/
# cp /usr/sbin/ fping* /usr/bin/
# chown root:zabbix /usr/sbin/fping*
# chmod 710 /usr/sbin/fping*
# chmod ug+s /usr/sbin/fping* 

Copie os iniciáveis do zabbix_agentd e zabbix_server para o /etc/init.d/, com as permissões de execução do script:

# cd /usr/src/zabbix//zabbix-2.2.3/misc/init.d/debian/
# cp zabbix-* /etc/init.d/
# chmod 755 /etc/init.d/zabbix-server
# chmod 755 /etc/init.d/zabbix-agent
# rcconf 

Marque os dois scrips do Zabbix e dê OK.

# /etc/init.d/zabbix-server start
# /etc/init.d/zabbix-agent start
# ps -aux | grep zabbix 

Criar e acessar o diretório zabbix em /var/www/zabbix, para armazenar os fronts do Zabbix:

# mkdir /var/www/zabbix
cp -R /usr/src/zabbix/zabbix-2.2.3/frontends/php/* /var/www/zabbix/

# chown -R www-data:zabbix /var/www/zabbix 

Configurar o php.ini para o Zabbix:

# nano /etc/php5/apache2/php.ini 

date.timezone = America/Sao_Paulo
memory_limit = 512M
post_max_size = 60M
upload_max_filesize = 32M
max_execution_time = 600
max_input_time = 600

Restarte o Apache para carregar as novas configurações do php.ini:

# /etc/init.d/apache2 restart 

Finalize a instalação via WEB pelo endereço: http://ipdozabbix/zabbix

Informe/verifique as dependências, insira o usuário da database e senha, prossiga com as configurações solicitadas e finalize a instalação.
Usuário padrão: admin
Senha padrão: zabbix

Referência:
http://www.vivaolinux.com.br/dica/Zabbix-2-23-no-Debian-Wheezy-705-Instalacao-e-configuracao


Erros ao restaurar Database no PostgreSQL 9.3

Erro
Ao tentar restaurar um database no PostgreSQL 9.x ele retorna erros “hstore”.

Solução
Criar o database e aplicar o comando:

template1=# CREATE EXTENSION hstore;

Caso retornar algun erro, instalar os pacotes:

# apt-get install postgresql-contrib-9.x
# apt-get install postgresql-contrib-9.x

Aplique o comando novamente
template1=# CREATE EXTENSION hstore;

e tente restaurar novamente.

Referência:

segunda-feira, 17 de novembro de 2014

Comandos do PostgreSQL

Apagando arquivos antigos

A primeira coisa a determinar seria a quantidade de backups que você deseja guardar. Neste exemplo, irei armazenar 10 cópias.

Vamos criar um arquivo. "apagar_antigos" por exemplo.

# vim /root/scripts/apagar_antigos 

Basta acrescentar a seguinte linha:

find /backup -ctime +10 -exec rm -rf {} \;

E só. Esta linha fará uma busca no diretório /backup e apagará os arquivos modificados a mais de 10 dias.

OBS: /backup é onde armazeno meus backups, adapte a linha de comando para a sua necessidade.

Você pode incrementar um pouco este arquivo. Fica a sua escolha. = )

Lembre que este arquivo deve ser "executável":

# chmod +x /root/scripts/apagar_antigos 

Depois basta inserir uma entrada na cron para automatizar o processo. Por exemplo:

# crontab -e 

E inserir a seguinte linha:

00 01 * * * /root/scripts/apagar_antigos

Agora para reiniciar o crond:

# service crond restart 



Instalação do PostgreSQL 9.3 em Debian 7

Instalando o PostgreSQL 9.3 no Debian 7

# apt-get install postgresql-9.3

Configuração para acesso pela rede local


# vim /etc/postgresql/9.3/main/postgresql.conf
listen_addresses = '*'  

# vim /etc/postgresql/9.3/main/pg_hba.conf
host     all       all 192.168.0.0/24        trust

Alterando a Porta de Escuta

# vim /etc/postgresql/9.3/main/postgresql.conf
port = 5438

Reiniciando o postgres para aplicar as configurações
/etc/init.d/postgresql restart

Como configurar o MySQL para aceitar conexão remota


Por padrão o MySQL não permite conexão remota por questões de segurança. Caso você precise de uma conexão deste tipo terá que fazer uma pequena configuração, basta mudar no arquivo /etc/mysql/my.cnf

Eu faço assim no shell (linha de comando):

# vim /etc/mysql/my.cnf

Localize a linha que contém
[mysqld]   
bind-address=YOUR-SERVER-IP

Troque YOUR-SERVER-IP pelo IP de internet da máquina servidora. Então se seu IP é 154.200.201.184, vai ficar assim:
bind-address=154.200.201.184

Outra coisa. No mesmo arquivo se skip-networking não estiver comentado o mysql não vai aceitar conexão tcp/ip.
Ficando assim:
#skip-networking

É só salvar o arquivo e reiniciar o mysql.

Referência:
http://oceanobit.blogspot.com.br/2013/07/como-configurar-o-mysql-para-aceitar.html

Comandos do Mysql


Instalando o Mysql-Server

aptitude install mysql-server

Conectando-se ao mysql

mysql -u [usuario] -p[senha]

Criando um Database

mysql -u root -p -e "CREATE DATABASE openfire "

Permitindo o usuario openfire ao database openfire

mysql -u root -p -e "GRANT ALL PRIVILEGES ON openfire . * TO 'openfire'@'localhost' "

Criando um usuario

mysql -u root -p -e "GRANT USAGE ON * . * TO 'openfire'@'localhost' IDENTIFIED BY 'PASSWD' "

Restaurando um Backup

mysql -u root -p[senha] -h 127.0.0.1 [database] < /[diretório]/[nome_backup].sql


Alterando senha de usuário no MySQL


mysql> update mysql.user set password=PASSWORD('nova_senha') where user='fulano';
mysql> flush privileges; 



Instalando um servidor Openfire no Debian 7

O Openfire é um servidor para comunicação interna, semelhante ao MSN e Gtalk. Cada vez mais as empresas estão centralizando e controlando a comunicação interna evitando o uso de MSN e outros mensageiros que atrapalham a produtividade e o desempenho dos funcionários.

Instalando o Java

Via APT
apt-get install sun-java6-jre

MANUAL
vamos criar o diretório /usr/java e em seguida vamos entrar nele:
# mkdir /usr/java
# cd /usr/java

Logo após iremos fazer o download do JAVA dentro deste diretório (/usr/java), pelo comando wget, já renomeando o nome do arquivo para java.bin:

# wget http://javadl.sun.com/webapps/download/AutoDL?BundleId=20279 -O java.bin

Depois de terminado o download, alteramos as permissões do arquivo para execução e logo em seguida já o executamos:

# chmod a+x java.bin
# ./java.bin

Será exibido os termos de licença do Java, para descer basta usar a barra de espaço e digitar yes no final. Agora que o Java está instalado, iremos instalar o banco de dados para o Openfire.


Instalação do MySQL e criação da base de dados


Baixamos o pacote do MySQL server diretamente via apt:

# aptitude install mysql-server

Depois de instalado devemos criar uma senha para o usuário root do MySQL com o comando abaixo:

# mysqladmin -u root password 'PASSWD'
(sendo que PASSWD será a senha escolhida por você)

Agora criaremos o usuário que será utilizado pelo Openfire, lembrando que a senha criada anteriormente será solicitada de agora em diante para certos comandos:

# mysql -u root -p -e "GRANT USAGE ON * . * TO 'openfire'@'localhost' IDENTIFIED BY 'PASSWD' "

Agora criaremos a Base de dados do Openfire:

# mysql -u root -p -e "CREATE DATABASE openfire "
# mysql -u root -p -e "GRANT ALL PRIVILEGES ON openfire . * TO 'openfire'@'localhost' "

Pronto, o banco de dados e o usuário já estão criados, vamos agora instalar o Openfire.

Instalação do Openfire

# cd /opt
# tar -zxf openfire.tar.gz

Criaremos agora um atalho para que o Openfire inicie automaticamente junto com o sistema:
# ln -s /opt/openfire/bin/openfire /etc/init.d/openfire
# update-rc.d openfire defaults 80

Para iniciar o Openfire manualmente:

# /etc/init.d/openfire start


Plugins Recomendados
  • Client Control 
  • Content Filter 
  • Kraken IM Gateway 
  • Monitoring Service
  • Search 

Recuperando senha MySQL

O primeiro passo, é pararmos o MySQL com o comando abaixo:

# /etc/init.d/mysql stop 

Depois devemos iniciar o MySQL em modo de segurança, para que possamos ter acesso para alterar a senha:

# mysqld_safe --skip-grant-tables --skip-networking & 

Explicando:
         O parâmetro --skip-grant-tables, serve para o MySQL iniciar sem o responsável pela verificação das permissões dos usuários, dando permissão total a todos os usuários.
         O segundo parâmetro --skip-networking, serve para que nenhuma conexão TCP/IP seja aceita, evitando que alguém se aproveite deste tempo para "destruir" seu banco de dados.

Uma vez o banco desprotegido, vamos conectar e alterar a senha do usuário que queremos recuperar. Neste exemplo, vou usar o próprio root:

# mysql -u root 

mysql> update mysql.user set password=PASSWORD('nova_senha') where user='root';
mysql> flush privileges; 

A senha do root já está alterada. Agora devemos parar o MySQL e iniciá-lo novamente, para que o MySQL inicie sem os skips:

# /etc/init.d/mysql stop
# /etc/init.d/mysql start 

Agora, para testarmos, vamos conectar ao banco usando a senha que colocamos:

# mysql -u root -p'nova_senha' 


Referência: http://www.vivaolinux.com.br/dica/Recuperando-senha-MySQL

segunda-feira, 3 de novembro de 2014

Instalação e configuração dos Servidores WEB (Apache) e PHP (Php5)

Instalação  do Apache


# apt-get install apache2

Após a instalação do apache, podemos verificar se o serviço apache está ativado da
seguinte forma:

#netstat -a | more

Exibe se está aceitando conexões na porta www (TCP 80) emtodas interfaces que ela possuir, vindas de qualquer origem, desta forma, podemos testar o funcionamento do apache abrindo a página padrão do servidor em um browser. Fazendo isso, deve aparecer a mensagem “It works!” no seu navegador.

Configuração

O arquivo de configuração do Apache é o apache2.conf. Para editá-lo basta digitar o
seguinte comando:
# vim /etc/apache2/apache2.conf

OBS: cada parâmetro deste arquivo já vem precedido por comentários explicativos no
próprio arquivo.

Virtual Host

Com esta configuração padrão, os arquivos HTML lidos pelo apache para apresentação
em browsers de máquinas clientes ficam no diretório /var/www. Podemos conferir isto
com o comando abaixo:
# ls -l /var/www/
drwxr-xr-x 2 root root 4096 Set 28 07:23 http
-rw-r--r-- 1 root root 45 Nov 6 14:48 index.html

Se quisermos fazer uma troca simples do site default do apache, de forma que o conteúdo
apresentado quando se digita o IP do servidor no browser da máquina seja outro, basta
editarmos ou até mesmo trocarmos o arquivo /var/www/index.html para deixá-lo com as
configurações necessárias.

Apesar de podermos mudar o conteúdo do site padrão do apache da forma que
quisermos, na maioria dos casos, os servidores apache não armazenam apenas um site,
e sim um conjunto de sites geralmente relacionados a domínios diferentes. Neste caso
podemos utilizar uma feature do Apache conhecida como Virtual Host.

Virtual Host nada mais é do que criarmos outras bases de informação para o Apache
interpretar. Localmente estas bases de informação são diretórios que podem armazenar
sites inteiros.

Caso a configuração do seu servidor tenha sido feita acompanhando corretamente nosso
material, você terá configurado em sua máquina o domínio falconet.com.br. Digitando
o endereço www.falconet.com.br no browser de uma máquina também teremos
acesso ao site default do Apache.

Abaixo segue um “passo-a-passo” de como configurar um Virtual Host. Segue:

1 – criar o arquivo “/etc/apache2/sites-available/segfatecou” com o seguinte conteúdo:
<VirtualHost *:80>
       ServerAdmin webmaster@falconet.com.br
       ServerName www.falconet.com.br
       DocumentRoot /var/www/http/falconet/
       ErrorLog /var/log/apache2/error_falconet.log
       LogLevel warn
       CustomLog /var/log/apache2/access_falconet.log combined
</VirtualHost>

Segue abaixo uma explicação dos parâmetros de configuração utilizados neste arquivo.
<VirtualHost *:80> e </VirtualHost> – Início de final da configuração do Virtual Host,
informando qual porta o servidor estará recebendo conexões para este VirtualHost.
ServerAdmin – email que será informado em mensagens de erro aos usuários do site.
ServerName – nome do servidor. Caso seu servidor possua um alias, você pode colocar
o nome correspondente ao seu site neste campo.
DocumentRoot – localização do diretório que será a base para os arquivos do site. Caso
não exista previamente, deve ser criado manualmente.
ErrorLog – arquivo de log dos erros de o servidor possa encontrar na execução do site,
como por exemplo, links quebrados de imagens etc.
LogLevel – controla os tipos de mensagens que serão enviados ao log. Os tipos são:
emerg, alert, crit, error, warn, notice, info e debug.
CustomLog – informa o que foi acessado no servidor (site).

Mais detalhes sobre os parâmetros de configuração do Virtual Host devem ser
observados em http://httpd.apache.org/docs/2.2/mod/core.html .

Agora basta habilitarmos o Virtual Host para ser trabalhado pelo Apache e pronto! Para
isso, precisamos digitar o seguinte comando:
#a2ensite falconet

e desabilitar o site padrão do Apache com o seguinte comando:
#a2dissite default

e recarregar as configurações do Apache para leitura das novas configurações com o
comando:
#/etc/init.d/apache2 reload



Servidor DNS - BIND

OS IPS E NOMES USADOS SÃO FICTÍCIOS.

O DNS (Domain Name Service), tem como sua principal função resolver nomes, ou seja converter
IP para hostname e vice versa.

Traduz nomes de máquinas e domínios para IP, informação utilizada para real comunicação entre as máquinas conectadas em rede.
Traduz IPs para nomes de máquinas, serviço conhecido como DNS Reverso. Utilizado, por exemplo, pelos servidores de e-mail para evitar Spam. O servidor de e-mail ao receber uma mensagem enviada por um IP, tenta encontrar o nome do domínio que aquele IP pertence. Este nome de domínio deve ser o mesmo encontrado na remetente da mensagem, desta forma, o servidor de e-mail o julga válido.
Quais as regras sintáticas para o nome de um domínio?
Um domínio deve seguir:

  • Tamanho mínimo de 2 e máximo de 26 caracteres, não incluindo a extensão.
  • Caracteres válidos são [A-Z;0-9] e o hífen.
  • Nenhum tipo de acentuação é válido.
  • Não pode conter somente números.
  • OBS.: Os domínios com extensões .nom.br deverão ser separados por um ponto, assim como nome.sobrenome.nom.br

Zonas
Toda informação correspondente a um domínio. Por exemplo, são informações de um
domínio o próprio domínio, suas máquinas, seu reverso, seu MX etc.
Domínio = falconet.com.bt
Máquinas = www.falconet.com.br - 192.168.0.1
Reverso = 192.168.0.1 - maquina.falconet.com.br

DNS reverso (rDNS)
Traduz IP em nome.
características peculiares:
  • conhecido no jargão dos administradores de servidores como "PTR";
  • obrigatório de acordo com a RFC 1912, seção 2.1;
  • deve haver uma entrada de rDNS para todas as máquinas com nome na rede, não só para algumas; 
  • muitíssimo importante para servidores de email, pois, confrontando o reverso do IPtraduzido do domínio do remetente da mensagem podemos ver se realmente aquela mensagem saiu da origem informada.
  • Para configurar precisamos:
    • que sua operadora responda o reverso de seu domínio para você.
    • ou
    • que sua operadora direcione as requisições de reverso de seu domínio para você responder.
Configuração do Servidor

- Caching-Only

Não resolve nomes em sua própria base, apenas passa requisições a outros servidores
DNS e repassa a resposta ao cliente solicitante.

- Primários

  • Responsável por resolver os nomes.
  • Informações obtidas de arquivos locais;
  • Possuem em sua base de dados de domínios as configurações necessárias para responder por um determinado domínio;
  • Fonte oficial de informação a respeito de um domínio.
  • O domínio deve estar devidamente registrado no registro.br, com servidor DNS apontando para o servidor em questão. Desta forma, ele se torna a fonte de dados oficial para resolução dos nomes para este domínio.

- Secundários

  • Responsável por resolver nomes em caso de problemas com o DNS primário. Sua existência é obrigatória para que um domínio seja reconhecido como válido pelo registro.br.
- Transferência de Zonas;
  • Não são realizadas configurações nos servidores DNS Secundários para resolução de nomes de domínios. Sua base de dados é importada do seu DNS Primário.
  • Fonte oficial de informação a respeito de um domínio.

1.1.3 – Processo no “*nix”

Processo: named

SEQUENCIA DE CONSULTA NA RESOLUÇÃO DE NOMES
/etc/host.conf
order hosts,bind

Neste arquivo é configurado a ordem de consulta que o servidor seguirá em suas consultas. Neste exemplo, primeiramente é consultado a tabela hosts do servidor e caso a entrada não exista nesta tabela então é consultado o bind do servidor.

BIND

Bind (Berkeley Internet Name Domain), o bind inclui o servidor DNS que é conhecido como named.

Instalando Servidor DNS no Linux (BIND9)

Pacotes necessários:
  • bind-x.x-xx -> servidor DNS e arquivos de configurações.
  • Bind-utils-x.x-xx -> comandos do DNS.

Instalação no Debian
# apt-get install bind
# apt-get install bind-utils

após a instalação podemos verificar se o serviço está rodando com o comando:
# ps ax | grep named (verificar se o named está rodando)

Criar a zona
vi /etc/bind/named.conf.local
incluir as seguintes linhas:
// DNS
zone "falconet.com.br" IN {
type master;
file "/etc/bind/dominio/falconet/db.falconet.com.br";
};
// DNS Reverso
zone "0.168.192.in-addr.arpa" IN {
type master;
file "/etc/bind/dominio/falconet/db.0.168.192";
};

Criar os diretórios onde os arquivos de configuração do domínio serão criados e acertar os
direitos de acesso para segurança do serviço e servidor, bem como para o
funcionamento correto.

mkdir -p /etc/bind/dominio/falconet
chown root:bind /etc/bind/dominio/falconet

Dentro destes diretórios, criar os seguintes arquivos:
para resolução de nome:

vim /etc/bind/dominio/falconet/db.falconet.com.br

$TTL 345600
        @ IN SOA ns1.falconet.com.br. hostmaster.falconet.com.br. (
        2014082001 ; Serial
        28800; refresh, seconds
        7200; retry, seconds
        604800; expire, seconds
        86400 ) ; negative cache TTL, seconds
    NS ns1.falconet.com.br.
    NS ns2.falconet.com.br.
    IN MX 10 smtp.falconet.com.br.
    IN MX 20 smtp2.falconet.com.br.
falconet.com.br.          A          192.168.0.1
ns1                       A          192.168.0.1
ns2                       A          192.168.0.254
www                       A          192.168.0.1
smtp                      A          192.168.0.1
smtp2                     A          192.168.0.1
pop3                      A          192.168.0.1
maquina                    A         192.168.0.1
webmail                   CNAME      pop3

Entendendo as regras utilizadas:

$TTL - (Time-To-Life) Esta opção diz ao named por quanto tempo ele deve manter em cache as informações de certo domínio. Lembrando que só são consultados os arquivos "zone" caso a informação procurada não se encontre no cache.

@ IN SOA ns1.falconet.com.br. hostmaster.falconet.com.br. (
A "@" na segunda linha indica a origem do domínio e, ao mesmo tempo, o início da configuração. Ela é sempre usada, assim como num endereço de e-mail. O "IN" é abreviação de "internet" e o "SOA" de "Start of autority". Em seguida vem o nome do servidor (que você checa usando o comando "hostname"), seguido do e-mail de contato do administrador. Note que, no caso do e-mail, temos a conta separada do domínio por um ponto, e não por uma @. O mais comum é criar uma conta chamada "hostmaster", mas isso não é uma regra. Você poderia usar "fulano.meudomonio.com.br", por exemplo. Note também que existe um ponto depois do "ns1.falconet.com.br" e do "hostmaster.falconet.com.br", que faz parte da configuração.
O ponto se refere ao domínio raiz, de responsabilidade dos rootservers. No exemplo,
nosso servidor é o responsável pelo domínio "falconet", que faz parte do domínio ".com.br", que por sua vez faz parte do domínio raiz. Lembre-se que os domínios são lidos da direita para a esquerda, de forma que, ao resolver o domínio, o cliente leria: raiz . br .com . falconet.
A linha diz algo como "Na internet, o servidor "falconet" responde pelo domínio falconet.com.br o e-mail do responsável pelo domínio é "hostmaster@falconet.com.br". A primeira linha termina com um parênteses, que indica o início da configuração do domínio. Temos então:

2011022001
O "2011022001" é o valor de sincronismo, que permite que o servidor DNS secundário mantenha-se sincronizado com o principal, detectando alterações na configuração. Este número é composto da data da última alteração (como em: 20140820), e um número de dois dígitos qualquer que você escolhe. Sempre que editar a configuração, ou sempre que configurar um servidor DNS a partir de um template qualquer, lembre-se de atualizar a data e mudar os dois dígitos.
As quatro linhas seguintes orientam o servidor DNS secundário (caso você tenha um).
O primeiro campo indica o tempo que o servidor aguarda entre as atualizações (28800
segundos, ou 8 horas). Caso ele perceba que o servidor principal está fora do ar, ele tenta
fazer uma transferência de zona, ou seja, tenta assumir a responsabilidade sob o
domínio. Não esqueça que o serial nunca é incrementado automaticamente, isso é
trabalho do administrador. Caso a transferência falhe e o servidor principal continue fora
do ar, ele aguarda o tempo especificado no segundo campo (2 horas) e tenta novamente.
O terceiro campo indica o tempo máximo que ele pode responder pelo domínio, antes que
as informações expirem (7 dias, tempo mais do que suficiente para você arrumar o servidor principal ;) e o tempo mínimo antes de devolver o domínio para o servidor principal quando ele retornar (1 dia). Estes valores são padrão, por isso não existem muitos motivos para alterá-los. A
transferência do domínio para o DNS secundário é sempre uma operação demorada, por causa do cache feito pelos diversos servidores DNS espalhados pelo mundo: demora de um a dois dias até que todos atualizem suas tabelas de endereços. A principal prioridade deve ser evitar que o servidor principal fique indisponível em primeiro lugar.

Opções utilizadas:

MX - Mail Exchange: Esta entrada permite que o named identifique o seu servidor de correio eletrônico. O número antes do nome do servidor é referente ao índice de prioridade, ou seja, a mensagem será direcionada sempre para o servidor com menor índice e caso ele não responda vai para o seguinte e assim por diante.
CNAME - Esta entrada diz ao named que o alias - no caso o webmail - é um apelido para
um dado servidor ou domínio. Em nosso arquivo é o "pop3". Ou seja, o apelido "webmail"
irá apontar para o mesmo local do "pop3" que é o host 192.168.0.5.
A - Address: com esta opção especificamos um endereço válido na área de atuação do
servidor, podendo este ser um IP ou um domínio. Contudo,caso seja utilizado um domínio
é obrigatório colocar um ponto final após o nome.

Para resolução reversa de nomes:

vim /etc/bind/dominio/falconet/db.0.168.192

colocar o seguinte conteúdo:

$TTL 345600
@ IN SOA ns1.falconet.com.br. hostmaster.falconet.com.br. (
       2011022001 ; Serial
       28800; refresh, seconds
       7200; retry, seconds
       604800; expire, seconds
       86400 ) ; negative cache TTL, seconds

    NS ns1.falconet.com.br.
    NS ns2.falconet.com.br.

1      PTR    ns1.falconet.com.br.
254    PTR    ns2.falconet.com.br.
1      PTR    www.falconet.com.br.
     PTR    smtp.falconet.com.br.
     PTR    pop3.falconet.com.br.
1      PTR    maquina.falconet.com.br.

Onde PTR aponta o último octeto do endereço IP para o nome do reverso.

Após a criação da zona e configuração dos arquivos db dos domínios configurados neste
servidor, devemos informar à própria máquina que ela é responsável por este domínio.
Para isso faça:

vim /etc/resolv.conf

colocar o seguinte conteúdo:
search falconet.com.br
nameserver 127.0.0.1

Bom, com estas configurações é possível utilizarmos este servidor DNS para responder perguntas sobre o domínio configurado, no nosso exemplo o domínio é o falconet.com.br.
Para testar o funcionamento correto do servidor DNS podemos utilizar três comandos: nslookup, dig e host.
O comando host é mais atual e mais simples de ser trabalhado. Para instalá-lo basta
executar:
apt-get install host
Para utilizá-lo basta digitar:
host -a falconet.com.br
o resultado deve ser a apresentação detalhada das informações do domínio pesquisado.
host 192.168.0.10
o resultado deve ser a apresentação das informações de reverso do IP pesquisado.
dig ns falconet.com.br
o resultado deve ser a apresentação das informações do domínio pesquisado.

Caso houver máquinas que utilizem este servidor para navegação na Internet, por exemplo, onde há necessidade de resolução de nomes de outros domínios, devemos informar ao servidor para quem ele deve “perguntar sobre domínios não cadastrados nele mesmo, em caso da necessidade de alguma consulta de cliente, por exemplo. Esta configuração é conhecida como “forwarders”, e deve ser realizada da seguinte forma:
vim /etc/bind/named.conf.options
descomentar as linhas do forwarders e acrescentar os IPs do servidor DNS do provedor
do seu link, por exemplo:
options {
            forwarders {
                       172.16.0.1;
                       };
         }
OBS: uma configuração importante que devemos considerar é o fato de apenas permitirmos que máquinas da nossa rede interna, por exemplo, utilizem nosso servidor DNS para fazer consultas na Internet. Desta forma evitamos que qualquer outro usuário da Internet utilize dos nossos recursos de link e máquina para navegar. A configuração é a seguinte:
OBS: uma configuração importante que devemos considerar é o fato de apenas
permitirmos que máquinas da nossa rede interna, por exemplo, utilizem nosso servidor
DNS para fazer consultas na Internet. Desta forma evitamos que qualquer outro usuário
da Internet utilize dos nossos recursos de link e máquina para navegar. A configuração é a
seguinte:
vi /etc/bind/named.conf.options
// lista para permitir consultas recursivas
acl clientes {
               localhost;
               172.16.0.0/16;
             };
options {
              forwarders {
                         200.192.240.40;
                          200.192.240.5;
                         };
         allow-recursion { clientes; };
      };


SLAVE

Os pacotes instalados são os mesmos do DNS Master. Para configurarmos o DNS Slave
devemos inicialmente criar os diretórios onde os arquivos de configuração do domínio
serão copiados e acertar os direitos de acesso para segurança do serviço e servidor, bem
como para seu funcionamento correto.

mkdir -p /etc/bind/dominio/falconet
chown bind.bind /etc/bind/dominio/falconet

OBS: Utilizamos chown root.bind no master e chown bind.bind nas permissões do diretório dos arquivos do domínio por motivos de segurança no master e para permitir que o deamon bind possa escrever no slave. 

Após estas configurações devemos informar ao DNS que ele será responsável por
responder pelo novo domínio da seguinte forma:
vi /etc/bind/named.conf.local

incluir as seguintes linhas:

// DNS
zone "falconet.com.br" IN {
type slave;
file "/etc/bind/dominio/falconet/db.falconet.com.br";
masters { 192.168.0.1; };
allow-transfer { 192.168.2.1; };
};
// DNS Reverso
zone "1-2.0.168.192.in-addr.arpa" IN {
type slave;
file "/etc/bind/dominio/falconet/db.2.168.192";
masters { 192.168.0.1; };
allow-transfer { 192.168.2.1; };
};

Esta configuração está supondo que o IP do nosso servidor master é 192.168.0.1.
No arquivo /etc/bind/named.conf.local do Master também incluir as linhas allowtransfer
{ 192.168.0.11 }; (supondo que o IP do slave seja 192.168.0.11) na configuração da zona normal e reversa. Desta forma estaremos informando aos servidores que somente aceitem atualizações e informações destes servidores para este domínio.

Após realizar as configurações acima, basta reiniciar o serviço do servidor e verificar se o
arquivo db.falconet.com.br foi criado corretamente no diretório informado. Para testar o
funcionamento correto do serviço basta acrescentar este domínio no /etc/resolv.conf e

utilizar os comandos nslookup ou host.

Squid - Configuração


Parando o Squid
# /etc/init.d/squid stop

Acessando o arquivo de configuração.

/etc/squid# vim squid.conf
http_port 3128
cache_mem 1536 MB
cache_dir ufs /var/spool/squid 2048 16 256
cache_access_log /var/log/squid/access.log
maximum_object_size 12288 KB
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
visible_hostname netserver
ftp_passive on
no_cache deny QUERY
cache_store_log none
#################
acl all src all

### Autenticacao NCSA
auth_param basic children 5
auth_param basic realm - Controle de Acesso a REDE MUNDIAL DE COMPUTADORES
auth_param basic credentialsttl 2 hour
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/acesso.pwd

acl rede_interna proxy_auth REQUIRED
acl palavras_proibidas url_regex -i "/etc/squid/palavras_proibidas.txt"
acl palavras_liberadas url_regex -i "/etc/squid/palavras_liberadas.txt"
acl usuarios_liberados proxy_auth_regex -i "/etc/squid/usuarios_liberados.txt"

http_access allow usuarios_liberados
http_access deny palavras_proibidas
http_access allow palavras_liberadas
http_access allow rede_interna

Criado o arquivo "acesso.pwd" onde será guardado os usuários
# touch acesso.pwd

Criando o arquivo "palavras_proibidas.txt", insira neste arquivos as palavras proibidas, uma em cada linha.
# touch palavras_proibidas.txt

Criando o arquivo "palavras_permitidas.txt", insira neste arquivos as palavras permitidas uma em cada linha.
# touch palavras_permitidas.txt

Criando o arquivo "usuarios_liberados.txt", onde os usuários desta lista não será bloqueado nada.
# touch usuarios_liberados.txt

Criando os diretórios de Cache
# squid -z
2014/11/03 09:56:27| Creating Swap Directories

Criando o usuarios.
# htpasswd /etc/squid/acesso.pwd teste

Ligando o  Squid
# /etc/init.d/squid start

sábado, 1 de novembro de 2014

SCP

O SCP (Segure Copy), é uma outra funcionalidade boa do openssh-clients, com ele você pode estar
fazendo cópias seguras de arquivos e diretórios remotamente, veja a seguir os comandos usados:

Cópia de Arquivos do Remoto para o Local
#scp usuario@IP:/diretorioremoto/arquivo diretoriolocal
#scp bob@192.168.1.100:/tmp/aula.doc /home/bob
Conecta-se como usuário bob ao servidor ssh IP 192.168.1.100 no diretório /tmp/ e faz o download
do arquivo aula.doc para o seu diretório /home/bob.

Cópia de Arquivos do Local para o Remoto
#scp arquivo usuario@IP: diretorioremoto
#scp rwindows.doc bob@192.168.1.100:/tmp
Conecta-se como usuario bob ao servidor ssh 192.168.1.100 enviando ou fazendo o upload do
arquivo rwindows.doc para o diretorio /tmp

Cópia de Diretório
#scp –r usuário@192.168.1.100:/diretorioremoto diretóriolocal
#scp -r bob@192.168.1.100:/tmp/ /tmp
Conecta-se como usuário bob ao servidor ssh IP 192.168.1.100 e cópia o diretório /tmp e toda sua
estrutura para o seu diretório /tmp.

#scp –r diretoriolocal/ ip:/diretórioremoto
#scp -r /tmp/ bob@192.168.1.100:/tmp
Conecta-se como usuário bob ao servidor ssh IP 192.168.1.100 e faz um upload do diretório /tmp/ e
toda sua estrura de diretorios para o diretório /tmp .

Instalação e configuração do SSH - Debian e Centos

O SSH é um programa para acesso remoto, que ao contrário do telnet tem uma conexão segura, ou
seja provem um canal de comunicação seguro entre duas máquinas ou hosts, difcultando o
compreendimento de programas de sniffing. Ele substitui o rlogin e rsh e implementa suporte ao secure shell protocol.

Pacotes necessários para a instalação do SSH:
  • openssh-x.x -> contém ssh-keygen, scp.
  • openssh-clients-x.x -> contém os clientes necessários para fazer conexões com servidores ssh.
  • openssh-server-x.x -> contém o servidor ssh.
Instalação no Debian
  • # apt-get install openssh
  • # apt-get install openssh-clients
  • # apt-get install openssh-server
Instalação CentOS
  • # rpm -ivh openssh-x.x -x.x-xx-i386.rpm
  • # rpm -ivh openssh-clients-x.x-x.x-xx.i386.rpm
  • # rpm -ivh openssh-server-x.x-x.x-xx.i386.rpm

Configurando o Servidor SSH

Primeiro vamos editar o arquivo de configuração do servidor que está /etc/ssh/ssh_config .
# vim /etc/ssh/ssh_config
PermitRootLogin no -> para que ninguém se log como root no meu servidor SSH
PermitEmptyPasswords no -> para não permitir criação de senhas vazias
PasswordAuthentication yes -> para habilitar autenticação de senhas
Obs: Para versões do openssh-server-3.8 editamos apenas a linha PasswordAuthentication.
Depois de editar o arquivo, vamos subir o daemon do servidor ssh.

No Debian
# service ssh restart
ou
# /etc/init.d/ssh restart

No CentoS
# service sshd restart


Configuração do Cliente SSH

Para ser cliente de um servidor ssh, você deve ter o pacote openssh-clients instalado, sem a
necessidade de se ter o daemon do sshd rodando ou mesmo o pacote do openssh-server. Veja os
comandos para se conectar num servidor ssh.
# ssh hostname 
-> conecta-se ao servidor ssh pelo nome de hostname, apenas como root.

# ssh raylinux.com
# ssh usuario@hostname
-> conecta-se ao hostname do servidor ssh com um determinado usuário.

# ssh bob@raylinux.com
# ssh usuario@ip
-> conecta-se ao IP do servidor ssh com um determinado usuario.
# ssh bob@192.168.1.100

A primeira vez que se conectar a um servidor ssh ele irá perguntar se você deseja continuar, está
pergunta é feito apenas uma vez, pois ele irá fazer o fingerprint, ou seja a troca de chaves para
reconhecimento. Da próxima veze que tentar se conectar novamente ele não irá mais fazer está
pergunta.

sexta-feira, 24 de outubro de 2014

STORMFISH

Erro ao instalar os módulos de segurança dos bancos.

A solução é simples e prática. Baixe o aplicativo Stormfish no link oficial abaixo:

https://www14.bancobrasil.com.br/sf/stormfish.exe
https://si-plg.sicred.com.br/stormfish.exe

Feche todos os seus navegadores, instale o Stormfish.
Basta abrir o seu navegador e o internet banking voltará a funcionar normalmente.

terça-feira, 23 de setembro de 2014

Erro - Virtual Box no Linux - Kernel driver not installed (rc=-1908)

 Erro

Kernel driver not installed (rc=-1908)

The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing

'/etc/init.d/vboxdrv setup'

as root. If it is available in your distribution, you should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary.

First install the kernel headers and build tools.
$ sudo apt-get install build-essential module-assistant 
$ sudo m-a prepare
 
And now compile virtualbox kernel driver with the commanded as reported by the error message earlier.
$ sudo /etc/init.d/vboxdrv setup
 
The compilation should go fine and finish within a few minutes with an output similar to what is shown below.
$ sudo /etc/init.d/vboxdrv setup
Stopping VirtualBox kernel modules ...done.
Recompiling VirtualBox kernel modules ...done.
Starting VirtualBox kernel modules ...done.
 
Now run Virtualbox again and it should run fine.

Fonte: www.binarytides.com

terça-feira, 16 de setembro de 2014

Shell script: Estruturas de repetição


Estruturas de repetição: Utilizadas quando se deseja realizar uma  atividade de forma iterativa
» BASH script possui 3 estruturas de repetição:

  • for
  • while
  • until

O laço for
Interage sobre um lista de valores

Exemplo (exercicioFor1.sh)::
#!/bin/bash
for i in 1 2 3 4 5; do
   echo “Valor do i: $i “
done

Exemplo (exercicioFor2.sh):
#!/bin/bash
for i in $(seq 1 2 20); do
   echo “Valor do i: $i “
done

Exemplo (exercicioFor4.sh):
#!/bin/bash
for (( c=1; c<=5; c++ )); do
    echo “Valor do c: $c “
done

Exemplo (exercicioFor3.sh):
#!/bin/bash
for i in {1..5}; do
   echo “Valor do i: $i “
done

O laço while
Permite executar uma lista comandos iterativamente, desde que uma pré­condição seja verdadeira

Exemplo (exercicioWhile.sh):
#!/bin/bash
# Este script abre 3 terminais.
i=”0″
while [ $i ­lt 3 ]; do
   xterm &
i=$[$i+1]
done

Exemplo (exercicioWhile2.sh):
#!/bin/bash
# Copia os arquivos de um diretório para outro, de hora em hora
DIRFONTE=/home/aluno/adsis/aulas77­78
DIRDESTINO=/tmp
while true; do
    DATE=`date +%Y%m%d`
HOUR=`date +%H`
mkdir $DIRDESTINO/”$DATE”
while [ $HOUR ­ne "00" ]; do
        DESTDIR=$DIRDESTINO/”$DATE”/”$HOUR”
mkdir “$DESTDIR”
mv $DIRFONTE/*.dat “$DESTDIR”/
sleep 3600
HOUR=`date +%H`
    done
done

O laço until
Semelhante ao while, contudo, testa a condição no início da iteração

Exemplo(exercicioUntil1.sh)
#!/bin/bash
VAR=0
until [ $VAR ­eq 10 ]
do
    echo $VAR
VAR=$(( $VAR + 1 ))
done

Fonte: http://m.smartdicas.com

FIREWALL - COMPARTILHANDO A INTERNET COM TUDO LIBERADO

Firewall Netfilter/iptables escrito em Shell Script.

# FIREWALL -  COMPARTILHANDO A INTERNET COM TUDO LIBERADO #

#!/bin/bash
echo " Ativa roteamento de pacotes........................... [ OK ]"
echo 1 > /proc/sys/net/ipv4/ip_forward

echo " Declarando variaveis.................................. [ OK ]"
IPT="/sbin/iptables"
EXT_IF="eth0"                       # Interface Internet
INT_IF="eth1"                        # Interface Rede Local
EXT_IP="192.168.100.220"   # IP da Internet
INT_IP="10.1.1.1"                  # IP da Rede Local
INT_NET="10.1.1.0/255.255.255.0"             #  Range da Rede Local
EXT_NET="192.168.100.0/255.255.255.0"  #  Range do IP da Internet

echo " Limpando regras....................................... [ OK ]."
$IPT -F -v
$IPT -F -t nat -v
$IPT -F -t mangle -v
$IPT -X -v
$IPT -X -t nat -v
$IPT -X -t mangle -v
$IPT -Z -v
$IPT -Z -t nat -v
$IPT -Z -t mangle -v


echo " Definindo Regras Padrao............................... [ OK ]"
$IPT -P INPUT ACCEPT -v
$IPT -P FORWARD ACCEPT -v
$IPT -P OUTPUT ACCEPT -v

echo " Libera tudo........................................... [ OK ]"
$IPT -A INPUT -i $INT_IF -j ACCEPT -v
$IPT -A FORWARD -i $INT_IF -j ACCEPT -v

$IPT -A INPUT -i $EXT_IF -j ACCEPT -v
$IPT -A FORWARD -i $EXT_IF -j ACCEPT -v

echo " Compartilha a internet com a Rede Interna............. [ OK ] "
$IPT -t nat -A POSTROUTING -o $EXT_IF -s $INT_NET -j SNAT --to-source $EXT_IP -v
echo " Pronto "