Introdução
Configuração de uma 
Virtual Private Network (VPN) simples, usando criptografia com chaves estáticas.
"Rede Privada Virtual é uma rede de comunicações privada normalmente utilizada por uma empresa, ou um conjunto de empresas e/ou instituições, construída em cima de uma rede de comunicações pública (como por exemplo, a internet). O tráfego de dados é levado pela rede pública utilizando protocolos padrão, não necessariamente seguros.
VPNs seguras usam protocolos de criptografia por tunelamento que fornecem a confidencialidade, autenticação e integridade necessárias para garantir a privacidade das comunicações requeridas. Quando adequadamente implementados, estes protocolos podem assegurar comunicações seguras através de redes inseguras."
Fonte: 
Virtual Private Network – Wikipédia, a enciclopédia livre
Configuração do servidor
No servidor:
Instale o 
OpenVPN com o comando (se for uma distribuição baseada no 
Debian):
# apt-get install openvpn
Gerar a chave criptográfica:
# openvpn --genkey --secret /etc/openvpn/key
"Key" é o nome da chave, e pode receber outro nome.
Com seu editor de textos, crie um arquivo de configuração do servidor, o nome é de sua preferência, é obrigatório colocar a extensão ".conf", o OpenVPN irá ler os arquivos ".conf" dentro da pasta "/etc/openvpn":
# vim /etc/openvpn/servidor.conf
No arquivo, coloque:
dev tun
ifconfig 10.0.0.1 10.0.0.2
secret /etc/openvpn/key
port 5000
comp-lzo
verb 4
keepalive 10 120
persist-key
persist-tun
float
Salve e feche o arquivo.
Explicação:
-  dev tun :: habilita o suporte ao driver TUN/TAP.
-  ifconfig :: configura o IP do servidor (10.0.0.1) e o IP do cliente (10.0.0.2).
-  secret :: chama a chave criptografada passando a local dela.
-  verb :: nível para depuração de erros.
-  keepalive :: envia um ping a cada 10 segundos sem atividade na VPN, e reinicia a VPN depois de 120 segundo sem resposta.
-  persist-key :: mantém as chaves carregadas, quando a VPN é reestabelecida depois de uma desconexão.
-  persist-tun :: mantém a interface TUN aberta, quando a VPN é restabelecida depois de uma desconexão.
-  float :: permite que o túnel continue aberto mesmo que o IP da outra máquina mude.
Inicie o OpenVPN:
# /etc/init.d/openvpn start
Verifique se foi criada uma nova interface de rede.
Ex.: tun0
# ifconfig
Configuração do cliente
Primeiro, é preciso copiar para o cliente a chave criptográfica criada no servidor, para isso, existem diversas formas. 
Vou utilizar o comando 
scp que permite copiar arquivos de uma máquina remota. Para utilizar o 
scp, a máquina que possui o arquivo que será copiado precisa ter o servidor SSH instalado e funcionando.
Comando:
# scp root@IP_do_servidor:/etc/openvpn/chave /etc/openvpn/chave
Explicando o comando:
-  scp :: programa que faz a cópia do arquivo.
-  root :: usuário do servidor.
-  : :: usado para separar o IP do caminho do arquivo.
-  /etc/open/chave :: caminho completo do arquivo a ser copiado.
-  /etc/openvpn/chave :: arquivo local que receberá o conteúdo do arquivo copiado.
Crie um arquivo para o cliente em "/etc/openvpn/". Exemplo:
# vim /etc/openvpn/cliente.conf
Coloque no arquivo:
dev tun
remote "IP_do_servidor_vpn_sem_aspas"
ifconfig 10.0.0.2 10.0.0.1
secret /etc/openvpn/key
port 5000
comp-lzo
verb 4
keepalive 10 120
persist-key
persist-tun
float
Salve e feche o arquivo.
Inicie o OpenVPN:
# /etc/init.d/openvpn start
Verifique se foi criada uma nova interface de rede.
Ex.: tun0
# ifconfig
Teste a conectividade
No cliente, ping o servidor:
# ping 10.0.0.1
No servidor, ping o cliente:
# ping 10.0.0.2
Com essa configuração, quando as máquinas servidor e cliente reiniciarem, a VPN será criada automaticamente. 
* Lembre-se de mudar o IP na opção "remote" no cliente se o IP do servidor mudar.
Pronto.