Пользовался решением уважаемой Medlar которое привел ниже. Спасибо за решение! Но просьба все таки пояснить: Что мешает спамеру подделать IP-адрес отправителя на IP-адрес из моей локальной сети и таким образом суметь отправить на мой закрытый список рассылки? Маршрутизация с таким адресом не сработает или что?
Возможно ли решение когда на закрытый список рассылки могут слать только отправители из локальной сети, т.е. что бы почтовый сервер мог принимать почту на этот адрес только с ВНУТРЕННЕГО интерфейса?
Ну то есть в этих правилах я не заметил привязки именно к сетевой карте почтового сервера и что бы опираясь именно на информацию о том с какой сетевой карты(внутренней или внешней) пришло письмо шла фильтрация.
###################################################################################
3.Как разрешить определенному пользователю принимать почту только с определенного IP-адреса.
Предположим, Вы создали список рассылки и хотите, чтобы сообщения на него можно было посылать только с конкретных ip-адресов. Можно поступить так:
Добавляем в sendmail.mc след. строки
LOCAL_CONFIG
#В этом файле перечисляем разрешенные IP-адреса:
KADDR_LIST hash /etc/mail/addrlist
KCheckRcpt2 regex -a@LIST2 ^list$
LOCAL_RULESETS
SLocal_check_rcpt
R$* $: $>Parse0 $>3 $1
# Является ли адрес получателя списком рассылки? Попутно избавляемся от доменной части адреса получателя.
R$+<@$=w.> $: $(CheckRcpt2 $1 $:$1 $)
Если да, смотрим IP-адрес отправителя письма.
R@LIST2 $: $>CheckUserIP
Если нет - пропускаем его и завершаем работу набора правил.
R$* $@ OK
SCheckUserIP
R$* $: $&{client_addr}
R$-.$-.$-.$- $: $(ADDR_LIST $1.$2.$3.$4 $)
Если IP-адрес включен в файл /etc/mail/addrlist, то принимаем письмо:
ROK $@ OK
Если нет - даем отлуп.
R$* $#error $: 554 Sorry, you can not send letter to this list.
Формат файла /etc/mail/addrlist:
127.0.0.1 OK
Не забываем про команду:
makemap hash addrlist < addrlist