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

OpenWRT + переадресация клиента OpenVPN с локальной сети на vpn не работает

У меня есть роутер OpenWRT с Backfire 10.03.1-rc3 (арка: ядро ​​brcm 2.6)

Я настроил клиент OpenVPN, соединяющий мой маршрутизатор с локальной сетью на рабочем месте, и он отлично работает, я могу подключаться от маршрутизатора к сетям (нескольким) на рабочем месте.

Мой клиент OpenVPN uci-config выглядит так:

config 'openvpn' 'stream_client'
    option 'nobind' '1'
    option 'float' '1'
    option 'client' '1'
    option 'reneg_sec' '0'
    option 'management' '127.0.0.1 31194'
    option 'explicit_exit_notify' '1'
    option 'verb' '3'
    option 'persist_tun' '1'
    option 'persist_key' '1'
    list 'remote' 'remote.address.cutted'
    option 'ca' '/lib/uci/upload/cbid.openvpn.stream_client.ca'
    option 'key' '/lib/uci/upload/cbid.openvpn.stream_client.key'
    option 'cert' '/lib/uci/upload/cbid.openvpn.stream_client.cert'
    option 'enable' '1'
    option 'dev' 'tun1'

Я установил зону STREAM_VPN, чтобы разрешить входящий / исходящий трафик, и я добавил правила для зоны между зонами lan <-> vpn и vpn <-> lan

config 'zone'
    option 'name' 'stream_vpn'
    option 'network' 'stream_vpn'
    option 'input' 'ACCEPT'
    option 'output' 'ACCEPT'
    option 'forward' 'REJECT'

config 'forwarding'
    option 'src' 'lan'
    option 'dest' 'stream_vpn'

config 'forwarding'
    option 'src' 'stream_vpn'
    option 'dest' 'lan'

И конфигурация интерфейса:

config 'interface' 'stream_vpn'
    option 'proto' 'none'
    option 'ifname' 'tun1'
    option 'defaultroute' '0'
    option 'peerdns' '0'

Теперь с моего маршрутизатора все работает нормально, проблема в том, что я не могу подключиться с компьютера внутри локальной сети к хостам в сетях, предоставляемых подключением vpn: /

Что я пропустил или что делаю не так?

И как я могу принудительно использовать указанный DNS при подключении к vpn? (Я знаю, что сервер должен использовать параметр PUSH DNS, но это только маршруты PUSHes)

Скорее всего, у вас не настроена маршрутизация на стороне клиента openvpn. http://openvpn.net/index.php/open-source/documentation/howto.html#scope Раздел «Включение нескольких машин на стороне клиента при использовании маршрутизируемой VPN (dev tun)» должен адресовать именно этот сценарий.

Не знаю, помог ли ваш ответ @canni, но мне он помог.

iroute должны использоваться для каждого пользователя.

Тогда и ядро, и OpenVPN будут знать маршруты, и каждый хост в обеих локальных сетях сможет общаться через VPN.

Добавить option masq '1' в config 'zone'

option 'name' 'stream_vpn'
option 'network' 'stream_vpn'
option 'input' 'ACCEPT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'
option masq '1' # IMPORTANT!!!

Вы можете попробовать несколько настроек конфигурации.
Но просто добавление этого в настройках сервера делает волшебный трюк:

client-to-client