Клонирование пакета UDP, полученного на локальном хосте, на другой 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
1 ответ
Похоже, проблема заключалась в том, что пакеты сбрасывались machine A
потому что IP-адрес назначения не изменяется модулем TEE
Так что в Machine A
Таблица IP - я должен был запустить этоsudo iptables -t nat -A PREROUTING -p udp --dport 32000 -j NETMAP --to 192.168.0.199