OpenVPN + Bridge
Configuração do OpenVPN em modo bridge e autenticação por par de chaves, onde será criada uma C.A. no próprio servidor e os clientes que se autenticarem neste ganharão um ip na interface tap válido na rede interna, com seu gateway e DNS caso possua.
Parte 3: Configuração da OpenVPN (servidor)
Agora crie o diretório de configuração da OpenVPN, digite no terminal:
# mkdir /etc/openvpn
Se ocorrer o erro da tela dizendo que o diretório já existe, não se preocupe.
Copie o certificado da CA, chave e certificado do servidor + protocolo DH gerados anteriormente para dentro do diretório /etc/openvpn:
# cp -p ca.crt /etc/openvpn
# cp -p server.key /etc/openvpn
# cp -p server.crt /etc/openvpn
# cp -p dh1024.pem /etc/openvpn
E vá para o diretório da OpenVPN:
# cd /etc/openvpn
Ajuste as permissões da chave do servidor para 600:
# chmod 600 server.key
E crie os seguintes links simbólicos:
# ln -s /etc/ssl/ca ./
# ln -s /usr/share/ssl/openssl.cnf ./
Agora criaremos o arquivo de configuração do servidor, com seu editor preferido crie o arquivo server.conf:
# vim server.conf
E inclua as seguintes linhas:
Salve o arquivo e saia.
# mkdir /etc/openvpn
Se ocorrer o erro da tela dizendo que o diretório já existe, não se preocupe.
Copie o certificado da CA, chave e certificado do servidor + protocolo DH gerados anteriormente para dentro do diretório /etc/openvpn:
# cp -p ca.crt /etc/openvpn
# cp -p server.key /etc/openvpn
# cp -p server.crt /etc/openvpn
# cp -p dh1024.pem /etc/openvpn
E vá para o diretório da OpenVPN:
# cd /etc/openvpn
Ajuste as permissões da chave do servidor para 600:
# chmod 600 server.key
E crie os seguintes links simbólicos:
# ln -s /etc/ssl/ca ./
# ln -s /usr/share/ssl/openssl.cnf ./
Agora criaremos o arquivo de configuração do servidor, com seu editor preferido crie o arquivo server.conf:
# vim server.conf
E inclua as seguintes linhas:
########server.conf##################
tls-server
port 1194 #não se esqueça de liberar esta porta no firewall
proto tcp
dev tap0
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem
ifconfig-pool-persist ipp.txt
#server-bridge xxx.xxx.xxx.xxx(ip do servidor) xxx.xxx.xxx.xxx(máscara da rede) xxx.xxx.xxx.xxx(ip inicial da rede) xxx.xxx.xxx.xxx(ip final da rede) (Suponhamos que sua rede seja 192.168.0.0/24 e tiver um range 192.168.0.30 até 192.168.0.200 livre e o ip do seu servidor 192.168.0.1 com máscara 255.255.255.0, utilize o exemplo abaixo)
server-bridge 192.168.0.1 255.255.255.0 192.168.0.30 192.168.0.200
push "route-gateway (ip do gateway da sua rede)"
push "route (ip do server mail) (mascara do server) (ip do gateway da rede)"
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
status /var/log/openvpn-status.log
log /var/log/openvpn.log
log-append /var/log/openvpn.log
verb 4
mute 20
tls-timeout 10
crl-verify /etc/ssl/ca/crl.pem
tls-server
port 1194 #não se esqueça de liberar esta porta no firewall
proto tcp
dev tap0
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem
ifconfig-pool-persist ipp.txt
#server-bridge xxx.xxx.xxx.xxx(ip do servidor) xxx.xxx.xxx.xxx(máscara da rede) xxx.xxx.xxx.xxx(ip inicial da rede) xxx.xxx.xxx.xxx(ip final da rede) (Suponhamos que sua rede seja 192.168.0.0/24 e tiver um range 192.168.0.30 até 192.168.0.200 livre e o ip do seu servidor 192.168.0.1 com máscara 255.255.255.0, utilize o exemplo abaixo)
server-bridge 192.168.0.1 255.255.255.0 192.168.0.30 192.168.0.200
push "route-gateway (ip do gateway da sua rede)"
push "route (ip do server mail) (mascara do server) (ip do gateway da rede)"
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
status /var/log/openvpn-status.log
log /var/log/openvpn.log
log-append /var/log/openvpn.log
verb 4
mute 20
tls-timeout 10
crl-verify /etc/ssl/ca/crl.pem
Salve o arquivo e saia.
Vou testar logo que possa.
Parabéns!