Клиент хочет добавить ложный переход, когда кто-то выполняет трассировку по его IP-адресу. У него два ip-адреса и один интерфейс (без проблем, виртуальные интерфейсы решают). Как мне продолжить? Это вообще возможно? Я пробовал пересылку iptables, но тогда она не отображается в трассировке. Но я не пробовал другие методы (может быть, какой-то мост?)
Вот текущий маршрут, показанный в tracert: Человек, выполняющий traceroute -> 1.1.1.2
Вот запланированный результат traceroute: Человек, выполняющий traceroute -> 1.1.1.1 (ложный переход) -> 1.1.1.2
Обновить: Добавлено некоторое форматирование, чтобы уточнить, что это не проблема xy. Я абсолютно открыт для любого решения, а не только для iptables (будь то правильный или грязный взлом)
Изменить: только на одном хосте (Linux). Я тоже хочу это сделать. Это не должно быть ничего необычного. 1.1.1.1 просто нужно появиться на трассировке.
Моя попытка - не обязательно правильный подход
Обновление: я попытался отскочить от пакета с 1.1.1.2 на 1.1.1.1, затем изменить его, чтобы уменьшить TTL, а затем переслать его на 1.1.1.2 (Postrouting -j SNAT --to 1.1.1.1).
Изменить: вот правила, которые я пробовал, конфиденциальная информация удалена:
# Generated by iptables-save v1.4.21 on Mon May 18 15:13:18 2015
*nat
:PREROUTING ACCEPT [8:760]
:INPUT ACCEPT [8:760]
:OUTPUT ACCEPT [1:104]
:POSTROUTING ACCEPT [1:104]
-A POSTROUTING -p icmp -m icmp --icmp-type 8 -j SNAT --to-source 1.1.1.1
COMMIT
# Completed on Mon May 18 15:13:18 2015
# Generated by iptables-save v1.4.21 on Mon May 18 15:13:18 2015
*mangle
:PREROUTING ACCEPT [763:151106]
:INPUT ACCEPT [763:151106]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [299:39396]
:POSTROUTING ACCEPT [299:39396]
-A FORWARD -i eth0 -o eth0:0 -p icmp -m icmp --icmp-type 8 -j TTL --ttl-dec 1
COMMIT
# Completed on Mon May 18 15:13:18 2015
# Generated by iptables-save v1.4.21 on Mon May 18 15:13:18 2015
*filter
:INPUT ACCEPT [839:179066]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [303:40704]
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -p udp -m udp --dport 33434:33523 -j ACCEPT
-A FORWARD -d 1.1.1.1/32 -o eth0 -p icmp -m icmp --icmp-type 8 -j ACCEPT
COMMIT
# Completed on Mon May 18 15:13:18 2015
Хорошо, единственный способ, который я могу придумать, - это сделать это на хосте, инициирующем запрос. Вы можете добавить туда дополнительный интерфейс, связать его с адаптером и добавить маршруты, чтобы он проходил через этот интерфейс. Основная причина этого в том, что, когда коммутатор обнаруживает MAC-адрес, привязанный к IP 1.1.1.2, ваша трассировка будет завершена.
Если вы не хотите менять хост запрашивающей стороны для этого, вам нужно будет внести изменения в сеть, например изменить маршрутизатор, имитирующий дополнительный переход.
Теоретически следующее должно работать и достигать того, что вы ищете.