Есть 2 линка в интернет. На одном реальный ЙП(ppp0), на другом серый(eth1). Дефолтный шлюз на сером линке.
Нужно чтобы asterisk слал запросы через линк с реальным ЙП.
Делаю:
iptables -t mangle -A OUTPUT -d ! 192.168.0.0/255.255.255.0 -m owner --uid-owner asterisk -j MARK --set-mark 255
ip route add 88.88.88.88 dev ppp0 table i_ip
ip route add default via 88.88.88.88 dev ppp0 table i_ip
ip rule add fwmark 255 pri 100 table i_ip
ip rule add from 88.88.88.88 pri 200 table i_ip
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Пакеты от астериска уходят через ppp0, как и нужно, НО адрес источника у них не 88.88.88.88 а 192.168.254.2 (eth1, серый линк).
Как добиться SNAT на 88.88.88.88 для пакетов, идущих через ppp0?
iptables -t nat -A POSTROUTING -o ppp0 -j SNAT 88.88.88.88 дает тот же результат.