Es posible cambiar la dirección IP de origen, si su interfaz de red local tiene múltiples direcciones IP.
Supongamos que tiene un servidor que tiene 2 direcciones IP 1.1.1.10
y 2.2.2.20
:
$ ip route
default via 1.1.1.193 dev eth0
1.1.1.192/27 via 1.1.1.193 dev eth0
1.1.1.192/27 dev eth0 proto kernel scope link src 1.1.1.10
2.2.2.20 via 2.2.2.20 dev eth0 scope link
Puede verificar su dirección IP pública actual con el increíble servicio web ifconfig.co :
$ curl -4 ifconfig.co
1.1.1.10
Para acceder al servicio web ifconfig.co utilizando la otra dirección IP ( 2.2.2.20
), puede crear una ruta basada en la dirección IP del servidor de destino. Use dig para encontrar las direcciones IP de destino de los A
registros DNS :
$ dig ifconfig.co
...
ifconfig.co. 39 IN A 104.28.18.94
ifconfig.co. 39 IN A 104.28.19.94
...
Ahora agregue rutas personalizadas para estas direcciones IP:
$ ip route add 104.28.18.94/32 via 1.1.1.193 dev eth0 src 2.2.2.20
$ ip route add 104.28.19.94/32 via 1.1.1.193 dev eth0 src 2.2.2.20
Al ejecutar curl nuevamente, verá que está utilizando la otra dirección IP de origen:
$ curl -4 ifconfig.co
2.2.2.20
Además, su información de enrutamiento se actualiza:
$ ip route
default via 1.1.1.193 dev eth0
1.1.1.192/27 via 1.1.1.193 dev eth0
1.1.1.192/27 dev eth0 proto kernel scope link src 1.1.1.10
2.2.2.20 via 2.2.2.20 dev eth0 scope link
104.28.18.94 via 1.1.1.193 dev eth0 src 2.2.2.20
104.28.19.94 via 1.1.1.193 dev eth0 src 2.2.2.20
Nota: esto solo funciona si la dirección IP de origen se puede resolver en su servidor; de lo contrario, el protocolo de enlace TCP de 3 vías fallará, como se indica aquí .