Talvez este exemplo seja útil para você (desde que todos os IPs sejam atribuídos à mesma interface e que não tenha entendido sua pergunta):
root@ulises:~# ifconfig eth0 | grep "inet addr"
inet addr:192.168.0.30 Bcast:192.168.0.255 Mask:255.255.255.0
root@ulises:~# ifconfig eth0:0 192.168.0.17 up
root@ulises:~# ping -c 1 192.168.0.17
PING 192.168.0.17 (192.168.0.17) 56(84) bytes of data.
64 bytes from 192.168.0.17: icmp_req=1 ttl=64 time=0.064 ms
--- 192.168.0.17 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.064/0.064/0.064/0.000 ms
root@ulises:~# ifconfig eth0 down
root@ulises:~# ping -c 1 192.168.0.17
PING 192.168.0.17 (192.168.0.17) 56(84) bytes of data.
From 192.168.0.238 icmp_seq=1 Destination Host Unreachable
--- 192.168.0.17 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
(*) o ping é feito através de uma segunda interface eth1