3

До сих пор мне удалось установить сервер OpenVPN на DigitalOcean и клиент OpenVPN на Raspberry Pi. OpenVPN IP моего Raspberry Pi - 10.8.0.6, который я могу пропинговать с сервера OpenVPN. Теперь этот RPi подключен к сетевому слову локальной сети (шлюз 10.1.1.253, SubnetMask:255.255.252.0) по IP 10.1.2.14. Существует другая система Linux, подключенная к сети этого клиента (RPi), и ее IP-адрес - 10.1.2.2.

Теперь я хочу получить доступ к 10.1.2.2 с сервера OpenVPN через VPN. Кто-нибудь может объяснить мне, как я должен это сделать?

РЕДАКТИРОВАТЬ: Согласно предложению @ Masgo, я сделал следующее

  1. В файле server.conf добавили client-config-dir /etc/openvpn/ccd , route 10.1.0.0 255.255.252.0 и push "route 10.1.0.0 255.255.252.0"
  2. В файл /etc /openvpn /ccd /lappy добавлен iroute 10.1.0.0 255.255.252.0
  3. Теперь я могу пинговать ip 10.1.2.14(клиент OpenVPN) с сервера OpenVPN, но не ip 10.1.2.2. Чего мне не хватает в клиентской маршрутизации?

2 ответа2

2

Две вещи:

  1. Вы уверены, что у вас есть локальная сеть? Если шлюз 10.1.1.253 и маска сети 255.255.255.252, элементы 10.1.2.2 и 10.1.2.14 не находятся в той же сети, что и шлюз.

  2. Пакет с сервера Ocean получает в качестве IP-адреса другой конец туннеля OpenVPN, предположительно 10.8.0.1. Когда он достигает 10.1.2.2, он видит, что он принадлежит другой подсети, чем его собственная, и, таким образом, попытается переслать свой ответ единственным известным ему способом, то есть через шлюз, а не через клиента OpenVPN. Следовательно, обратный пинг никогда не возвращается.

    Чтобы обойти это, добавьте следующее правило iptables в RPI:

    iptables -t nat -A POSTROUTING -d (here your local network) -j MASQUERADE
    

    Таким образом, пакет будет отправлен обратно клиенту OpenVPN. Я не вставил вашу сеть, потому что неясно, какая из них: если это 10.1.2.0/30, пожалуйста, вставьте ее или измените соответствующим образом.

2

То, что вы хотите сделать, называется LAN-to-LAN. Решение состоит в том, чтобы иметь правильные маршруты на вашем VPN-клиенте и VPN-сервере. Обычно вы выполняете настройку на стороне клиента, "проталкивая" информацию о маршрутизации с сервера на клиент.

Посмотрите на это:https://community.openvpn.net/openvpn/wiki/RoutedLans

также:https://serverfault.com/questions/593314/openvpn-routing-for-lan-to-lan-through-tun

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