Un cliente quiere agregar un salto falso cuando alguien realiza un traceroute en su dirección IP. Tiene dos direcciones IP y una interfaz (no hay problema, las interfaces virtuales lo solucionan).¿Cómo debo proceder? ¿Es esto siquiera posible?Intenté reenviar iptables pero no aparece en un traceroute.Sin embargo, no he probado otros métodos (¿tal vez algún tipo de puente?)
Aquí está la ruta actual que se muestra en tracert: Persona haciendo traceroute -> 1.1.1.2
Aquí está el resultado del traceroute planificado: Persona haciendo traceroute -> 1.1.1.1 (salto falso) -> 1.1.1.2
Actualizar:Se agregó algo de formato para aclarar que no es un problema xy. Estoy absolutamente abierto a cualquier solución, no sólo iptables (ya sea una adecuada o un truco sucio)
Editar: está en un solo host (Linux). Yo también quiero hacer esto. No tiene por qué ser nada sofisticado. 1.1.1.1 solo necesita aparecer en una ruta de seguimiento.
Mi intento: no necesariamente el enfoque correcto
Actualización: intenté rebotar el paquete de 1.1.1.2 a 1.1.1.1, luego modificarlo para disminuir el TTL y luego reenviarlo a 1.1.1.2 (Postrouting -j SNAT --to 1.1.1.1).
Editar: estas son las reglas que probé, se eliminó la información confidencial:
# 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
Respuesta1
En teoría, lo siguiente debería funcionar y lograr lo que buscas.
- crear una nueva interfaz virtual en el servidor en cuestión y asignarle una dirección IP,http://linuxconfig.org/configuring-virtual-network-interfaces-in-linux
- establecer la dirección IP/interfaz de origen para que apunte a la nueva interfaz virtual que se creó en el conjunto anterior alterando la tabla de enrutamiento (de hecho, se convierte en un nuevo enrutador/puerta de enlace entre el origen y el destino),http://linux-ip.net/html/basic-changing.html
Respuesta2
Ok, la única forma que se me ocurre es hacerlo en el host que inicia la solicitud. Puede agregar la interfaz adicional allí y vincularla a un adaptador y agregar rutas para que fluya a través de esa interfaz. La razón principal de esto es que cuando el conmutador encuentre la dirección MAC vinculada a IP 1.1.1.2, su rastreo finalizará.
Si no desea cambiar el host solicitante para esto, deberá realizar cambios en la red, como modificar el enrutador para imitar el salto adicional.