Para montar uma VPN (Virtual Private Network) Site to Site em Linux iremos utilizar o pacote openvpn
:: Cenário
Matriz:
Rede.: 192.168.0.0/24
GW...: 192.168.0.254
Filial:
Rede.: 192.168.1.0/24
GW...: 192.168.1.254
(192.168.0.254) Matriz (172.16.0.1) <----> Internet <----> (172.16.0.2) Filial (192.168.1.254)
:: Instalação
# apt-get install openvpn openssl lzop
:: Configuração MATRIZ
Iremos criar os diretórios e arquivos necessários para a configuração da Matriz (Servidor)
--> Criando o diretório necessário
# mkdir /etc/vpn-server
--> copiando arquivo de Sample para Iniciar a VPN
# cp /usr/share/doc/openvpn/examples/sample-config-files/openvpn-startup.sh /etc/vpn-server
Obs.: Existem outros arquivos neste diretório que podem ser utilizados como base de configuração
--> Criando o arquivo secret.key (Chave Criptografia)
# openvpn --genkey --secret /etc/vpn-server/static.key
--> Criando arquivo de configuração para o server
# cd /etc/vpn-server
# vim server.conf
------ Conteúdo Arquivo server.conf ------
# nome do device
dev tun
# IPs do tunnel ifconfig <matriz> <filial>
ifconfig 172.16.0.1 172.16.0.2
# diretorio de configuracao
cd /etc/vpn-server
# Chave Criptografia
secret static.key
# Porta de Comunicacao - Padrão 1194
port 50321
# Comprensao
comp-lzo
# Usuario e grupo utilizado
user nobody
group nogroup
# Manter conexão com ping
ping 10
# Opcoes de Log
status /var/log/openvpn/status.log
log-append /var/log/openvpn/server.log
verb 3
mute 20
------ Final Arquivo server.conf ------
--> Alterando o arquivo openvpn-startup.sh
# vim openvpn-startup.sh
------ Conteúdo Arquivo openvpn-startup.sh ------
[...]
dir=/etc/vpn-server
[...]
modprobe tun
[...]
openvpn --cd $dir --daemon --config server.conf
[...]
route add 192.168.1.0/24 gw 172.16.0.2
------ Final Arquivo openvpn-startup.sh ------
--> Iniciando o Servidor
# /etc/vpn-server/openvpn-startup.sh
--> Verifique se a Interface tun está ok
# ifconfig
tun0 Link encap:Não Especificado Endereço de HW 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet end.: 172.16.0.1 P-a-P:172.16.0.2 Masc:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Métrica:1
RX packets:59753 errors:0 dropped:0 overruns:0 frame:0
TX packets:388188 errors:0 dropped:0 overruns:0 carrier:0
colisões:0 txqueuelen:100
RX bytes:4770589 (4.5 MiB) TX bytes:201431331 (192.0 MiB)
:: Configuração FILIAL
Iremos criar os diretórios e arquivos necessários para a configuração da Filial(Cliente)
--> Criando o diretório necessário
# mkdir /etc/vpn-client
--> copiando arquivo de Sample para Iniciar a VPN
# cp /usr/share/doc/openvpn/examples/sample-config-files/openvpn-startup.sh /etc/vpn-client
--> Copie o arquivo secret.key do Servidor para o Client
Obs.: Utilize o WinSCP ou FTP
--> Criando arquivo de configuração para o client
# cd /etc/vpn-client
# vim client.conf
------ Conteúdo Arquivo client.conf ------
# nome do device
dev tun
# IPs do tunnel ifconfig <filial> <matriz>
ifconfig 172.16.0.2 172.16.0.1
# IP Quente do Servidor para conexão
remote <ip-servidor>
# diretorio de configuracao
cd /etc/vpn-client
# Chave Criptografia
secret static.key
# Porta de Comunicacao - Padrão 1194
port 50321
# Comprensao
comp-lzo
# Usuario e grupo utilizado
user nobody
group nogroup
# Manter conexão e tunel
ping 10
persist-tun
persist-key
# Opcoes de Log
status /var/log/openvpn/status.log
log-append /var/log/openvpn/client.log
verb 3
------ Final Arquivo server.conf ------
--> Alterando o arquivo openvpn-startup.sh
# vim openvpn-startup.sh
------ Conteúdo Arquivo openvpn-startup.sh ------
[...]
dir=/etc/vpn-client
[...]
modprobe tun
[...]
openvpn --cd $dir --daemon --config client.conf
[...]
route add 192.168.0.0/24 gw 172.16.0.1
------ Final Arquivo openvpn-startup.sh ------
--> Iniciando o Client
# /etc/vpn-client/openvpn-startup.sh
--> Verifique se a Interface tun está ok
# ifconfig
tun0 Link encap:Não Especificado Endereço de HW 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet end.: 172.16.0.2 P-a-P:172.16.0.1 Masc:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Métrica:1
RX packets:103429 errors:0 dropped:0 overruns:0 frame:0
TX packets:64598 errors:0 dropped:0 overruns:0 carrier:0
colisões:0 txqueuelen:100
RX bytes:110207565 (105.1 MiB) TX bytes:5053226 (4.8 MiB)
:: Testes
Server
Ping na interface de roteamento do Client: ping 172.16.0.2
Ping na interface de um Cliente Interno: ping 192.168.1.10
Client
Ping na interface de roteamento do Server: ping 172.16.0.1
Ping na interface de um client Interno: ping 192.168.0.10
Ok. Temos uma VPN Site to Site funfando legal. Não esqueça de configurar os Firewall através do iptables
terça-feira, 18 de janeiro de 2011
sexta-feira, 14 de janeiro de 2011
SO para Terminal Burro (Linux)
Um certo dia precisamos montar um SO Linux apenas para realizar a conexão com um servidor
de Terminal Service. Após dias de pesquisa e teste conseguimos encontrar uma solução.
Para a instalação do SO Linux foi utilizado o Tiny Core.
:: Obtendo a ISO do SO
Acesse o site http://http://www.tinycorelinux.com encontre o link para Downloads e baixe a
versão mais recente do SO. Existem também um link para o How To de instalação no site.
:: Gerando Imagem do SO no Pendrive
Para gravar a imagem em um Pendrive use o utilitário Universal-USB-Installer. Este programa
encontrado em várias sites de download.
Após sua execução ele é bem intuitivo. Não se esqueça marcar a Distribuição do Linux que
neste caso é "TinyCore"
:: Boot pelo Pendrive
Com o pendrive pronto, coloque no computador/notebook e configure o boot para iniciar pela
USB. Em alguns segundos o Kernel do TinyCore será carregado.
:: Instalação no HD
Precisamos instalar 2 pacotes: cfdisk.tcz e grub-0.97-splash.tcz. Para isso
1) Botão Contrário > SystemTools > AppBrowser
2) Clique no botão "Connect"
3) Encontre o pacote na lista, selecione e clique em GO
4) Repita o processo com os pacotes necessários;
Obs.: Caso precise trocar o IP: Botão Contrário > SystemTools > ControlPanel > Botão Network
:: Instalado os pacotes vamos realizar a cópia dos arquivos necessários para o boot pelo HD
1) Botão contrário > SystemTools > Terminal
2) Digite os seguintes comandos
# sudo su
:: Verifique qual o dispositivo correto
# fdisk -l
:: Crie a(s) partição(ões) necessária(s)
# cfdisk /dev/sda
:: Formate a partição
# mkfs.ext3 /dev/sda1
:: Reconstrua o arquivo fstab para montagem das partições
# rebuildfstab
:: Monte a paritição
# mount /mnt/sda1
:: Criando diretórios necessários
# mkdir -p /mnt/sda1/boot/grub /mnt/sda1/tce
:: Copiando arquivos necessários (Pendrive para HD)
# cp -p /mnt/sdb1/boot/* /mnt/sda1/boot
:: Criando arquivo de backupt & restore
# touch /mnt/sda1/tce/mydata.tgz
:: Instalando o GRUB
# cp -p /usr/lib/grub/i386-pc/* /mnt/sda1/boot/grub/
:: Crie o arquivo menu.lst e inclua o seguinte conteúdo
# vi /mnt/sda1/boot/grub/menu.lst
default 0
timeout 5
title Terminal Remoto
kernel /boot/bzImage quiet home=/dev/sda1 opt=/dev/sda1
initrd /boot/tinycore.gz
:: Instale o grub (Fique atento com as mensagens de erro)
# grub
root (hd0,0)
setup (hd0)
quit
:: Testando o BOOT
# sudo reboot
Obs.: Remova o Pendrive
:: Instalando o Remote Desktop
1) Botão Contrário > SystemTools > AppBrowser
2) Clique no botão "Connect"
3) Encontre o pacote "rdesktop.tcz" na lista, selecione e clique em GO
:: Concectando via RDesktop
1) Abra um terminal e digite a seguinte linha de comando
# rdesktop -a 16 -u <usuario> -d <dominio> -f -z <ipServidor>
:: Criando atalho a wbar
1) Carregue um terminal
# cd /home/tc
2) Crie o arquivo wbar com o seguinte conteúdo
# vi wbar.lst
i: /home/tc/remote-icon.png
t: RemoteApp
c: exec rdesktop -a 16 -u <usuario> -d <dominio> -f -z <ipServidor>
3) Edite o arquivo /home/tc/.profile e inclua no final o seguinte comando
cat /home/tc/wbar.lst >> /usr/local/tce.icons
4) Copie o icone do atalho para /home/tc com o nome remote.png
:: Backup das Configurações
1) Botão Contrário > SystemTools > ControlPanel > Botão Backup
2) Clique em "Go"
Reinicie o terminal e veja se o atalho estará visível na wbar.
de Terminal Service. Após dias de pesquisa e teste conseguimos encontrar uma solução.
Para a instalação do SO Linux foi utilizado o Tiny Core.
:: Obtendo a ISO do SO
Acesse o site http://http://www.tinycorelinux.com encontre o link para Downloads e baixe a
versão mais recente do SO. Existem também um link para o How To de instalação no site.
:: Gerando Imagem do SO no Pendrive
Para gravar a imagem em um Pendrive use o utilitário Universal-USB-Installer. Este programa
encontrado em várias sites de download.
Após sua execução ele é bem intuitivo. Não se esqueça marcar a Distribuição do Linux que
neste caso é "TinyCore"
:: Boot pelo Pendrive
Com o pendrive pronto, coloque no computador/notebook e configure o boot para iniciar pela
USB. Em alguns segundos o Kernel do TinyCore será carregado.
:: Instalação no HD
Precisamos instalar 2 pacotes: cfdisk.tcz e grub-0.97-splash.tcz. Para isso
1) Botão Contrário > SystemTools > AppBrowser
2) Clique no botão "Connect"
3) Encontre o pacote na lista, selecione e clique em GO
4) Repita o processo com os pacotes necessários;
Obs.: Caso precise trocar o IP: Botão Contrário > SystemTools > ControlPanel > Botão Network
:: Instalado os pacotes vamos realizar a cópia dos arquivos necessários para o boot pelo HD
1) Botão contrário > SystemTools > Terminal
2) Digite os seguintes comandos
# sudo su
:: Verifique qual o dispositivo correto
# fdisk -l
:: Crie a(s) partição(ões) necessária(s)
# cfdisk /dev/sda
:: Formate a partição
# mkfs.ext3 /dev/sda1
:: Reconstrua o arquivo fstab para montagem das partições
# rebuildfstab
:: Monte a paritição
# mount /mnt/sda1
:: Criando diretórios necessários
# mkdir -p /mnt/sda1/boot/grub /mnt/sda1/tce
:: Copiando arquivos necessários (Pendrive para HD)
# cp -p /mnt/sdb1/boot/* /mnt/sda1/boot
:: Criando arquivo de backupt & restore
# touch /mnt/sda1/tce/mydata.tgz
:: Instalando o GRUB
# cp -p /usr/lib/grub/i386-pc/* /mnt/sda1/boot/grub/
:: Crie o arquivo menu.lst e inclua o seguinte conteúdo
# vi /mnt/sda1/boot/grub/menu.lst
default 0
timeout 5
title Terminal Remoto
kernel /boot/bzImage quiet home=/dev/sda1 opt=/dev/sda1
initrd /boot/tinycore.gz
:: Instale o grub (Fique atento com as mensagens de erro)
# grub
root (hd0,0)
setup (hd0)
quit
:: Testando o BOOT
# sudo reboot
Obs.: Remova o Pendrive
:: Instalando o Remote Desktop
1) Botão Contrário > SystemTools > AppBrowser
2) Clique no botão "Connect"
3) Encontre o pacote "rdesktop.tcz" na lista, selecione e clique em GO
:: Concectando via RDesktop
1) Abra um terminal e digite a seguinte linha de comando
# rdesktop -a 16 -u <usuario> -d <dominio> -f -z <ipServidor>
:: Criando atalho a wbar
1) Carregue um terminal
# cd /home/tc
2) Crie o arquivo wbar com o seguinte conteúdo
# vi wbar.lst
i: /home/tc/remote-icon.png
t: RemoteApp
c: exec rdesktop -a 16 -u <usuario> -d <dominio> -f -z <ipServidor>
3) Edite o arquivo /home/tc/.profile e inclua no final o seguinte comando
cat /home/tc/wbar.lst >> /usr/local/tce.icons
4) Copie o icone do atalho para /home/tc com o nome remote.png
:: Backup das Configurações
1) Botão Contrário > SystemTools > ControlPanel > Botão Backup
2) Clique em "Go"
Reinicie o terminal e veja se o atalho estará visível na wbar.
sexta-feira, 7 de janeiro de 2011
Linux - Resolução em Modo Texto
Caso você esteja utilizando o GRUB edit o arquivo menu.lst e altera a linha de boot
para alterar a resolução do vídeo
:: Para 1024x768
# vim /boot/grub/menu.lst
[...]
kernel /boot/vmlinuz-2.6.19.1 root=/dev/hda1 ro vga=791
[...]
:: Para 800x600
# vim /boot/grub/menu.lst
[...]
kernel /boot/vmlinuz-2.6.19.1 root=/dev/hda1 ro vga=788
[...]
para alterar a resolução do vídeo
:: Para 1024x768
# vim /boot/grub/menu.lst
[...]
kernel /boot/vmlinuz-2.6.19.1 root=/dev/hda1 ro vga=791
[...]
:: Para 800x600
# vim /boot/grub/menu.lst
[...]
kernel /boot/vmlinuz-2.6.19.1 root=/dev/hda1 ro vga=788
[...]
Assinar:
Postagens (Atom)