вопрос такой - каким образом sendmail можно настроить таким образом, чтобы он не принимал почту, направленную на некоторые групповые адреса (RCPT TO: протокола и To: сообщения) с ВНЕШНЕГО интерфейса, но при этом принимал с внутренних ?заранее спасибо за помощь !
>вопрос такой - каким образом sendmail можно настроить таким образом, чтобы он
>не принимал почту, направленную на некоторые групповые адреса (RCPT TO: протокола
>и To: сообщения) с ВНЕШНЕГО интерфейса, но при этом принимал с
>внутренних ?
>
>заранее спасибо за помощь !запустить два сендмаила. один будет прослушивать внутренний интерфейс, второй - внешний.
у второго в access прописать запрещенные адреса.
Непонятно.
Вам нужно ограничение именно по IP-адресам?
Если письмо для алиаса отправленно из локальной сети - пропустить,
для всех остальных - запретить?
>Непонятно.
>Вам нужно ограничение именно по IP-адресам?
>Если письмо для алиаса отправленно из локальной сети - пропустить,
>для всех остальных - запретить?да !
LOCAL_CONFIG
KCheckRcpt regex -a@LIST ^(list1|list2|list3)$LOCAL_RULESETS
SLocal_check_rcpt
R$* $: $>Parse0 $>3 $1
# Является ли адрес получателя списком рассылки?
R$+<@$=w.> $: $(CheckRcpt $1 $)
# Если да, смотрим IP-адрес отправителя письма.
R@LIST $: $>CheckUserIP
# Если нет - завершаем работу набора правил.
R$* $@ OKSCheckUserIP
R$* $: $&{client_addr}
R$=w $* $@ OK
R$-.$-.$-.$- $: $(access CONNECT:$1.$2.$3.$4 $)
RRELAY $@ OK
R$* $#error $: 554 Sorry, you can not send letter to this maillist.Случай с внутренним To: не рассматриваю - не имеет смысла.
Надеюсь, что под закрытыми списками рассылки вы не подразумеваете административные адреса, упомянутые вами в SOA,RIPE,etc...
Пользовался решением уважаемой 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$* $@ OKSCheckUserIP
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