LINUX.ORG.RU

Сообщения artbaby

 

клиент-серверная архитектура и netcat

Форум — Admin

Здравствуйте. Имеется сеть с такой топологией. Маска /24.

Цель: R1 сделать сервером, а R3-R4 клиентами. При отправке сообщения с R1 они должны приходить на оба клиента. Ответ с R3 и R4 должен приходить на R1.

Я сделал следующим образом: на R2 при отправке пакетов на IP 17.12.2.2 дублирую их на 17.12.3.2 с помощью TEE таблицы mangle. Аналогично при отправке на 17.12.3.2 дублирую их на 17.12.2.2. Таким образом обеспечивается получение пакетов обоими клиентами.

Проблема возникла при отправке пакетов клиент -> сервер. Например, соединяюсь

  • R1: netcat -u 17.12.2.2 -p 37333 20023
  • R3: netcat -ulp 20023
  • R4: netcat -ulp 20023

Пакеты дублируются, с R1 приходит и на R3, и на R4. С R3 на R1 сообщение приходит. C R4 - нет. Оно и понятно. Потому что на R1 я соединялся по IP 17.12.2.2. Тогда на R2 в таблицу nat были добавлены 2 правила:

  • iptables -t nat -A PREROUTING -i enp0s9 -p udp -s 17.12.3.2 -j DNAT --to-destination 17.12.1.1:37333
  • iptables -t nat -A POSTROUTING -o enp0s3 -p udp -d 17.12.1.1 --dport 37333 -j SNAT --to-source 17.12.2.2:20023

Т.е. пакеты с R4 должны для R1 представлятся как от R3, и в netcat должны появлятся сообщения, отправленные с R4. Но, увы, их там нет. И в tcpdump на R2 их не видно. В чем проблема?

 ,

artbaby
()

настройка маршрутизации пакетов

Форум — Admin

есть узел R1 с ip 17.12.1.1; он соединен с узлом R2 через интерфейс с ip 17.12.1.2; узел R2 соединяется с узлами R3 (ip 17.12.2.2) и R4 (17.12.3.2) через интерфейсы с ip 17.12.2.1 и 17.12.3.1 соответственно. У узла R3 есть выход в другую сеть, интерфейс этого выхода имеет ip 17.12.4.1; Аналогичный интерфейс есть и у R4, его ip 17.12.5.1; Как мне подсказали, описанная выше топология похожа на топологию сети с двумя провайдерами. Необходимо на 1 узле пинговать 17.12.5.1 (это 4 узел), до 4 узла request должен дойти, а вот reply должен вернуться в 3 узел. Причем первый узел от 3 (от ip 17.12.2.2) должен получить ttl exceeded. Уже третий день не могу настроить перенаправление пакетов согласно требованиям. в R2 добавлял:

ip ro add default via 17.12.2.2 table 103

ip rule add from 17.12.5.1 table 103

по идее все пакеты, приходящие с IP 17.12.5.1 должны идти по этому правилу на 3 узел. Но почему-то они вообще не доходят до 4 узла. После 2 узла их не видно в tcpdump. если же делать перенаправление на 2 узле всех пакетов которые идут на 17.12.1.1:

ip ro add 17.12.1.1 via 17.12.2.2

то тогда с 3 узла не смогу передать ttl exceeded на 1 узел. пробовал с iptables на 2 узле (через enp0s8 соединяется 2 узел с 3):

iptables -t nat -A PREROUTING -s 17.12.5.1 -d 17.12.1.1 -j DNAT —to-destination 17.12.2.2

iptables -A FORWARD -i enp0s8 -j ACCEPT

Ничего не помогает. Возможно, здесь можно обойтись и без iptables, но идей, как это сделать, больше нет.

 , , ,

artbaby
()

RSS подписка на новые темы