>А можно ли силами линукса сделать такую штуку: есть некий пул реальных
>адресов. "Внутренний" клиент при пробросе наружу получает внешний адрес случайным образом,
>а не привязывается к какому-то одному.
Присвойте пул адресов алиасами "внешнему" интерфейсу:
ifconfig ethX <address1> ...
ifconfig ethX:2 <address2> ...
...
ifconfig ethX:N <addressN> ...
Укажите диапазон адресов для SNAT в iptables:
iptables -t nat -A POSTROUTING -o ethX ... -j SNAT --to-source <address1>-<addressN>
Или используйте несколько опций to-source:
iptables -t nat ... -j SNAT --to-source <address1> --to-source <address3> ...