File: Sendmail-Address-Rewrite

package info (click to toggle)
doc-linux-it 2000.01-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 8,136 kB
  • ctags: 19
  • sloc: perl: 249; makefile: 50; sh: 42
file content (330 lines) | stat: -rw-r--r-- 10,215 bytes parent folder | download
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
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
  Sendmail address rewriting mini-HOWTO
  Thomas Roessler, roessler@guug.de
  v0.0, 6 maggio 1998

  Questo documento  una breve descrizione di come impostare il file di
  configurazione di sendmail per un uso casalingo con una connessione
  dial-up.  Traduzione a cura di Lorenzo Pulici, lorenzo.pulici@usa.net

  1.  Introduzione

  Si assume che abbiate il tipo di accesso ad Internet che sembra
  attualmente essere il pi comune alle universit e per i servizi
  online: utilizzate PPP con una connessione seriale per accedere alla
  rete del vostro provider. La vostra posta in arrivo viene presa dal
  server POP o IMAP del provider, mentre i messaggi in uscita verranno
  inviati tramite SMTP. Non disponete di un nome di dominio di vostra
  propriet, per cui tutto utilizza un indirizzo unico.


  Si assume che sia installata sul vostro sistema una versione
  sufficientemente aggiornata di sendmail di Eric Allman (la versione
  8.8.8  l'ultima al momento della stesura di questo documento e
  funziona correttamente).


  Questo documento si riferisce in parte a propriet specifiche dei
  sistemi Debian/GNU Linux; gli utenti di altre distribuzioni dovranno
  averne particolare cura.


  Accertatevi di avere a portata di mano le seguenti informazioni:


    il server di posta del vostro ISP

    il vostro indirizzo di posta Internet



  La configurazione che si sta progettando ha due obiettivi principali:


  1. Possibilit di inviare posta tra i vari utenti locali

  2. Il mondo esterno deve vedere gli indirizzi di posta dell'ISP e non
     quelli locali.


  Per raggiungerli, si usufruir della feature genericstable di
  sendmail.


  2.  Mappa dei file

  Tutti i file di configurazione di sendmail verranno messi in una
  directory separata, /etc: /etc/mail. Normalmente, sendmail si aspetta
  di trovare questi file direttamente in /etc.  Per evitare problemi
  /etc/sendmail.cf dovr essere un link simbolico a
  /etc/mail/sendmail.cf.


  Questi sono i file che affollano /etc/mail:

    aliases -contiene ulteriori indirizzi locali


    genericsdomain - contiene alcune informazioni sulla configurazione
     del vostro host locale

    genericstable - contiene le attuali regole di riscrittura

    sendmail.cf - file di configurazione di sendmail

    sendmail.mc - il sorgente di sendmail.cf.

  Alcuni di questi file saranno accompagnati da file .db.  Questi file
  contengono database hash per l'uso diretto da parte di sendmail.


  Si assume che la parte cf del tree dei sorgenti di sendmail risieda in
  una directory denominata /usr/lib/sendmail.cf.  Questo  il caso dei
  sistemi Debian GNU/Linux.  Altre distribuzioni potrebbero porre questi
  file in altre posizioni.  Consultate la documentazione della vostra
  distribuzione per maggiori informazioni.


  3.  Configurare sendmail

  3.1.  Il file principale di configurazione

  Sendmail usa un sistema di regole dall'elevata complessit per la sua
  configurazione. Anche se  possibile eseguire una gran quantit di
  trucchetti in questo modo, scrivere da zero un file sendmail.cf 
  piuttosto insolito e porta via molto tempo.  Se siete tuttavia
  interessati, allora smettete di leggere questo documento adesso per
  iniziare invece il "Bat Book" della O'Reilly.


  Invece di mettere a punto manualmente queste regole, ci si affider al
  processore di macro m4 per costruire la configurazione, partendo dalle
  parti gi pronte distribuite con sendmail.



  Si dia un'occhiata alle prime righe del file sendmail.mc:


  ______________________________________________________________________
  include(/usr/lib/sendmail.cf/m4/cf.m4)
  VERSIONID(`sendmail.mc - roessler@guug.de')
  OSTYPE(debian)
  define(`ALIAS_FILE',`/etc/mail/aliases')
  ______________________________________________________________________



  All'inizio viene incluso cf.m4.  Questo file macro di m4 contiene
  numerose definizioni macro per il resto del file. Ci si assicuri di
  inserire il percorso corretto - quello qui presente  tipico per una
  distribuzione Debian GNU/Linux.  La macro OSTYPE viene utilizzata per
  dare alcune opzioni di default utili per determinati valori di
  configurazione. Se non si utilizza un sistema Debian, sostituire la
  parola "debian" con "linux".  ALIAS_FILE dice a sendmail dove trovare
  la lista degli alias.


  Le righe seguenti indicano a sendmail di utilizzare la feature
  genericstable, e dove trovare i file di configurazione necessari per
  usufruirne:



  ______________________________________________________________________
  FEATURE(masquerade_envelope)
  FEATURE(genericstable, `hash -o /etc/mail/genericstable')
  GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain')
  ______________________________________________________________________


  La feature masquerade_envelope indica a sendmail di applicare la
  riscrittura degli header al mittente dell'envelope di un messaggio.
  Questo  l'indirizzo di posta al quale i sottosistemi di consegna
  della posta indirizzeranno i loro rapporti di mancata consegna e i
  messaggi di avvertimento.  I file generics* verranno illustrati pi
  sotto.


   ora necessario definire un cosiddetto "smart host", vale a dire, una
  macchina che gestir la posta in uscita dal vostro sistema.  Questa
  macchina pu non essere lo stesso server POP o IMAP del vostro ISP. Se
  avete dubbi contattate l'assistenza.  Il codice del file principale di
  configurazione:

  ______________________________________________________________________
  define(`SMART_HOST',`postainuscita.mio.provider')
  ______________________________________________________________________


  Sostituire postainuscita.mio.provider con il nome qualificato (FQDN)
  del server del vostro ISP.


  Le due ultime righe includono la definizione "mailer", necessaria a
  sendmail per sapere in che modo gestire i diversi tipi di posta:

  ______________________________________________________________________
  MAILER(local)
  MAILER(smtp)
  ______________________________________________________________________




  Per generare il file sendmail.cf partendo da questo sendmail.mc,
  digitare da root i seguenti comandi:

  ______________________________________________________________________
  # m4 sendmail.mc > _sendmail.cf
  # mv -f _sendmail.cf sendmail.cf
  ______________________________________________________________________



  Si noti la tecnica di scrivere l'output di m4 su di un file temporaneo
  che verr successivamente spostato nella giusta locazione. Ci
  impedisce a sendmail di leggere file di configurazione scritti solo
  parzialmente.


  3.2.  Riscrittura degli indirizzi.

  Prima di tutto,  necessario far conoscere a sendmail quali sono da
  considerarsi locali (e perci soggetti a riscrittura). Operazione
  molto semplice:  sufficiente inserire il nome qualificato (FQDN)
  della vostra macchina nel file /etc/mail/genericsdomain.  Per
  conoscere il nome qualificato del vostro host, digitare il seguente
  comando:

  ______________________________________________________________________
   $ hostname -f
  ______________________________________________________________________




  Si arriva finalmente alla tabella di riscrittura:
  /etc/mail/genericstable.  Questo file consiste di due colonne,
  separate da spazi vuoti. La prima colonna contiene l'indirizzo locale,
  la seconda l'indirizzo e-mail che dovr sostituirlo.  Il file potrebbe
  assomigliare a questo:


  ______________________________________________________________________
  harry   harryx@your.isp
  maude   maudey@her.isp
  root    fredx@your.isp
  news    fredx@your.isp
  ______________________________________________________________________




  Deve esserci una riga per ogni account presente sulla macchina locale,
  cosicch la posta generata automaticamente diretta esternamente alla
  macchina riporter negli headers le informazioni corrette.


  Per motivi di prestazioni, sendmail non utilizza direttamente questo
  file di testo, ma si affida ad una versione "hashed". per generarla,
  digitare il seguente comando.



  ______________________________________________________________________
  # makemap -r hash genericstable.db < genericstable
  ______________________________________________________________________




  Si noti che le regole di riscrittura della genericstable non saranno
  applicate alla posta locale o a quella in arrivo dall'esterno - la
  mappatura viene usata unicamente se un messaggio lascia il vostro
  sistema verso lo smart host del vostro ISP.


  3.3.  Aliases

  Il file degli aliases contiene nomi locali addizionali validi
  unicamente per messaggi locali.  utile per account amministrativi
  quali root che ricevono posta generata  automaticamente dal vostro
  sistema.


  Un punto di partenza per il vostro /etc/mail/aliases potrebbe
  assomigliare a questo file:








  ______________________________________________________________________
  root: fred
  news: root
  postmaster: root
  mail: root
  www: root

  nobody: /dev/null
  MAILER-DAEMON: nobody
  ______________________________________________________________________



  In questo esempio, la posta locale per gli utenti root, news,
  postmaster, mail, e www verr inoltrata a  fred, mentre quella per
  nobody e MAILER-DAEMON verr rediretta a /dev/null.


  Come per genericstable, aliases potrebbe avere parecchie righe.  Per
  questo motivo, sarebbe ancora una volta inefficiente un uso del file
  di testo cos descritto da parte di sendmail. Viene allora applicato
  il medesimo meccanismo per genericstable anche con aliases: si genera
  un hashed database.  Invece di invocare direttamente makemap, 
  possibile digitare stavolta il comando newaliases, che si preoccuper
  da solo di fare il lavoro necessario.


  4.  Letture consigliate

  La distribuzione dei sorgenti di sendmail include una certa
  documentazione. Leggere soprattutto il file cf/README.


  Se il vostro interesse  di approfondire ancora di pi le opzioni di
  configurazione di sendmail, procuratevi il "Bat Book" della O'Reilly:
  Bryan Costales, Eric Allman, e Neil Rickert: "sendmail".  O'Reilly,
  1993.