1. src field of linux routing table
https://serverfault.com/questions/451601/ip-route-show-src-field

Note that the src you are giving would only affect the traffic originating at your very host. If a foreign packet is being routed, it obviously would already have a source IP address so it would be passed on unaltered (unless you are using NAT of course, but this is an entirely different matter). Also, this setting might be overridden by a process specifically choosing to bind to a specific address instead of using the defaults when initiating connections (rather rare).

2 и 3.
http://sysadminz.ru/index.php?topic=3872.0

Принципиально SNAT ничем не отличается от MASQUERADE, разница лишь в том что SNAT может транслировать адрес источника в любой заданный адрес, а MASQUERADE — только в адрес физического интерфейса, непосредственно установленного на данном компьютере. MASQUERADE рекомендуется использовать только с интерфейсами, имеющими динамические IP адреса (например, при dialup соединении).

Пример:
* Делаю Snat из одной сетки в другую, условием является source IP и имя исходящего интерейса.
* Со временем на интерфейсе появляется ещё один ip, соответственно в эту подсеть начинает отправляться другой src-ip. А там, где Reverse Path Filtering включен, их не видно.
* Переделываю srcnat на masquerade — src-ip становится правильным на всех подсетях выходного интерфейса

—————
Ещё чтива по теме: https://www.tecmint.com/setup-linux-as-router/ http://xgu.ru/wiki/Маршрутизация_в_Linux