Назад | Перейти на главную страницу

Конфигурация сервера и клиента OpenVPN для openwrt

У меня есть маршрутизатор OpenWRT с интерфейсом WAN (eth1) и LAN (eth0).

Я хотел установить сервер openVPN на этом маршрутизаторе, чтобы иметь доступ со стороны WAN к стороне LAN.

Моя LAN (eth0) имеет настроенный DHCP-сервер и статический IP-адрес 172.20.51.61/24. Когда я подключаю любой компьютер к локальной сети (eth0), он получает IP в диапазоне от 172.20.51.100/24 ​​до 172.20.51.150/24.

Я установил openvpn easy rsa и другие необходимые утилиты, а также сгенерировал ключи для клиента и сервера. Я также скопировал эти ключи клиенту.

Что мне нужно, так это очень простые шаги и конфигурация, чтобы получить некоторую уверенность, чтобы установить соединение от клиента к серверу.

В сетевых блогах упоминается так много дополнительной информации ... новичкам в сети становится трудно уследить за ней.

Изменить: файл / etc / easy-rsa / vars имеет следующее содержимое.

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="me@myhost.mydomain"                                                       
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"

Изменить 2: я дал WAN статический IP-адрес 192.168.18.100/24 какой VPN-клиент с IP 192.168.18.101/24 попробую получить доступ.

Конфигурация сервера:

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

Где 172.20.51.61 - статический IP-адрес LAN (eth0). Честно говоря, я понятия не имею, что означают эти неочевидные параметры.

Конфигурация клиента на клиентской машине /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

КОГДА я пробую следующую команду: #openvpn client.conf

Я получаю ошибку TLS: (проверьте подключение к сети)

а tcpdump на сервере дает:

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

Но подключение кажется правильным (ping, tcpdump показывают отправку пакетов)

Во-первых, я никогда не рекомендую хранить закрытый ключ SSL CA на устройстве, напрямую подключенном к WAN. Это небезопасно.

В OpenWRT конфигурация OpenVPN находится в / и т.д. / config / openvpn - имена опций практически идентичны исходной конфигурации OpenVPN, за исключением того, что дефисы (-) в OpenWRT должны быть преобразованы в символы подчеркивания (_).

следить это как. удалять ifconfig_pool_persist если вам не нужны статические адреса, или используйте ccd вариант для этого (более надежный) с / и т.д. / openvpn / ccd. Замените IP-подсеть и маршруты своими собственными. Добавьте цифру в конце имени интерфейса, чтобы избежать проблем с настройкой межсетевого экрана. Я также рекомендую использовать нажмите интерфейс (более гибкий), а не тун, но решать вам. Добавить tls_auth для лучшей защиты от DoS-атак в руководстве OpenVPN есть пример, как сгенерировать ключ (поиск - Genkey).

Чтобы включить автозапуск службы, используйте /etc/init.d/openvpn enable.

Когда у вас установлен OpenVPN, настройте брандмауэр.