У меня есть сервер OpenVPN. Я хотел бы получить оттуда доступ к ресурсам, доступным в сети клиента. Сеть клиента управляется маршрутизатором на основе OpenWrt; он служит клиентом OpenVPN.

Сеть для сервера имеет маску 192.168.3.0/24, локальная сеть на маршрутизаторе OpenWrt - 192.168.1.0/24, поэтому конфликтов быть не должно.

Соединение установлено успешно, и я могу пропинговать мой маршрутизатор с сервера (ping 192.168.1.1) и обратно (ping 192.168.3.1 с маршрутизатора).

Но по какой-то причине все устройства в сети клиента недоступны с сервера.

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

port 1194
proto udp4
dev tun
ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\server.crt"
key "C:\\Program Files\\OpenVPN\\config\\server.key"
dh "C:\\Program Files\\OpenVPN\\config\\dh2048.pem"
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
cipher AES-256-CBC
persist-key
persist-tun
status openvpn-status.log
verb 3
explicit-exit-notify 1
client-config-dir ccd
route 192.168.1.0 255.255.255.0
push "route 192.168.3.0 255.255.255.0"

ccd/client iroute 192.168.1.0 255.255.255.0

OpenVPN: конфигурация клиента (/etc/config/openvpn)

package openvpn

config openvpn 'client'

        option enabled 1
        option client '1'
        option dev 'tun'
        option proto 'udp4'
        list remote 'myvpnserver 1194'
        option resolv_retry 'infinite'
        option nobind '1'
        option persist_key '1'
        option persist_tun '1'
        option user 'nobody'
        option ca '/etc/openvpn/ca.crt'
        option cert '/etc/openvpn/client.crt'
        option key '/etc/openvpn/client.key'
        option remote_cert_tls 'server'
        option cipher 'AES-256-CBC'
        option verb '3'
        option status /etc/openvpn/openvpn-status.log
        option log /var/log/openvpn.log

Я добавил соответствующий интерфейс и правила брандмауэра на маршрутизаторе (на основе официального руководства):

/ И т.д. / конфигурации / сети

config interface 'VPN'
        option proto 'none'
        option ifname 'tun0'

/ И т.д. / конфигурации / брандмауэр

config zone
        option input 'ACCEPT'
        option output 'ACCEPT'
        option name 'vpn'
        option forward 'ACCEPT'
        option masq '1'
        option network 'VPN'

config forwarding
        option dest 'lan'
        option src 'vpn'

config forwarding
        option dest 'vpn'
        option src 'lan'

Журнал клиента

 TUN/TAP device tun0 opened
 TUN/TAP TX queue length set to 100
 do_ifconfig, tt->did_ifconfig_ipv6_setup=0
 /sbin/ifconfig tun0 10.8.0.6 pointopoint 10.8.0.5 mtu 1500
 /sbin/route add -net 192.168.3.0 netmask 255.255.255.0 gw 10.8.0.5
 /sbin/route add -net 10.8.0.1 netmask 255.255.255.255 gw 10.8.0.5
 UID set to nobody
 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
 Initialization Sequence Completed

Журнал сервера

MULTI: Learn: 192.168.1.219 -> client/83.220.239.243:21301 # 192.168.1.219 is one of the devices connected to the client network (to the router)
MULTI: Learn: 192.168.1.1 -> client/83.220.239.243:21301 # 192.168.1.1 is the router

Эти записи появились, когда я попытался пропинговать 192.168.1.219 и 192.168.1.1 соответственно.

Я включил IP-пересылку на сервере и на клиенте, как рекомендует эта статья .

Я также попытался отключить брандмауэр на маршрутизаторе с помощью этой команды: /etc/init.d/firewall stop , но это тоже не помогло.

Я сделал tracert 192.168.1.219 на сервере:

1    34 ms    39 ms    34 ms  10.8.0.6
2     *        *        *     Request timed out.

10.8.0.6 - это IP-адрес маршрутизатора внутри сети VPN.

Что я делаю неправильно? Любые советы будут высоко ценится.

1 ответ1

0

Во-первых, проверка IP-адреса других интерфейсов на маршрутизаторе может быть ложным срабатыванием. Многие маршрутизаторы имеют разные правила, когда трафик передается на любой из интерфейсов маршрутизатора (например, "локальный" трафик).

Похоже, что информация о маршрутизации на ваших VPN-клиентах неверна, и / или у вас нет шлюза для этих клиентов. В таблице маршрутизации вашего VPN-клиента происходят очень странные вещи. Например, этот маршрут не имеет никакого смысла:

/sbin/route add -net 10.8.0.1 маска сети 255.255.255.255 gw 10.8.0.5

Маска сети A /32 недействительна. Это маршрут без машин. Наименьшая действительная маска - /30 (255.255.255.252). Кроме того, кажется, что ваши VPN-клиенты выбирают неправильный IP для вашего шлюза; Вы сказали, что IP-адрес маршрутизатора был 10.8.0.6. Наконец, IP-адрес вашего шлюза находится в пуле DHCP вашего сервера OpenVPN. После подключения нескольких клиентов 10.8.0.6 будет сдан в аренду VPN-клиенту, тогда у вас будут проблемы.

Возможно, было бы разумно потратить некоторое время на справочный документ openvpn:https://openvpn.net/community-resources/reference-manual-for-openvpn-2-0/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .