Call bind(2) before connect(2) if exists "bind ADDR" in redis.conf

Redis master recognizes slave's IP address by getpeername(2) so that address becomes an address assigned slave's eth0 even if IP aliased (eth0:1) in slave linux box and ```bind <IP address assigned eth0:1)``` in redis.conf.

This is not a promblem in simple master/slave replication except that ```redis-clit -h MASTER info | grep slave``` shows wrong slave's IP address.

Now I introduced Redis Sentinel. Sentinel gets slaves address from result of ```info``` command to master, so sentinel recognizes not slave's eth0:1 but slave's eth0 as slave's IP address.

Sentinel's health check to slave will fail because slave only listen eth0:1. If redis master crashed, sentinel cannot failover because there is no healthy slave.

To fix it, slave calls bind(2) before connect(2) to master if there is ```bind <address>``` in redis.conf and that address is not local address (127.0.0.0/8).

Could you give me any advice?

```
Redis master:
  IP address:
    eth0:   10.0.0.100

Redis slave:
  IP address:
    eth0:   10.0.0.200
    eth0:1: 10.0.0.201
  redis.conf:
    bind 10.0.0.201

Redis sentinel:
  IP address:
    eth0:   10.0.0.50
  sentinel.conf:
    sentinel monitor mymaster 10.0.0.100 6379 1

$ redis-cli -h 10.0.0.201 slaveof 10.0.0.100 6379

$ redis-cli -h 10.0.0.100 info | grep slave
slave0:10.0.0.200,6379,online  # not 10.0.0.201

$ redis-cli -h 10.0.0.50 sentinel slaves mymaster | grep -A1 ip
ip
10.0.0.200  # not 10.0.0.201

```