If I set up a Linux iptables MASQUERADE
rule for traffic going out of a specific interface, but that interface has multiple IP addresses, how does the source IP get chosen?
As an example, let's suppose I add a rule like:
$ iptables -t nat -A POSTROUTING -o eno1 -j MASQUERADE
…and that interface looks like:
$ ip addr show dev eno1
1: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 94:18:82:35:a2:c1 brd ff:ff:ff:ff:ff:ff
inet 10.136.122.97/24 scope global eno1
valid_lft forever preferred_lft forever
inet 10.136.122.98/24 scope global eno1
valid_lft forever preferred_lft forever