diff --git a/src/cluster.c b/src/cluster.c index 8a788da6761946d1d185e574c1b72d32f63b1559..1967b3f42bde3549e6877f4599889dff9a749696 100644 --- a/src/cluster.c +++ b/src/cluster.c @@ -4307,8 +4307,8 @@ int migrateGetSocket(redisClient *c, robj *host, robj *port, long timeout) { } /* Create the socket */ - fd = anetTcpNonBlockConnect(server.neterr,c->argv[1]->ptr, - atoi(c->argv[2]->ptr)); + fd = anetTcpNonBlockBindConnect(server.neterr,c->argv[1]->ptr, + atoi(c->argv[2]->ptr),REDIS_BIND_ADDR); if (fd == -1) { sdsfree(name); addReplyErrorFormat(c,"Can't connect to target node: %s", diff --git a/src/replication.c b/src/replication.c index 77f9fa8bc13d4bcb696210a1c9913e97cd13abdb..1a4ca250348da90446542863e1329b9b137fb1f3 100644 --- a/src/replication.c +++ b/src/replication.c @@ -1357,7 +1357,8 @@ error: int connectWithMaster(void) { int fd; - fd = anetTcpNonBlockConnect(NULL,server.masterhost,server.masterport); + fd = anetTcpNonBlockBindConnect(NULL, + server.masterhost,server.masterport,REDIS_BIND_ADDR); if (fd == -1) { redisLog(REDIS_WARNING,"Unable to connect to MASTER: %s", strerror(errno));