OpenVPN: переадресация одного IP-адреса из локальной сети клиента на сервер

OpenVPN: переадресация одного IP-адреса из локальной сети клиента на сервер

Моя установка выглядит следующим образом:

  • Сервер (сервер Ubuntu) с публичным IP-адресом, 1.2.3.4действующий как сервер OpenVPN
  • RaspberryPi (raspbian) подключен к серверу OpenVPN с адресом 10.8.0.6в сети OpenVPN и локальным адресом в физической сети192.168.178.36
  • «Lan-Client» находится в той же физической сети, что и Raspberry Pi с локальным адресом192.168.178.56
  • «Клиент» находится в той же сети OpenVPN, что и Raspberry Pi с адресом10.8.0.10

С моей текущей настройкой "клиент" и raspberry pi успешно подключаются к серверу openvpn и могут общаться друг с другом. Теперь я хочу перенаправить "lan-client" в сеть openvpn, используя raspberry pi в качестве маршрутизатора, чтобы каждый клиент, подключенный к серверу openvpn, мог получить к нему доступ.

Я не могу установить OpenVPN на «lan-client», не могу выполнить переадресацию портов на него или вообще изменить какую-либо конфигурацию.

Возможно ли это вообще с OpenVPN? И если да, то как это сделать? Я хочу перенаправить только этот конкретный ip, а не всех клиентов в raspberry pis lan.

Мои текущие конфигурации выглядят так:

сервер.conf

port  1194
proto udp
dev   tun

ca   /etc/certs/ca.crt
cert /etc/certs/server.crt
key  /etc/certs/server.key

dh   /etc/certs/dh4096.pem

cipher AES-256-CBC

server    10.8.0.0 255.255.255.0
keepalive 10 120
client-to-client

ifconfig-pool-persist /etc/openvpn/ipp.txt
client-config-dir /etc/openvpn/ccd

persist-key
persist-tun

status     /var/log/openvpn/status.log
log        /var/log/openvpn/openvpn.log
log-append /var/log/openvpn/openvpn.log

verb 3

ипп.txt(сервер)

client-rpi,10.8.0.4

ccd/клиент-rpi(сервер)

ifconfig-push 10.8.0.6 10.8.0.1

клиент.conf(Raspberry Pi)

client
dev     tun
proto   udp
remote  1.2.3.4 1194

resolv-retry infinite
nobind
persist-key
persist-tun

ca   /etc/certs/ca.crt
cert /etc/certs/client-rpi.crt
key  /etc/certs/client-rpi.key

cipher AES-256-CBC

remote-cert-tls server

verb 3

Хотя я хочу маршрутизировать только один IP-адрес, я уже следовал некоторым руководствам в Интернете, чтобы маршрутизировать всю локальную сеть. Чтобы сделать это, я добавил

route 192.168.178.0 255.255.255.0

ксервер.confи

iroute 192.168.178.0 255.255.255.0

кccd/клиент-rpiconfig. Когда я пытаюсь пинговать 192.168.178.20например на сервере, я получаю 100% потерю пакетов (нет ответа). На raspberry pi это выглядит так:

$ sudo tcpdump -i tun0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 262144 bytes
09:39:09.863118 IP 10.8.0.1 > 192.168.178.20: ICMP echo request, id     19467, seq 1, length 64
09:39:10.869903 IP 10.8.0.1 > 192.168.178.20: ICMP echo request, id 19467, seq 2, length 64
09:39:11.878093 IP 10.8.0.1 > 192.168.178.20: ICMP echo request, id 19467, seq 3, length 64

Когда я отправляю ping на тот же адрес, но с Raspberry Pi (который находится в той же физической сети, что и цель), все работает нормально, как и ожидалось, так что это не брандмауэр цели отклоняет запросы.

Я предполагаю, что Raspberry Pi получает запросы ping и пересылает их, но цель 192.168.178.20не знает, как ответить. Проблема в том, как уже упоминалось, что я не могу изменить таблицу маршрутизации или другие настройки на этом устройстве. У меня есть только доступ к серверу и Raspberry Pi. Правильно ли я понимаю, и есть ли решение, которое сработает? Или это просто моя неправильная конфигурация и недопонимание? Это также может быть проблема на Raspberry Pi с маршрутами, но я понятия не имею, как это исправить.

Связанный контент