1) Выбор портов 250 и 1100 это плохая идея.
Не понял почему. Ага, 250 не подходит, Infosec VPN Protocol
2) -s $NET_LOC переводится, адрес источника локальная сеть. Это правильно.
Отлично так и оставим
$IPTABLES -t nat -A POSTROUTING -s $NET_LOC -p tcp
3) -o $IF_INET переводится как должен уйти через интерфейс $IF_INET. Но ты же хочешь, заворачивать пакеты адресуемые твоему серверу. Они никуда, ни через какой интерфейс уходить не будут.
Хорошо, убираем.
4) --sport 1100 Порт источника 1100. В твоем случае полный бред. Порт будет случайный.
Убираем, понял.
5) --dport 110 Порт приемника 110. Ты же говорил, что пакеты приходящие на 1100, а не на 110 порт должны заворачиваться.
$IPTABLES -t nat -A POSTROUTING -s $NET_LOC -p tcp -dport 1100
6) -j SNAT --to-source $SMTP_INET Замененит адрес источника на $SMTP_INET. Если, судя по названию это адрес внешнего сервера. Если так, то это бред.
--to-destination может использовать только с таблицей PREROUTING, ОК. Ага, меняем -s $NET_LOC на -d $IP_LOC
SMTP_SERV="93.158.134.38:25"
POP_SERV="87.250.251.37:110"
$IPTABLES -t nat -A PREROUTING -d $IP_LOC -p tcp --dport 251 -j DNAT --to-destination $SMTP_SERV
$IPTABLES -t nat -A PREROUTING -d $IP_LOC -p tcp --dport 1100 -j DNAT --to-destination $POP_SERV
Ну вроде все правильно. Критерий, локальный ip и 251 локальный порт. Переправляем на назначение в интернете. Что не так?