Servidor OpenVPN e configuração do cliente para openwrt

1

Eu tenho um roteador OpenWRT com interface WAN (eth1) e LAN (eth0).

Eu queria instalar um servidor openVPN neste roteador, para poder acessar do lado da WAN para o lado da LAN.

Minha LAN (eth0) tem um servidor DHCP configurado e tem um IP estático de 172.20.51.61/24. Quando conecto qualquer PC à rede local (eth0), ele obtém algum IP nesse intervalo de 172.20.51.100/24 a 172.20.51.150/24.

Instalei o openvpn easy rsa e outros utilitários necessários e também gerou chaves para o cliente e o servidor. Eu copiei essas chaves para o cliente também.

O que eu gostaria de ter é uma configuração e etapas muito básicas para ganhar alguma confiança, para estabelecer uma conexão de cliente para servidor.

Os blogs baseados em rede mencionam muita informação extra ... torna-se difícil para os iniciantes da rede seguirem.

Editar: o arquivo / etc / easy-rsa / vars possui o seguinte conteúdo.

export EASY_RSA="/etc/easy-rsa"
export OPENSSL="openssl"          
export PKCS11TOOL="pkcs11-tool"
export GREP="grep"

export KEY_CONFIG='/usr/sbin/whichopensslcnf $EASY_RSA'
export KEY_DIR="$EASY_RSA/keys"
et PKCS11_MODULE_PATH="dummy"                                          
export PKCS11_PIN="dummy"
export KEY_SIZE=2048
export CA_EXPIRE=3650
export KEY_EXPIRE=3650
export KEY_COUNTRY="IN"                                                
export KEY_PROVINCE="MH"                                               
export KEY_CITY="Pune"                                                 
export KEY_ORG="My Org"                                                              
export KEY_EMAIL="[email protected]"                                                       
export KEY_OU="MyOrganizationalUnit"
export KEY_NAME="EasyRSA"
# PKCS11 Smart Card                                                    
# export PKCS11_MODULE_PATH="/usr/lib/changeme.so"                     
# export PKCS11_PIN=1234                                               

# If you'd like to sign all keys with the same Common Name, 
# uncomment the KEY_CN export below
# You will also need to make sure your OpenVPN server config 
# has the duplicate-cn option set 
# export KEY_CN="CommonName"

Editar 2: Eu dei à WAN um IP estático 192.168.18.100/24 que um cliente VPN com IP 192.168.18.101/24 tentará acessar.

A configuração do servidor é:

package openvpn
config 'openvpn' 'samplevpnconfig'
        option 'enable' '1'
        option 'port' '1194'
        option 'proto' 'udp'
        option 'dev' 'tun0'

        option 'client_to_client' '1'
        option 'keepalive' '10 120'
        option 'comp_lzo' '1'
        option 'persist_key' '1'
        option 'persist_tun' '1'
        option 'verb' '3'
        option 'mute' '20'
        option 'ifconfig_pool_persist' '/tmp/ipp.txt'
        option 'status' '/tmp/openvpn-status.log'
        option 'ca' '/etc/openvpn/ca.crt'
        option 'cert' '/etc/openvpn/server.crt'
        option 'key' '/etc/openvpn/server.key'
        option 'dh' '/etc/openvpn/dh1024.pem'

        #this should be on a completely different subnet than your LAN
        option 'server' '192.168.18.100 255.255.255.0'
        list 'push' 'route 172.20.51.61 255.255.255.0' #this should MATCH your current LAN info
        list 'push' 'dhcp-option DNS 172.20.51.1' #this should MATCH your current LAN info
        list 'push' 'dhcp-option DOMAIN 172.20.51.1' #this should MATCH your current LAN info

Onde 172.20.51.61 é o endereço IP estático da LAN (eth0). Honestamente, não tenho ideia do que significam esses parâmetros não óbvios.

A configuração do cliente na máquina cliente /etc/openvpn/client.conf

client
proto udp
dev tun0

remote 192.168.18.100 1194
resolv-retry infinite
nobind
persist-key
persist-tun
verb 3
comp-lzo
ca /etc/openvpn/ca.crt
cert /etc/openvpn/myclient.crt
key /etc/openvpn/myclient.key

Quando eu tento o seguinte comando: #openvpn client.conf

Eu recebo erro de TLS: (verifique sua conectividade de rede)

e tcpdump no servidor fornecem:

13:57:19.026056 IP 192.168.18.101.34212 > 192.168.18.100.openvpn: UDP, length 14
13:57:19.026147 IP 192.168.18.100 > 192.168.18.101: ICMP 192.168.18.100 udp port openvpn unreachable, len0

Mas a conectividade parece adequada (ping, tcpdump show packet)

    
por RootPhoenix 23.07.2015 / 15:03

1 resposta

0

Primeiro, eu nunca recomendo manter a chave privada SSL CA em um dispositivo conectado diretamente à WAN. Isso é inseguro.

No OpenWRT uma configuração para o OpenVPN está em / etc / config / openvpn - os nomes das opções são quase idênticos aos da configuração original do OpenVPN, exceto no OpenWRT, hífens (-) devem ser convertidos em sublinhados ( _).

Siga este howto . Remova o ifconfig_pool_persist se você não precisar de endereços estáticos, ou use a opção ccd para isso (mais confiável) com / etc / openvpn / ccd . Substitua a sub-rede IP e as rotas por conta própria. Adicione um dígito no final do nome da interface para evitar problemas de configuração do firewall. Eu também recomendo usar a interface tap (mais flexível), não tun , mas depende de você. Adicione tls_auth para melhor proteger contra ataques DoS, no manual do OpenVPN há um exemplo de como gerar uma chave (procure por - genkey ).

Para ativar a inicialização automática do serviço, use /etc/init.d/openvpn enable .

Quando você tiver OpenVPN, configure o firewall.

    
por 23.07.2015 / 20:06