# 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