OpenVPN + OpenWrt: сервер не видит устройства в сети клиента

1077
Vladimir Panchenko

У меня есть сервер 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.

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

0

1 ответ на вопрос

1
Andy

Во-первых, проверка 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/

Похожие вопросы