Hello, Let's say we have a 3-node (linux) cassandra 3.7 cluster on GCE (same probably for EC2). VMs know their private IPs, and also have a public IP.
Nodes were configured according to doc: multiple network interfaces which in short says to use private IPs for listen_address, public IP for broadcast_address, and public ip for seeds. According to the doc above, "Cassandra switches to the private IP after establishing a connection." but this does not happen, tcpdump shows one end of traffic to port 7000 is always a public IP. Using "prefer_local=true" on cassandra-rackdc.properties just makes the clients try to connect to the private IPs which fails. All this works, clients connect and nodes see each other, but communication between nodes happen through their pubic IPs. We want clients to connect to the public IP, get a list of public IPs as contact points (endpoints) from the coordinator, but coordinator to forward requests through the private IPs. Can this be done? *Spiros Ioannou Infrastructure Lead EngineerinAccesswww.inaccess.com <http://www.inaccess.com>M: +30 6973-903808W: +30 210-6802-358*