LINUX.ORG.RU
ФорумAdmin

Правила маршрутизации для связи двух устройств

 , ,


0

1

Доброго времени суток! Прошу помощи у местных гуру. Задача следующая:

Дано:

На одной стороне удаленный компьютер raspberry pi на raspbian jessie(debian jessie) в который установлен 3G-модем и настроен VPN-клиент и в порт eth0 подключено сетевое устройство А. VPN подключен через ppp1.

На другой стороне домашний роутер с VPN-сервером, к Ethernet порту роутера подключено сетевое устройство Б. Удаленный компьютер подключается через VPN к роутеру. C VPN подключением все нормально.

Тут вся схема для наглядности:

Устройства А и Б являются KVM-удлинителями, предназначенными для работы в локальной сети. Из настроек у них только свой IP и маска. Есть приемник и передатчик. К приемнику подключается монитор, мышка, клавиатура. К передатчику источник видеосигнала(в моем случае это будет ПК на винде) и USB для передачи в обратном направлении управления. Передатчик «эмулирует» мышку и клавиатуру.

Описание устройства с картинками:

Подключал эти устройства напрямую к сетевой карте, чтобы посмотреть какие пакеты они шлют

Логи Wireshark:

Текущий скрипт iptables:

#!/bin/sh

# Очищаем правила 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

При таких правилах устройство, подключенное к Eth0 видит все устройства в локальной сети домашнего роутера.

/etc/network/interfaces:

# interfaces(5) file used by ifup(8) and ifdown(8)

# 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

Задача: необходимо настроить правила iptables(и возможно что-то еще :) и роутер, чтобы устройства А и Б могли связываться друг с другом.

При включении передатчик(А) гонит широковещательные пакеты UDP. Как я понимаю нужно этот трафик направить в приемник(Б)

Читал по диагонали, ИМХО, у вас не правильное название темы, правильно как-то так: iptables пробросить UDP broadcast

Либо L2 тунел (openvpn tap), либо для udp broadcast можно пытаться что-то делать через программы socat или portfwd (userspace).

mky ★★★★★ ()

Почитал тему, не понял следующие вопросы. Зачем в этой схеме 3G модем, как я понял, он в схеме не участвует? Облачко серое это что, интернет? Но как-то странно его видеть тоже. Или это локалка просто? Ну и вопрос что хочется в итоге, чтобы A мог пинговать Б посредством сети VPN? И да, ppp1 это что, название VPN интерфейса?

turtle_bazon ★★★★★ ()
Ответ на: комментарий от turtle_bazon

Облако это интернет, связь через 3G модем, с интернетом и VPN все в порядке, поэтому указал их схематично. ppp1 это интерфейс VPN. Необходимо чтобы оба устройства пинговали друг друга.

Yuriy86 ()
Ответ на: комментарий от turtle_bazon

Стандартными средствами домашнего роутера. Плюс у меня белый IP. VPN сервер - PPTP. На клиенте подключаюсь через pptp-linux. После подключения клиентская система «оказывается» в локальной сети роутера.

Yuriy86 ()
Ответ на: комментарий от Yuriy86

Если ты с ПК можешь пинговать, значит, надо, чтобы ПК был машрутизатором для устройства А в сеть 192.168.1.0/24

turtle_bazon ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.