Назад | Перейти на главную страницу

Клонирование UDP-пакета, полученного на localhost, на другой IP-адрес

у меня есть machine A с локальным ip 192.168.0.199 - Я хочу клонировать все пакеты udp, полученные на локальном компьютере, и переслать на машину A

я пробовал ниже в таблицах IP

sudo iptables -A OUTPUT -t nat -p udp -s 127.0.0.1 --dport 32000 -j TEE --gateway 192.168.0.199

на machine A - я начинаю слушать UDP-пакеты с netcat -l -u -p 32000

и на моем локальном компьютере - я отправляю тестовый пакет udp

echo 'ved' | nc -u 127.0.0.1 32000

пакет, кажется, достигает моего локального порта экземпляра, но я не могу получить клонированный пакет на machine A -

Есть ли что-то еще, что мне нужно сделать?

РЕДАКТИРОВАТЬ - так что если я сделаю tcpdump на machine A - пакеты, кажется, прибывают в порт - но не уверен, почему это не захватывается netcat - я также пробовал слушать на всех интерфейсах

sudo tcpdump -n udp port 32000 -e

похоже, показывает входящие пакеты - но почему это не захватывается netcat

Может ли это быть связано с тем, что исходный IP-адрес не меняется? tcpdump по-прежнему показывает 127.0.0.1 в качестве исходного IP-адреса

Итак, похоже, проблема заключалась в том, что пакеты сбрасывались в machine A потому что IP-адрес назначения не изменяется модулем TEE

Так что в Machine As IP-таблица - мне пришлось запустить это sudo iptables -t nat -A PREROUTING -p udp --dport 32000 -j NETMAP --to 192.168.0.199