I’ve two pc using VRRP for redundancy. So every PC (Linux) has a physical and a Virtual IP address.
I’ve a software (C++) with a client/server architecture with UDP protocol. The software bind the listen socket on “0.0.0.0” and use a new socket every time it needs to send some data to the other party. With wireshark I saw that when it sends data the source IP is the phisycal one…
How can I set the source address of the sending socket to the Virtual one??
NOTE: Whit ifconfig I see only eth0 with the physical address…
When the kernel needs to send something through a socket it performs these steps
So you need to
bind(2)your socket to your desired address. For more information: "Source Address Selection" in chapter "IP Routing" of "Guide to IP Layer Network Administration with Linux".