У меня есть машина 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
на машине A
- я начинаю прослушивать пакеты UDP с помощью netcat -l -u -p 32000
и на моем локальном компьютере - я отправляю тестовый пакет udp
echo 'ved' | nc -u 127.0.0.1 32000
, кажется, что пакет достигает моего локального порта экземпляра, но я не могу получить клонированный пакет на машине A
-
Есть ли что-то еще, что мне нужно сделать?
ИЗМЕНИТЬ - поэтому, если я сделаю tcpdump
на машине A
- пакеты действительно будут прибывать в порт - бу Не уверен, почему это не фиксируется netcat - я также пробовал прослушивать все интерфейсы
sudo tcpdump -n udp port 32000 -e
, похоже, показывает входящие пакеты - но почему это не захватывается netcat
Может ли это быть связано с тем, что исходный IP-адрес не меняется? tcpdump по-прежнему показывает 127.0.0.1 в качестве исходного IP-адреса
Таким образом, похоже, что проблема состояла в том, что пакеты становились заглядывавшими machine A
, потому что целевой IP не становится измененным модулем МИШЕНИ
Так в Machine A
таблица IP с - я должен был выполнить это sudo iptables -t nat -A PREROUTING -p udp --dport 32000 -j NETMAP --to 192.168.0.199