у меня есть 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 A
s IP-таблица - мне пришлось запустить это sudo iptables -t nat -A PREROUTING -p udp --dport 32000 -j NETMAP --to 192.168.0.199