Curitiba/PR Contato
Administração e Suporte em Ti

# Precisamos instalar o epel-release para atualizar os repositórios do Centos
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y

# Agora podemos instalar o OpenVPN
yum install openvpn -y

# Copiar o exemplo de configuração do arquivo server
cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn

# Edite o arquivo server.conf
vi /etc/openvpn/server.conf
# essas configurações são básicas:

port 1194
proto udp
dev tun
tun-mtu 1500
tun-mtu-extra 32

ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key 
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
server 192.168.150.0 255.255.255.0
ifconfig-pool-persist ipp.txt

push "route 192.168.0.0 255.255.255.0"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120

cipher AES-256-CBC
comp-lzo
max-clients 20
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
log         /var/log/openvpn.log
log-append  /var/log/openvpn.log
verb 3

# Instalar os pacotes para gerar os certificados RSA
yum install easy-rsa -y
mkdir -p /etc/openvpn/easy-rsa/keys

# copiar os arquivos de certificados para o diretório do OpeVPN
cp -rf /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa

# Editar o arquivo com os dados default para gerar os certificados
vi /etc/openvpn/easy-rsa/vars

export KEY_COUNTRY="BR"
export KEY_PROVINCE="PR"
export KEY_CITY="Curitiba"
export KEY_ORG="Organization Name"
export KEY_EMAIL="[email protected]"
export KEY_CN=post.example.com
export KEY_NAME=server
export KEY_OU=server

cp /etc/openvpn/easy-rsa/openssl-1.0.0.cnf /etc/openvpn/easy-rsa/openssl.cnf

# Agora vamos gerar os arquivos de certificado e a chave de validade do servidor
cd /etc/openvpn/easy-rsa
. ./vars
./clean-all
./build-ca
./build-key-server server
./build-dh
cd /etc/openvpn/easy-rsa/keys
cp dh2024.pem ca.crt server.crt server.key ../../

# Agora podemos gerar as chaves dos clientes que irão conectar…
cd /etc/openvpn/easy-rsa
./build-key nome-chave-do-cliente

# Ainda no servidor
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1

sysctl -p
service openvpn start
chkconfig openvpn on

# adicione uma regra para roteamento da conexão no firewall ex:
iptables -t nat -A POSTROUTING -o tun+ -j MASQUERADE

# Com as chaves dos clientes geradas e o openvpn instalado no equipamento do cliente,
# envie um arquivo compactado com as chaves (cliente.key, client.crt e ca.crt)
# a ser instalado normalmente na pasta: “C:\Program Files\OpenVPN\config”
# Se você for utilizar o OpenVPN para conexão para mais de um servidor, crie uma pasta
# com o nome do servidor após a pasta config para configurar cada conexão
# crie o arquivo cliente de conexão “cliente.ovpn” em cada pasta, se for o caso

client
dev                         tun
proto                       udp  # Se for usar IPV6 altere para udp6
remote			ip-do-servidor 1194
resolv-retry infinite
nobind
reneg-sec 0

persist-key
persist-tun
mute-replay-warnings
ca                          ca.crt
cert	                    cliente.crt
key	                    cliente.key
#tls-auth                    ta.key 1

# Para Linux:
#auth-user-pass              up
# Para Windows
# auth-user-pass

route-method exe
route-delay 2
cipher	                    AES-256-CBC
comp-lzo
verb                        1
mute                        3

ping 3
ping-restart 45
ping-timer-rem
resolv-retry infinite
auth-retry nointeract