artigo copiado em 17/02/2003 de: http://www.valedolinux.com.br/modules.php?name=Encyclopedia&op=content&tid=9 Vpn Com Vtun Guia pratico de como se estabelecer uma vpn utilizando o software vtun com tuneis encriptados ssh, Utilizando compactacao e traffic shape. Este documento foi escrito por tiago N. Sampaio (Mega_Force ) tiago_ns@ig.com.br tnsampaio@planae.com.br Para o portal linuxbauru www.linuxbauru.com.br, mas pode ser copiado livremente, desde que sejam mantidas todas as linhas acima. 1 - O que e necessario. Faz-se necessario conhecimentos basicos de linux (eu fiz em linux, mas nada o impede de fazer em algum BSD ou solaris), roteamento e tcp/ip. 2 - Baixando o vtun. O vtun pode ser baixado em http://vtun.sourceforge.net , mas vc tambem precisa da biblioteca lzo e do driver tun generico. O driver tun/tap pode ser baixado em vtun.sourceforge.net/tun , lzo nem me pergunte. Vide freshmeat. 2 - Instalação A instalação do vtun se faz no modo de qualquer instalação com fontes (morte ao rpm!!!!!). mesmo a biblioteca lzo, apenas o dirver tun/tap que precisa que o .config do seu kernel esteja configurado, e para isso vc tem que ter os fontes do kernel instalados. basta vc dar um make config e dando enter, depois make dep e make clean. 3 - Configuração Toda a configuração do vtun fica em /etc/vtund.conf veja uma parte desse arquivo: options { port 5000; # Listen on this port. # Path to various programs ppp /usr/sbin/pppd; ifconfig /sbin/ifconfig; route /sbin/route; firewall /sbin/ipchains; } # Ethernet example. Session 'lion'. lion { pass tiago; # Password type ether; # Ethernet tunnel device tap0; # Device tap0 comp lzo:1; # LZO compression level 1 encr yes; # Encryption stat yes; # Log connection statistic keepalive yes; # Keep connection alive speed 256:128; up { # Connection is Up # Assign IP address ifconfig "%% 10.1.0.1 netmask 255.255.255.0"; # Add route to net 10.2.0.0/24 route "add -net 10.2.0.0 netmask 255.255.255.0 gw 10.1.0.2"; # Enable masquerading for net 10.2.0.0.0/24 firewall "-A forward -s 10.2.0.0/24 -d 0.0.0.0/0 -j MASQ"; }; down { # Connection is Down # Shutdown tap device. ifconfig "%% down"; # Disable masquerading for net 10.2.0.0.0/24 firewall "-D forward -s 10.2.0.0/24 -d 0.0.0.0/0 -j MASQ"; }; } Veja todas as seçoes começam com nome { ... }; algumas coisas que vc precisa saber: pass tiago; Essa sera a senha usada para a conexão. type ether; especifica o tipo de conexão, no nosso caso ethernet. device tap0; sera o dispositivo virtual usado para a comunicação. comp lzo:1; define que será usada compressão lzo nivel 1. encr yes; Define que a seção sera encriptada. speed 256:128; Esta e uma das mais importantes, pois nessa linha vc pode fazer o utilissimo trafic shape. o 256 e a velocidade de download e 128 upload. O vtun tem um sistema que eu acho muito bom que e o up e o down. Ele executa o up quando a conexão e estabelecida, e o down quando ela e finalizada. up{ ifconfig "%% 10.1.0.1 netmask 255.255.255.0"; Aqui ele seta um ip para tap0 route "add -net 10.2.0.0 netmask 255.255.255.0 gw 10.1.0.2"; aki ele adiciona a rota para a rede 10.2.0.0 com o gateway. firewall "-A forward -s 10.2.0.0/24 -d 0.0.0.0/0 -j MASQ"; Aki ele habilita pelo ipchains o ip forward e mascara a rede interna. } esse conf e do lado do server, agora do lado cliente. options { port 5000; # Connect to this port. timeout 60; # General timeout # Path to various programs ppp /usr/sbin/pppd; ifconfig /sbin/ifconfig; route /sbin/route; firewall /sbin/ipchains; } # Ethernet example. Session 'lion'. lion { pass tiago; # Password type ether; # Ethernet tunnel device tap0; # Device tap1 up { # Connection is Up # Assign IP address and netmask. ifconfig "%% 10.1.0.2 netmask 255.255.255.0"; }; down { # Connection is Down # Shutdown tap device ifconfig "%% down"; }; } Ele funciona no mesmo esquema do server. Para startar o vtun como server use #vtund -s ai ele ira esperar conexões na porta 5000 ( esta especificado no conf, mas pode ser qualquer outra). para se conectar a ele com um cliente utilize #vtund lion Ps: Eu utilizei a conexão lion, pois ja vem na configuração default do vtun. E ainda o modulo tun tem que estar carregado no server e cliente. #modprobe tun e pronto su vpn esta funcionando! Espero ter ajudado com esse simples texto, mas que ja pode ajudar vc a estabelecer uma vpn utilizando o vtun, mas aconselho a ler o manual do vtun e o faq pois eles me ajudaram muito. Para utikizar servers linux e estações windows ouvi dizer que vc ira precisar usar um server wins, e que o samba faz isso, mas ainda não testei e preciso muito disso, etão se vc conseguir me diga como fez por favor :-) Agradecimentos ao pessoal da Unsek ( unsekurity.virtualave.net ) fuspbr (www.fugsp.br) e rau-tu (www.rau-tu.unicamp.br) Até a Proxima. Bauru, 26/08/2001