Доброго времени суток! Прошу помощи у местных гуру. Задача следующая:
Дано:
На одной стороне удаленный компьютер raspberry pi на raspbian jessie(debian jessie) в который установлен 3G-модем и настроен VPN-клиент и в порт eth0 подключено сетевое устройство А. VPN подключен через ppp1.
На другой стороне домашний роутер с VPN-сервером, к Ethernet порту роутера подключено сетевое устройство Б. Удаленный компьютер подключается через VPN к роутеру. C VPN подключением все нормально.
Тут вся схема для наглядности:
Устройства А и Б являются KVM-удлинителями, предназначенными для работы в локальной сети. Из настроек у них только свой IP и маска. Есть приемник и передатчик. К приемнику подключается монитор, мышка, клавиатура. К передатчику источник видеосигнала(в моем случае это будет ПК на винде) и USB для передачи в обратном направлении управления. Передатчик «эмулирует» мышку и клавиатуру.
Описание устройства с картинками:
Подключал эти устройства напрямую к сетевой карте, чтобы посмотреть какие пакеты они шлют
Логи Wireshark:
Текущий скрипт iptables:
# Очищаем правила
iptables -v -F
iptables -v -X # Определяем выходной интерфейс для которого будет применяться замена адресов (NAT)
iptables -v -t nat -A POSTROUTING -o ppp1 -j MASQUERADE # Пересылаем все пакеты, пришедшие на модем из глобальной сети (0.0.0.0/0) в локальную сеть (192.168.0.0/24)
iptables -v -A FORWARD -i ppp1 -o eth0 -s 0.0.0.0/0 -d 192.168.0.0/24 -j ACCEPT # Пересылаем все пакеты, пришедшие из локальной сети (192.168.0.0/24) в глобальную (0.0.0.0/0)
iptables -v -A FORWARD -i eth0 -o ppp1 -s 192.168.0.0/24 -d 0.0.0.0/0 -j ACCEPT
#!/bin/sh
При таких правилах устройство, подключенное к Eth0 видит все устройства в локальной сети домашнего роутера.
/etc/network/interfaces:
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf' # Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d auto ppp0
iface ppp0 inet wvdial auto lo
iface lo inet loopback allow-hotplug eth0
iface eth0 inet static
address 192.168.0.5
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
# interfaces(5) file used by ifup(8) and ifdown(8)
Задача: необходимо настроить правила iptables(и возможно что-то еще :) и роутер, чтобы устройства А и Б могли связываться друг с другом.
При включении передатчик(А) гонит широковещательные пакеты UDP. Как я понимаю нужно этот трафик направить в приемник(Б)