1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
|
<?xml version="1.0" encoding="koi8-r" standalone="no"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN"
"../../../share/xml/freebsd42.dtd" [
<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//RU" "../../share/xml/entities.ent">
%entities;
<!ENTITY % not.published "IGNORE">
]>
<!--
The FreeBSD Russian Documentation Project
$FreeBSD$
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/relaydelay/article.xml,v 1.2 2007/05/15 19:31:54 gad Exp $
Original revision: r32632
-->
<article lang="ru">
<articleinfo>
<title>éÓÐÏÌØÚÏ×ÁÎÉÅ ÔÅÈÎÏÌÏÇÉÉ ÓÅÒÙÈ ÓÐÉÓËÏ× ×Ï &os;</title>
<author>
<firstname>ôÏÍ</firstname>
<surname>òÏÄÅÓ</surname>
<affiliation>
<address><email>trhodes@FreeBSD.org</email></address>
</affiliation>
</author>
<copyright>
<year>2004</year>
<holder>The &os; Documentation Project</holder>
</copyright>
<pubdate>$FreeBSD$</pubdate>
<releaseinfo>$FreeBSD$</releaseinfo>
<abstract>
<para>üÔÁ ÓÔÁÔØÑ ÓÏÚÄÁÎÁ ÉÓËÌÀÞÉÔÅÌØÎÏ ÄÌÑ ÏÐÉÓÁÎÉÑ ÔÅÈÎÏÌÏÇÉÉ ÚÁÄÅÒÖËÉ
ÐÅÒÅÄÁÞÉ ÓÏÏÂÝÅÎÉÊ ÎÁ ÐÏÞÔÏ×ÏÍ ÓÅÒ×ÅÒÅ &os;. óÅÒ×ÅÒ Ó ÔÅÈÎÏÌÏÇÉÅÊ
ÚÁÄÅÒÖËÉ ÐÅÒÅÄÁÞÉ (relaydelay) ÉÌÉ ÐÏÐÁÄÁÎÉÅÍ × ÓÅÒÙÊ ÓÐÉÓÏË
(greylisting) ÓÎÉÖÁÅÔ ÕÒÏ×ÅÎØ ÓÐÁÍÁ ÐÒÏÓÔÏ ÚÁ ÓÞ£Ô ×ÙÄÁÞÉ
ÄÉÁÇÎÏÓÔÉÞÅÓËÏÇÏ ÓÏÏÂÝÅÎÉÑ <errorname>TEMPFAIL</errorname> ÎÁ ËÁÖÄÏÅ
×ÈÏÄÑÝÅÅ ÐÏÞÔÏ×ÏÅ ÓÏÏÂÝÅÎÉÅ. óÍÙÓÌ ÜÔÏÊ ÔÅÈÎÏÌÏÇÉÉ ÚÁËÌÀÞÁÅÔÓÑ × ÔÏÍ,
ÞÔÏ ÂÏÌØÛÉÎÓÔ×Ï ÓÐÁÍÅÒÏ× ÄÌÑ ×ÙÐÏÌÎÅÎÉÑ Ó×ÏÅÊ ÒÁÂÏÔÙ ÉÓÐÏÌØÚÕÀÔ
ÓÏÂÓÔ×ÅÎÎÙÅ ÐÅÒÓÏÎÁÌØÎÙÅ ËÏÍÐØÀÔÅÒÙ É ÓÐÅÃÉÁÌÉÚÉÒÏ×ÁÎÎÏÅ ÐÒÏÇÒÁÍÍÎÏÅ
ÏÂÅÓÐÅÞÅÎÉÅ. îÁÓÔÏÑÝÉÊ ÐÏÞÔÏ×ÙÊ ÓÅÒ×ÅÒ ÄÏÌÖÅÎ ÐÏÍÅÝÁÔØ ÓÏÏÂÝÅÎÉÑ ×
ÏÞÅÒÅÄØ É ÐÙÔÁÔØÓÑ ÄÏÓÔÁ×ÉÔØ ÅÇÏ ÐÏÚÖÅ. ôÁËÉÍ ÏÂÒÁÚÏÍ, ÓËÏÒÅÅ ×ÓÅÇÏ,
ÓÐÁÍÅÒ ÐÅÒÅÊÄ£Ô Ë ÓÌÅÄÕÀÝÅÍÕ ÈÏÓÔÕ ×ÍÅÓÔÏ ÔÏÇÏ, ÞÔÏÂÙ ÐÏÐÙÔÁÔØÓÑ ÓÎÏ×Á
ÐÏÓÌÁÔØ ÜÌÅËÔÒÏÎÎÏÅ ÐÏÓÌÁÎÉÅ. üÔÏ ÐÒÅËÒÁÓÎÁÑ ÉÄÅÑ; ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ,
ÄÏ ÔÅÈ ÐÏÒ, ÐÏËÁ ÓÐÁÍÅÒÙ ÎÅ ÎÁÞÎÕÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÏÇÒÁÍÍÎÏÅ
ÏÂÅÓÐÅÞÅÎÉÅ, ËÏÔÏÒÏÅ ÂÕÄÅÔ ÏÂÅÓÐÅÞÉ×ÁÔØ ÐÏ×ÔÏÒ ÐÅÒÅÄÁÞÉ. îÏ ËÁË ÉÍÅÎÎÏ
ÜÔÏ ÒÁÂÏÔÁÅÔ? éÔÁË, × ÐÒÏÃÅÓÓÅ ÐÒÉ£ÍÁ ÓÏÏÂÝÅÎÉÑ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÙ
<acronym>ID</acronym> ÓÏÏÂÝÅÎÉÑ ÓÏÈÒÁÎÑÅÔÓÑ × ÂÁÚÅ ÄÁÎÎÙÈ, Á × ËÁÞÅÓÔ×Å
ÒÅÚÕÌØÔÁÔÁ ×ÏÚ×ÒÁÝÁÅÔÓÑ <errorname>TEMPFAIL</errorname> ×ÍÅÓÔÅ Ó
ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÏÊ. åÓÌÉ ÓÏÏÂÝÅÎÉÅ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÙ ÐÏÓÙÌÁÅÔÓÑ
ÐÏ×ÔÏÒÎÏ, ÔÏ <acronym>ID</acronym> ÓÏÏÂÝÅÎÉÑ ÂÕÄÅÔ Ó×ÅÒÑÔØÓÑ Ó
<acronym>ID</acronym> ÓÏÏÂÝÅÎÉÊ, ÓÏÈÒÁΣÎÎÙÍÉ × ÂÁÚÅ ÄÁÎÎÙÈ. åÓÌÉ ×
ÂÁÚÅ ÄÁÎÎÙÈ ÏÎÏ ÓÕÝÅÓÔ×ÕÅÔ, ÔÏ ÐÏÓÌÁÎÉÀ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÙ ÒÁÚÒÅÛÁÅÔÓÑ
ÄÏÓÔÁ×ËÁ ÐÏ ÎÁÚÎÁÞÅÎÉÀ. ÷ ÐÒÏÔÉ×ÎÏÍ ÓÌÕÞÁÅ <acronym>ID</acronym>
ÓÏÈÒÁÎÑÅÔÓÑ, Á × ËÁÞÅÓÔ×Å ÒÅÚÕÌØÔÁÔÁ ×ÏÚ×ÒÁÔÉÔÓÑ
<errorname>TEMPFAIL</errorname>. üÔÏÔ ÃÉËÌ ÂÕÄÅÔ ÐÏ×ÔÏÒÑÔØÓÑ ÄÌÑ
ËÁÖÄÏÇÏ ÓÏÏÂÝÅÎÉÑ, ÐÏÓÔÕÐÁÀÝÅÇÏ ÎÁ ÓÅÒ×ÅÒ. ðÏ ÍÏÅÍÕ ÌÉÞÎÏÍÕ ÏÐÙÔÕ,
ÜÔÏ ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÏÔÓÅËÁÅÔ 90% ÓÐÁÍÁ.</para>
</abstract>
</articleinfo>
<sect1>
<title>âÁÚÏ×ÁÑ ÎÁÓÔÒÏÊËÁ</title>
<para>îÁÍ ÐÏÔÒÅÂÕÅÔÓÑ <command>perl</command> Ó ÐÏÄÄÅÒÖËÏÊ ÍÎÏÇÏÐÏÔÏÞÎÏÇÏ
×ÙÐÏÌÎÅÎÉÑ. õÓÔÁÎÏ×ÉÔÅ <filename role="package">lang/perl5.8</filename>
Ó ÕÓÔÁÎÏ×ÌÅÎÎÏÊ ÐÅÒÅÍÅÎÎÏÊ <makevar>USE_THREADS=yes</makevar>. óÎÁÞÁÌÁ
ÍÏÖÅÔ ÐÏÔÒÅÂÏ×ÁÔØÓÑ ÕÄÁÌÉÔØ ÔÅËÕÝÕÀ ×ÅÒÓÉÀ <command>perl</command>; ÎÁ
ÎÅÏÂÈÏÄÉÍÏÓÔØ ÓÄÅÌÁÔØ ÜÔÏ ÕËÁÖÕÔ ÏÛÉÂËÉ × ÐÒÏÃÅÓÓÅ ÕÓÔÁÎÏ×ËÉ.</para>
<note>
<para>ðÒÉ ÜÔÏÍ ÐÏÔÒÅÂÕÅÔÓÑ, ÞÔÏÂÙ ×ÓÅ ÐÏÒÔÙ, ËÏÔÏÒÙÍ ÎÕÖÅÎ
<command>perl</command>, ÂÙÌÉ ÐÅÒÅÓÔÒÏÅÎÙ É ÐÅÒÅÕÓÔÁÎÏ×ÌÅÎÙ;
<filename role="package">ports-mgmt/portupgrade</filename> ÈÏÒÏÛÏ ÄÌÑ
ÜÔÏÇÏ ÐÏÄÈÏÄÉÔ. ðÏ ËÒÁÊÎÅÊ ÍÅÒÅ, ÏÎ ÕËÁÖÅÔ, ËÁËÉÅ ÐÏÒÔÙ ÂÙÌÉ ÕÄÁÌÅÎÙ É
ËÁËÉÅ ÎÅÏÂÈÏÄÉÍÏ ÐÅÒÅÕÓÔÁÎÏ×ÉÔØ.</para>
</note>
<para>ôÅÐÅÒØ ÞÔÏ ËÁÓÁÅÔÓÑ ÓÅÒ×ÅÒÁ ÂÁÚÙ ÄÁÎÎÙÈ;
<application>MySQL</application> ÐÒÅËÒÁÓÎÏ ÐÏÄÈÏÄÉÔ ÄÌÑ ÔÁËÏÇÏ ÔÉÐÁ
ÒÁÂÏÔÙ. õÓÔÁÎÏ×ÉÔÅ <filename
role="package">databases/mysql40-server</filename> ×ÍÅÓÔÅ Ó <filename
role="package">databases/p5-DBD-mysql40</filename>. ðÒÅÄÙÄÕÝÉÊ ÐÏÒÔ
ÄÏÌÖÅÎ ÐÏÄÒÁÚÕÍÅ×ÁÔØ ÕÓÔÁÎÏ×ËÕ <filename
role="package">databases/p5-DBI-137</filename>, ÔÁË ÞÔÏ ÏÄÉÎ ÛÁÇ ÂÕÄÅÔ
ÐÒÏÐÕÝÅÎ.</para>
<para>õÓÔÁÎÏ×ÉÔÅ ÐÅÒÅÎÏÓÉÍÙÊ ÐÏÄËÌÀÞÁÅÍÙÊ ÓÅÒ×ÅÒÎÙÊ ÍÏÄÕÌØ ÎÁ ÂÁÚÅ
<command>perl</command>, ÐÏÒÔ <filename
role="package">net/p5-Net-Daemon</filename>. âÏÌØÛÉÎÓÔ×Ï ÕÓÔÁÎÏ×ÏË ÜÔÉÈ
ÐÏÒÔÏ× ÄÏÌÖÎÙ ÐÒÏÈÏÄÉÔØ ÂÅÚ ÐÒÏÂÌÅÍ. óÌÅÄÕÀÝÉÊ ÛÁÇ ÂÕÄÅÔ ÂÏÌÅÅ
ÔÒÕÄÏ£ÍËÉÍ.</para>
<para>ôÅÐÅÒØ ÕÓÔÁÎÏ×ÉÔÅ ÐÏÒÔ <filename
role="package">mail/p5-Sendmail-Milter</filename>. îÁ ÍÏÍÅÎÔ ÎÁÐÉÓÁÎÉÑ
ÜÔÏÇÏ ÄÏËÕÍÅÎÔÁ × ÆÁÊÌÅ <filename>Makefile</filename> ÉÍÅÌÁÓØ ÓÔÒÏËÁ,
ÎÁÞÉÎÁÀÝÁÑÓÑ Ó <makevar>BROKEN</makevar>, ÐÒÏÓÔÏ ÕÂÅÒÉÔÅ ÉÌÉ
ÚÁËÏÍÍÅÎÔÉÒÕÊÔŠţ. ïÎÁ ÐÏÍÅÞÅÎÁ ÔÁË ÌÉÛØ ÐÏÔÏÍÕ, ÞÔÏ × &os; ÐÏ
ÕÍÏÌÞÁÎÉÀ ÎÅ ×ËÌÀÞÁÌÓÑ É ÎÅ ÕÓÔÁÎÁ×ÌÉ×ÁÌÓÑ ÐÁËÅÔ <command>perl</command>
Ó ÐÏÄÄÅÒÖËÏÊ ÍÎÏÇÏÐÏÔÏÞÎÏÇÏ ×ÙÐÏÌÎÅÎÉÑ. ðÏÓÌÅ ÕÄÁÌÅÎÉÑ ÜÔÏÊ ÓÔÒÏËÉ ÏÎ
ÄÏÌÖÅÎ ÓÔÒÏÉÔØÓÑ É ÕÓÔÁÎÁ×ÌÉ×ÁÔØÓÑ ÂÅÚ ÏÛÉÂÏË.</para>
<para>óÏÚÄÁÊÔÅ ËÁÔÁÌÏÇ ÄÌÑ ÒÁÚÍÅÝÅÎÉÑ ×ÒÅÍÅÎÎÙÈ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÈ
ÆÁÊÌÏ×:</para>
<screen>&prompt.root; <userinput>mkdir /tmp/relaydelay</userinput>
&prompt.root; <userinput>cd /tmp/relaydelay</userinput></screen>
<para>ôÅÐÅÒØ, ËÏÇÄÁ Õ ÎÁÓ ÉÍÅÅÔÓÑ ×ÒÅÍÅÎÎÙÊ ËÁÔÁÌÏÇ ÄÌÑ ÒÁÂÏÔÙ, ËÏÍÁÎÄÅ
<command>fetch</command> ÎÕÖÎÏ ÐÅÒÅÄÁÔØ ÓÌÅÄÕÀÝÉÅ
<acronym>URL</acronym>-ÁÄÒÅÓÁ:</para>
<screen>&prompt.root; <userinput>fetch http://projects.puremagic.com/greylisting/releases/relaydelay-0.04.tgz</userinput>
&prompt.root; <userinput>fetch http://lists.puremagic.com/pipermail/greylist-users/attachments/20030904/b8dafed9/relaydelay-0.04.bin</userinput></screen>
<!-- úáíåþáîéå äìñ ôïíá òïäåóá: òáúíåýáôø ðòïçòáííîïå ïâåóðåþåîéå úäåóø
ñ÷ìñåôóñ ðìïèïê éäååê îá ôïô óìõþáê, åóìé ëáëïê-îéâõäø íõäáë úáíåîéô
åçï. îá÷åòîïå, ñ äïìöåî úááòèé÷éòï÷áôø óëòéðôù é ïóôáìøîõà ûîñçõ. -->
<para>ôÅÐÅÒØ ÎÅÏÂÈÏÄÉÍÏ ÒÁÓÐÁËÏ×ÁÔØ ÉÓÈÏÄÎÙÊ ËÏÄ:</para>
<screen>&prompt.root; <userinput>gunzip -c relaydelay-0.04.tgz | tar xvf -</userinput></screen>
<para>îÁ ÜÔÏÔ ÍÏÍÅÎÔ ×Ï ×ÒÅÍÅÎÎÏÍ ËÁÔÁÌÏÇÅ ÄÏÌÖÎÏ ÏËÁÚÁÔØÓÑ ÎÅÓËÏÌØËÏ
ÆÁÊÌÏ×. ôÅÐÅÒØ ÎÅÏÂÈÏÄÉÍÁÑ ÉÎÆÏÒÍÁÃÉÑ ÍÏÖÅÔ ÐÅÒÅÄÁ×ÁÔØÓÑ ÓÅÒ×ÅÒÕ ÂÁÚÙ
ÄÁÎÎÙÈ ÉÍÐÏÒÔÉÒÏ×ÁÎÉÅÍ Å£ ÉÚ ÆÁÊÌÁ <filename>mysql.sql</filename>:</para>
<screen>&prompt.root; <userinput>mysql < relaydelay-0.04/mysql.sql</userinput></screen>
<para>õÓÔÁÎÏ×ÉÔÅ ÐÁÔÞ <filename>relaydelay.bin</filename> ÄÌÑ ÏÓÔÁÌØÎÙÈ
ÆÁÊÌÏ×, ÚÁÐÕÓÔÉ× ÔÁËÕÀ ËÏÍÁÎÄÕ:</para>
<screen>&prompt.root; <userinput>patch -d /tmp/relaydelay/relaydelay-0.04 < relaydelay.bin</userinput></screen>
<para>ïÔÒÅÄÁËÔÉÒÕÊÔÅ ÆÁÊÌÙ <filename>relaydelay.conf</filename> É
<filename>db_maintenance.pl</filename>, ÄÏÂÁ×É× × ÎÉÈ ËÏÒÒÅËÔÎÏÅ ÉÍÑ
ÐÏÌØÚÏ×ÁÔÅÌÑ É ÐÁÒÏÌØ ÄÌÑ óõâä <application>MySQL</application>. åÓÌÉ
óõâä ÂÙÌÁ ÐÏÓÔÒÏÅÎÁ É ÕÓÔÁÎÏ×ÌÅÎÁ ÔÁË, ËÁË ÏÐÉÓÁÎÏ ×ÙÛÅ, ÔÏ × ÎÅÊ
ÏÔÓÕÔÓÔ×ÕÀÔ ÐÏÌØÚÏ×ÁÔÅÌÉ É ÐÁÒÏÌÉ. üÔÁ ÓÉÔÕÁÃÉÑ ÄÏÌÖÎÁ ÂÙÔØ ÉÓÐÒÁ×ÌÅÎÁ
ÄÏ ÐÅÒÅ×ÏÄÁ ÓÉÓÔÅÍÙ × ÐÒÏÍÙÛÌÅÎÎÕÀ ÜËÓÐÌÕÁÔÁÃÉÀ, ÞÔÏ ÏÐÉÓÁÎÏ ×
ÄÏËÕÍÅÎÔÁÃÉÉ Ë óõâä É ×ÙÈÏÄÉÔ ÚÁ ÒÁÍËÉ ÄÁÎÎÏÊ ÓÔÁÔØÉ.</para>
<para>óÍÅÎÉÔÅ ÒÁÂÏÞÉÊ ËÁÔÁÌÏÇ ÎÁ <filename
class="directory">relaydelay-0.04</filename>:</para>
<screen>&prompt.root; <userinput>cd relaydelay-0.04</userinput></screen>
<para>óËÏÐÉÒÕÊÔÅ ÉÌÉ ÐÅÒÅÍÅÓÔÉÔÅ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÅ ÆÁÊÌÙ × ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ
ËÁÔÁÌÏÇÉ:</para>
<screen>&prompt.root; <userinput>mv db_maintenance.pl relaydelay.pl /usr/local/sbin</userinput>
&prompt.root; <userinput>mv relaydelay.conf /etc/mail</userinput>
&prompt.root; <userinput>mv relaydelay.sh /usr/local/etc/rc.d/</userinput></screen>
<para>ðÒÏÔÅÓÔÉÒÕÊÔÅ ÐÏÌÕÞÉ×ÛÕÀÓÑ ËÏÎÆÉÇÕÒÁÃÉÀ, ×ÙÐÏÌÎÉ× ÔÁËÕÀ
ËÏÍÁÎÄÕ:</para>
<screen>&prompt.root; <userinput>sh /usr/local/etc/rc.d/relaydelay.sh start</userinput></screen>
<note>
<para>üÔÏÔ ÆÁÊÌ ÎÅ ÂÕÄÅÔ ÓÕÝÅÓÔ×Ï×ÁÔØ, ÅÓÌÉ ÐÒÅÄÙÄÕÝÉÅ ËÏÍÁÎÄÙ &man.mv.1;
ÎÅ ÂÙÌÉ ×ÙÐÏÌÎÅÎÙ.</para>
</note>
<para>åÓÌÉ ×Ó£ ÏÔÒÁÂÏÔÁÌÏ ËÏÒÒÅËÔÎÏ, ÔÏ × ËÁÔÁÌÏÇÅ <filename
class="directory">/var/log</filename> ÄÏÌÖÅÎ ÐÏÑ×ÉÔØÓÑ ÎÏ×ÙÊ ÆÁÊÌ,
<filename>relaydelay.log</filename>. ÷ Î£Í ÄÏÌÖÅÎ ÎÁÈÏÄÉÔØÓÑ ÔÅËÓÔ,
ÐÏÄÏÂÎÙÊ ÓÌÅÄÕÀÝÅÍÕ:</para>
<programlisting>Loaded Config File: /etc/mail/relaydelay.conf
Using connection 'local:/var/run/relaydelay.sock' for filter relaydelay
DBI Connecting to DBI:mysql:database=relaydelay:host=localhost:port=3306
Spawned relaydelay daemon process 38277.
Starting Sendmail::Milter 0.18 engine.</programlisting>
<para>åÓÌÉ ÆÁÊÌ ÎÅ ÐÏÑ×ÉÌÓÑ, ÔÏ ÞÔÏ-ÔÏ ÓÒÁÂÏÔÁÌÏ ÎÅÐÒÁ×ÉÌØÎÏ, ÐÅÒÅÓÍÏÔÒÉÔÅ
ÜËÒÁÎÎÕÀ ÄÉÁÇÎÏÓÔÉËÕ ÉÌÉ ÐÒÏÓÍÏÔÒÉÔÅ ÖÕÒÎÁÌØÎÙÊ ÆÁÊÌ
<filename>messages</filename> ÎÁ ÐÒÅÄÍÅÔ ÐÏÑ×ÌÅÎÉÑ ÎÏ×ÏÊ
ÉÎÆÏÒÍÁÃÉÉ.</para>
<para>ïÂßÅÄÉÎÉÔÅ ×Ó£ ×ÍÅÓÔÅ, ÄÏÂÁ×É× ÓÌÅÄÕÀÝÕÀ ÓÔÒÏËÕ × ÆÁÊÌ
<filename>/etc/mail/sendmail.mc</filename> ÉÌÉ ÓÐÅÃÉÆÉÞÎÙÊ ÄÌÑ ×ÁÛÅÊ
ÓÉÓÔÅÍÙ <filename>mc</filename>-ÆÁÊÌ:</para>
<programlisting>INPUT_MAIL_FILTER(`relaydelay', `S=local:/var/run/relaydelay.sock, T=S:1m;R:2m;E:3m')dnl</programlisting>
<para>ðÅÒÅÓÔÒÏÊÔÅ É ÐÅÒÅÕÓÔÁÎÏ×ÉÔÅ ÆÁÊÌÙ × ËÁÔÁÌÏÇÅ
<filename>/etc/mail</filename> É ÐÅÒÅÚÁÐÕÓÔÉÔÅ
<command>sendmail</command>. ëÏÒÏÔËÁÑ ËÏÍÁÎÄÁ <command>make</command>
<maketarget>restart</maketarget> ÄÏÌÖÎÁ ÓÄÅÌÁÔØ ×Ó£ ÎÅÏÂÈÏÄÉÍÏÅ.</para>
<para>óÇÒÕÚÉÔÅ ÓËÒÉÐÔ ÎÁ ÑÚÙËÅ <command>perl</command>, ÒÁÚÍÅÝ£ÎÎÙÊ ÐÏ
ÁÄÒÅÓÕ <ulink url="http://lists.puremagic.com/pipermail/greylist-users/2003-November/000327.html">http://lists.puremagic.com/pipermail/greylist-users/2003-November/000327.html</ulink>
É ÓÏÈÒÁÎÉÔÅ ÅÇÏ × ËÁÔÁÌÏÇ <filename
class="directory">relaydelay-0.04</filename>. ÷ ÓÌÅÄÕÀÝÅÍ ÐÒÉÍÅÒÅ ÜÔÏÔ
ÓËÒÉÐÔ ÏÂÏÚÎÁÞÁÅÔÓÑ ËÁË <filename>addlist.pl</filename>.</para>
<para>ïÔÒÅÄÁËÔÉÒÕÊÔÅ ÆÁÊÌ <filename>whitelist_ip.txt</filename>,
ÍÏÄÉÆÉÃÉÒÏ×Á× ÅÇÏ ÔÁË, ÞÔÏÂÙ × ÎÅÇÏ ÂÙÌÉ ×ËÌÀÞÅÎÙ
<acronym>IP</acronym>-ÁÄÒÅÓÁ ÓÅÒ×ÅÒÏ×, ËÏÔÏÒÙÅ ÄÏÌÖÎÙ ÉÍÅÔØ ×ÏÚÍÏÖÎÏÓÔØ
ÉÇÎÏÒÉÒÏ×ÁÔØ ÆÉÌØÔÒÙ <application>relaydelay</application>. ôÏ ÅÓÔØ ÜÔÏ
ÄÏÍÅÎÙ, ÐÒÉ ÐÏÌÕÞÅÎÉÉ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÙ ÏÔ ËÏÔÏÒÙÈ ÄÉÁÇÎÏÓÔÉÞÅÓËÏÅ
ÓÏÏÂÝÅÎÉÅ <errorname>TEMPFAIL</errorname> ×ÙÄÁ×ÁÔØÓÑ ÎÅ ÂÕÄÅÔ.</para>
<para>ëÁË ÐÒÉÍÅÒ ÍÏÖÎÏ ÐÒÉ×ÅÓÔÉ:</para>
<programlisting>192.168. # My internal network.
66.218.66 # Yahoo groups has unique senders.</programlisting>
<para>æÁÊÌ <filename>blacklist_ip.txt</filename> ÄÏÌÖÅÎ ÉÍÅÔØ ÐÏÈÏÖÅÅ
ÎÁÚÎÁÞÅÎÉÅ, ÎÏ Ó ÏÂÒÁÔÎÙÍÉ ÐÒÁ×ÉÌÁÍÉ. õËÁÖÉÔÅ × ÜÔÏÍ ÆÁÊÌÅ
<acronym>IP</acronym>-ÁÄÒÅÓÁ, ËÏÔÏÒÙÅ ÄÏÌÖÎÙ ÏÔ×ÅÒÇÁÔØÓÑ ÂÅÚ ×ÙÄÁÞÉ
ÄÉÁÇÎÏÓÔÉÞÅÓËÏÇÏ ÓÏÏÂÝÅÎÉÑ <errorname>TEMPFAIL</errorname>. üÔÏÔ
ÐÅÒÅÞÅÎØ ÄÏÍÅÎÏ× ÎÉËÏÇÄÁ ÎÅ ÐÏÌÕÞÉÔ ÄÁÖÅ ×ÏÚÍÏÖÎÏÓÔØ ÓÏÏÂÝÉÔØ Ï ÔÏÍ, ÞÔÏ
ÏÎÉ Ñ×ÌÑÀÔÓÑ ÒÅÁÌØÎÏ ÓÕÝÅÓÔ×ÕÀÝÉÍÉ ÐÏÞÔÏ×ÙÍÉ ÓÅÒ×ÅÒÁÍÉ.</para>
<para>üÔÉ ÆÁÊÌÙ ÔÅÐÅÒØ ÄÏÌÖÎÙ ÂÙÔØ ÉÍÐÏÒÔÉÒÏ×ÁÎÙ × ÂÁÚÕ ÄÁÎÎÙÈ ÐÏÓÒÅÄÓÔ×ÏÍ
ÓËÒÉÐÔÁ <filename>addlist.pl</filename>, ËÏÔÏÒÙÊ ÂÙÌ ÐÏÌÕÞÅÎ ÎÅÓËÏÌØËÉÍÉ
ÓÔÒÏËÁÍÉ ×ÙÛÅ:</para>
<screen>&prompt.root; <userinput>perl addlist.pl -whitelist 9999-12-31 23:59:59 < whitelist_ip.txt</userinput>
&prompt.root; <userinput>perl addlist.pl -blacklist 9999-12-31 23:59:59 < blacklist_ip.txt</userinput></screen>
<para>äÌÑ ×ËÌÀÞÅÎÉÑ ÔÅÈÎÏÌÏÇÉÉ <application>relaydelay</application> ÐÒÉ
ËÁÖÄÏÊ ÚÁÇÒÕÚËÅ ÓÉÓÔÅÍÙ, ÄÏÂÁ×ØÔÅ ÓÔÒÏÞËÕ
<option>relaydelay_enable="YES"</option> × ÆÁÊÌ
<filename>/etc/rc.conf</filename>.</para>
<para>öÕÒÎÁÌØÎÙÊ ÆÁÊÌ <filename>/var/log/relaydelay.log</filename> ÄÏÌÖÅÎ
ÐÏÓÔÅÐÅÎÎÏ ÐÏÐÏÌÎÑÔØÓÑ ÕÄÁÞÎÙÍÉ ÐÒÏÈÏÖÄÅÎÉÑÍÉ. ÷ ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÚÁÇÒÕÚËÉ
×ÁÛÅÇÏ ÐÏÞÔÏ×ÏÇÏ ÓÅÒ×ÅÒÁ, ×ÓËÏÒÅ ÄÏÌÖÎÙ ÐÏÑ×ÉÔØÓÑ ÓÔÒÏÞËÉ, ÐÏÄÏÂÎÙÅ
ÓÌÅÄÕÀÝÉÍ.</para>
<programlisting>=== 2004-05-24 21:03:22 ===
Stored Sender: <someasshole@flawed-example.com>
Passed Recipient: <local_user@pittgoth.com>
Relay: example.net [XXX.XX.XXX.XX] - If_Addr: MY_IP_ADDRESS
RelayIP: XX.XX.XX.XX - RelayName: example.net - RelayIdent: - PossiblyForged: 0
From: someasshole@flawed-example.com - To: local_user
InMailer: esmtp - OutMailer: local - QueueID: i4P13Lo6000701111
Email is known but block has not expired. Issuing a tempfail. rowid: 51
IN ABORT CALLBACK - PrivData: 0<someasshole@flawed-example.com></programlisting>
<para>÷ ÆÁÊÌ <filename>/etc/newsyslog.conf</filename> ÔÅÐÅÒØ ÍÏÖÎÏ ÄÏÂÁ×ÉÔØ
ÓÌÅÄÕÀÝÕÀ ÓÔÒÏËÕ, ËÏÔÏÒÁÑ ÏÂÅÓÐÅÞÉ×ÁÅÔ ÒÏÔÁÃÉÀ ÖÕÒÎÁÌÏ×
<filename>relaydelay.log</filename> ÐÒÉ ÄÏÓÔÉÖÅÎÉÉ ÒÁÚÍÅÒÁ × 100
<acronym>ëÂÁÊÔ</acronym>:</para>
<screen>/var/log/relaydelay.log 644 3 100 * Z</screen>
<!-- XXX ë ËÁËÏÍÕ ÔÅËÓÔÕ ÏÔÎÏÓÉÔÓÑ ÜÔÏ ÚÁÍÅÞÁÎÉÅ? -->
<note>
<para>÷ ËÁËÏÊ-ÔÏ ÍÏÍÅÎÔ ÐÏÑ×ÌÑÌÁÓØ ÏÛÉÂËÁ Ï ÎÅÐÏÌÎÏÍ ÏÐÒÅÄÅÌÅÎÉÉ
ÐÅÒÅÍÅÎÎÙÈ <command>perl</command> × ÆÁÊÌÅ
<filename>/etc/mail/relaydelay.conf</filename>. åÓÌÉ ÔÅ Ä×Å ÐÅÒÅÍÅÎÎÙÅ
ÒÁÓËÏÍÍÅÎÔÉÒÏ×ÁÎÙ, ÔÏ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ ÍÏÖÅÔ ÂÙÔØ ÏÂÒÁÂÏÔÁÎ
ÎÏÒÍÁÌØÎÏ. ðÒÏÓÔÏ ÎÅ ÚÁÂÕÄØÔÅ ÕÂÒÁÔØ ÉÈ ÉÚ ËÏÍÍÅÎÔÁÒÉÅ× ÄÏ ÔÏÇÏ, ËÁË
ÎÁÞÁÔØ ÒÁÂÏÔÕ Ó ÔÅÈÎÏÌÏÇÉÅÊ <command>relaydelay</command>.</para>
</note>
</sect1>
</article>
|