This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
протокол_smtp_и_mail_transfer_agent [2009/05/04 07:35] val |
протокол_smtp_и_mail_transfer_agent [2009/10/28 10:35] val |
||
---|---|---|---|
Line 3: | Line 3: | ||
===== Пример SMTP диалога ===== | ===== Пример SMTP диалога ===== | ||
<code> | <code> | ||
- | [gX:~] # telnet g50.class 25 | + | [gate:~] # telnet gate.isp.un 25 |
... | ... | ||
- | HELO gX.dX.class | + | HELO gate.corpX.un |
... | ... | ||
- | MAIL FROM: root@gX.dX.class | + | MAIL FROM: root@gate.corpX.un |
... | ... | ||
- | RCPT TO: root@g50.class | + | RCPT TO: root@gate.isp.un |
... | ... | ||
DATA | DATA | ||
... | ... | ||
- | To: root@g50.class | + | To: root@gate.isp.un |
Subject: test | Subject: test | ||
Line 28: | Line 28: | ||
=== FreeBSD (sendmail) === | === FreeBSD (sendmail) === | ||
<code> | <code> | ||
- | [gX:~] # more /usr/share/sendmail/cf/README | + | [gate:~] # more /usr/share/sendmail/cf/README |
- | [gX:~] # cd /etc/mail | + | [gate:~] # cd /etc/mail |
- | [gX:/etc/mail] # cat gX.dX.class.mc | + | [gate:/etc/mail] # cat gate.corpX.un.mc |
OSTYPE(freebsd6) | OSTYPE(freebsd6) | ||
MAILER(local) | MAILER(local) | ||
MAILER(smtp) | MAILER(smtp) | ||
- | [gX:/etc/mail] # make cf | + | [gate:/etc/mail] # make cf |
- | [gX:/etc/mail] # make install | + | [gate:/etc/mail] # make install |
- | [gX:/etc/mail] # cat /etc/rc.conf | + | [gate:/etc/mail] # cat /etc/rc.conf |
... | ... | ||
sendmail_enable="YES" | sendmail_enable="YES" | ||
- | [gX:/etc/mail] # /etc/rc.d/sendmail restart | + | [gate:/etc/mail] # /etc/rc.d/sendmail restart |
</code> | </code> | ||
=== Ubuntu (postfix) === | === Ubuntu (postfix) === | ||
<code> | <code> | ||
- | root@gX:~# apt-get install postfix mailx | + | root@gate:~# apt-get install postfix mailx |
General type of mail configuration: Internet Site | General type of mail configuration: Internet Site | ||
- | System mail name: gX.dX.class | + | System mail name: gate.corpX.un |
- | root@gX:~# man 5 postconf | + | root@gate:~# man 5 postconf |
- | root@gX:~# cat /etc/aliases | + | root@gate:~# cat /etc/aliases |
# Added by installer for initial user | # Added by installer for initial user | ||
# root: student | # root: student | ||
- | root@gX:~# newaliases | + | root@gate:~# newaliases |
</code> | </code> | ||
Line 66: | Line 66: | ||
=== Отправка почты === | === Отправка почты === | ||
<code> | <code> | ||
- | gX# mail root | + | gate# mail root |
- | gX# mail root@gX.dX.class | + | gate# mail root@gate.corpX.un |
</code> | </code> | ||
=== Чтение почты === | === Чтение почты === | ||
<code> | <code> | ||
- | gX# mail | + | gate# mail |
Mail version 8.1 6/6/93. Type ? for help. | Mail version 8.1 6/6/93. Type ? for help. | ||
"/var/mail/root": 2 messages 2 new | "/var/mail/root": 2 messages 2 new | ||
- | >N 1 user@cX.dX.class Wed Oct 26 16:33 22/814 "w" | + | >N 1 user@server.corpX.un Wed Oct 26 16:33 22/814 "w" |
- | N 2 root@cX.dX.class Wed Oct 26 16:35 12/425 | + | N 2 root@server.corpX.un Wed Oct 26 16:35 12/425 |
</code> | </code> | ||
Line 91: | Line 91: | ||
</code> | </code> | ||
- | ==== Настройка MTA на обработку почты домена dX.class ==== | + | ==== Настройка MTA на обработку почты домена corpX.un ==== |
=== Настройка DNS === | === Настройка DNS === | ||
Line 97: | Line 97: | ||
== FreeBSD == | == FreeBSD == | ||
<code> | <code> | ||
- | [gX:~] # cd /etc/namedb/master/ | + | [gate:~] # cd /etc/namedb/master/ |
</code> | </code> | ||
== Ubuntu == | == Ubuntu == | ||
<code> | <code> | ||
- | root@gX:~# cd /var/cache/bind/ | + | root@gate:~# cd /var/cache/bind/ |
</code> | </code> | ||
== FreeBSD/Ubuntu == | == FreeBSD/Ubuntu == | ||
<code> | <code> | ||
- | gX# cat dX.class | + | gate# cat corpX.un |
$TTL 3h | $TTL 3h | ||
- | dX.class. SOA gX.class. root.gX.class. 2 1d 12h 1w 3h | + | corp13.un. SOA ns root.gate 1 1d 12h 1w 3h |
- | NS gX.class. | + | NS ns |
- | A 172.16.1.X | + | A 172.16.1.13 |
... | ... | ||
- | gX # nslookup -q=A dX.class | + | gate# nslookup -q=A corpX.un |
</code> | </code> | ||
=== Настройка MTA sendmail (FreeBSD) === | === Настройка MTA sendmail (FreeBSD) === | ||
<code> | <code> | ||
- | [gX:/etc/mail] # cat gX.dX.class.mc | + | [gate:/etc/mail] # cat gate.corpX.un.mc |
OSTYPE(freebsd6) | OSTYPE(freebsd6) | ||
- | FEATURE(`use_cw_file') | + | FEATURE(use_cw_file) |
MAILER(local) | MAILER(local) | ||
MAILER(smtp) | MAILER(smtp) | ||
- | [gX:/etc/mail] # cat local-host-names | + | [gate:/etc/mail] # cat local-host-names |
- | dX.class | + | corpX.un |
- | [gX:/etc/mail] # make cf | + | [gate:/etc/mail] # make install |
- | [gX:/etc/mail] # make install | + | |
- | [gX:/etc/mail] # /etc/rc.d/sendmail restart | + | [gate:/etc/mail] # /etc/rc.d/sendmail restart |
</code> | </code> | ||
=== Настройка MTA postfix (Ubuntu) === | === Настройка MTA postfix (Ubuntu) === | ||
<code> | <code> | ||
- | root@gX:~# rcsdiff /etc/postfix/main.cf | + | root@gate:~# rcsdiff /etc/postfix/main.cf |
- | < mydestination = gX.dX.class, localhost.dX.class, , localhost | + | < mydestination = gate.corpX.un, localhost.corpX.un, , localhost |
--- | --- | ||
- | > mydestination = gX.dX.class, localhost.dX.class, dX.class, localhost | + | > mydestination = gate.corpX.un, localhost.corpX.un, corpX.un, localhost |
- | root@gX:~# /etc/init.d/postfix force-reload | + | root@gate:~# /etc/init.d/postfix force-reload |
</code> | </code> | ||
Line 148: | Line 147: | ||
=== sendmail (FreeBSD) === | === sendmail (FreeBSD) === | ||
<code> | <code> | ||
- | [cX:/etc/mail] # cat cX.dX.class.mc | + | [server:/etc/mail] # cat server.corpX.un.mc |
OSTYPE(freebsd6) | OSTYPE(freebsd6) | ||
- | define(`SMART_HOST', `gX.dX.class') | + | define(`SMART_HOST', `gate.corpX.un') |
MAILER(local) | MAILER(local) | ||
MAILER(smtp) | MAILER(smtp) | ||
- | [cX:/etc/mail] # make cf | + | [server:/etc/mail] # make cf |
- | [cX:/etc/mail] # make install | + | [server:/etc/mail] # make install |
- | [cX:/etc/mail] # /etc/rc.d/sendmail restart | + | [server:/etc/mail] # /etc/rc.d/sendmail restart |
</code> | </code> | ||
=== postfix (Ubuntu) === | === postfix (Ubuntu) === | ||
<code> | <code> | ||
- | root@cX:~# apt-get install postfix mailx | + | root@server:~# apt-get install postfix mailx |
General type of mail configuration: Internet Site | General type of mail configuration: Internet Site | ||
- | System mail name: cX.dX.class | + | System mail name: server.corpX.un |
- | root@gX:~# cat /etc/aliases | + | root@gate:~# cat /etc/aliases |
# Added by installer for initial user | # Added by installer for initial user | ||
# root: student | # root: student | ||
- | root@gX:~# newaliases | + | root@gate:~# newaliases |
- | root@cX:~# rcsdiff /etc/postfix/main.cf | + | root@server:~# rcsdiff /etc/postfix/main.cf |
35c35 | 35c35 | ||
< relayhost = | < relayhost = | ||
--- | --- | ||
- | > relayhost = gX.dX.class | + | > relayhost = gate.corpX.un |
</code> | </code> | ||
Line 182: | Line 181: | ||
=== sendmail (FreeBSD) === | === sendmail (FreeBSD) === | ||
<code> | <code> | ||
- | [gX:/etc/mail] # cat gX.class.mc | + | [gate:/etc/mail] # cat gate.corpX.un.mc |
OSTYPE(freebsd6) | OSTYPE(freebsd6) | ||
- | FEATURE(`use_cw_file') | + | FEATURE(use_cw_file) |
FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access') | FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access') | ||
MAILER(local) | MAILER(local) | ||
MAILER(smtp) | MAILER(smtp) | ||
- | [gX:/etc/mail] # cat access | + | [gate:/etc/mail] # cat access |
192.168.X RELAY | 192.168.X RELAY | ||
- | [gX:/etc/mail] # make maps | + | [gate:/etc/mail] # make maps |
- | [gX:/etc/mail] # make cf | + | [gate:/etc/mail] # make install |
- | [gX:/etc/mail] # make install | + | [gate:/etc/mail] # /etc/rc.d/sendmail restart |
- | [gX:/etc/mail] # /etc/rc.d/sendmail restart | + | |
</code> | </code> | ||
=== postfix (Ubuntu) === | === postfix (Ubuntu) === | ||
<code> | <code> | ||
- | root@g13:~# rcsdiff /etc/postfix/main.cf | + | root@gate:~# rcsdiff /etc/postfix/main.cf |
36c36 | 36c36 | ||
< mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 | < mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 | ||
Line 207: | Line 205: | ||
</code> | </code> | ||
- | ==== Настройка MTA на релеинг почты домена cX.dX.class ==== | + | ==== Настройка MTA на релеинг почты домена server.corpX.un ==== |
- | === Настройка в DNS MX записей домена cX.dX.class === | + | === Настройка в DNS MX записей домена server.corpX.un === |
<code> | <code> | ||
- | gX# cat dX.class | + | gate# cat corpX.un |
… | … | ||
- | cX A 192.168.X.10 | + | server A 192.168.X.10 |
- | MX 2 gX.class. | + | MX 2 gate |
- | MX 1 cX | + | MX 1 server |
… | … | ||
</code> | </code> | ||
- | Примечание: | + | Альтернативы: |
- | Использование DNS View позволяет для внешних хостов указывать один почтовый сервер, а внутри другой. Это позволит обойтись без задержек при отправке почты. | + | * Использование DNS View позволяет для внешних хостов указывать один почтовый сервер, а внутри другой. |
+ | * /etc/mail/mailertable позволяет явно переправить почту с gate на server | ||
- | === Запуск MTA почтового домена cX.dX.class (FreeBSD) === | + | === Запуск MTA почтового домена server.corpX.un (FreeBSD) === |
<code> | <code> | ||
- | [cX:~] # cat /etc/rc.conf | + | [server:~] # cat /etc/rc.conf |
... | ... | ||
sendmail_enable="YES" | sendmail_enable="YES" | ||
- | [cX:~] # /etc/rc.d/sendmail restart | + | [server:~] # /etc/rc.d/sendmail restart |
</code> | </code> | ||
=== Настройка MTA релея sendmail (FreeBSD) === | === Настройка MTA релея sendmail (FreeBSD) === | ||
<code> | <code> | ||
- | [gX:/etc/mail] # cat access | + | [gate:/etc/mail] # cat access |
- | cX.dX.class RELAY | + | ... |
+ | server.corpX.un RELAY | ||
- | [gX:/etc/mail] # make maps | + | [gate:/etc/mail] # make maps |
</code> | </code> | ||
+ | Для решения этой задачи можно использовать /etc/mail/relay-domains | ||
=== Настройка MTA релея postfix (Ubuntu) === | === Настройка MTA релея postfix (Ubuntu) === | ||
<code> | <code> | ||
- | root@gX:~# rcsdiff /etc/postfix/main.cf | + | root@gate:~# rcsdiff /etc/postfix/main.cf |
40a41 | 40a41 | ||
- | > permit_mx_backup = cX.dX.class | + | > permit_mx_backup = server.corpX.un |
</code> | </code> | ||
Line 253: | Line 254: | ||
=== FreeBSD === | === FreeBSD === | ||
<code> | <code> | ||
- | [gX:~] # cat /etc/mail/aliases | + | [gate:~] # cat /etc/mail/aliases |
</code> | </code> | ||
=== Ubuntu === | === Ubuntu === | ||
<code> | <code> | ||
- | root@gX:~# cat /etc/aliases | + | root@gate:~# cat /etc/aliases |
</code> | </code> | ||
Line 264: | Line 265: | ||
<code> | <code> | ||
... | ... | ||
- | root: root, root@g50.class | + | root: student, val@gate.isp.un |
... | ... | ||
</code><code> | </code><code> | ||
- | gX# newaliases | + | gate# newaliases |
- | gX# mail root | + | gate# mail root |
</code> | </code> | ||
==== Использование виртуальных почтовых доменов ==== | ==== Использование виртуальных почтовых доменов ==== | ||
- | Домен cX.dX.class | + | Домен server.corpX.un |
=== Настройка DNS === | === Настройка DNS === | ||
<code> | <code> | ||
- | gX# cat dX.class | + | gate# cat corpX.un |
... | ... | ||
- | cX A 192.168.X.10 | + | server A 192.168.X.10 |
- | MX 2 gX.class. | + | MX 2 gate |
... | ... | ||
</code> | </code> | ||
Line 289: | Line 290: | ||
== FreeBSD == | == FreeBSD == | ||
<code> | <code> | ||
- | [gX:/etc/mail] # adduser | + | [gate:/etc/mail] # adduser |
Username: mailuser | Username: mailuser | ||
… | … | ||
Line 298: | Line 299: | ||
== Ubuntu == | == Ubuntu == | ||
<code> | <code> | ||
- | root@g13:~# adduser mailuser | + | root@gate:~# adduser mailuser |
... | ... | ||
- | root@g13:~# chsh mailuser | + | root@gate:~# chsh mailuser |
... | ... | ||
Login Shell [/bin/bash]: /usr/sbin/nologin | Login Shell [/bin/bash]: /usr/sbin/nologin | ||
Line 310: | Line 311: | ||
== sendmail (FreeBSD) == | == sendmail (FreeBSD) == | ||
<code> | <code> | ||
- | [gX:/etc/mail] # cat access | + | [gate:/etc/mail] # cat access |
- | 192.168.X RELAY | + | 192.168.X RELAY |
- | # cX.dX.class | + | # server.corpX.un RELAY |
- | [gX:/etc/mail] # cat local-host-names | + | [gate:/etc/mail] # cat local-host-names |
- | dX.class | + | corpX.un |
- | cX.dX.class | + | server.corpX.un |
- | [gX:/etc/mail] # grep virt freebsd.mc | + | [gate:/etc/mail] # grep virt freebsd.mc |
- | [gX:/etc/mail] # cat gX.class.mc | + | [gate:/etc/mail] # cat gate.corpX.un.mc |
OSTYPE(freebsd6) | OSTYPE(freebsd6) | ||
- | FEATURE(`use_cw_file') | + | FEATURE(use_cw_file) |
FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access') | FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access') | ||
FEATURE(virtusertable, `hash -o /etc/mail/virtusertable') | FEATURE(virtusertable, `hash -o /etc/mail/virtusertable') | ||
Line 328: | Line 329: | ||
MAILER(smtp) | MAILER(smtp) | ||
- | [gX:/etc/mail] # cat virtusertable | + | [gate:/etc/mail] # cat virtusertable |
- | root@cX.dX.class mailuser | + | root@server.corpX.un mailuser |
- | [gX:/etc/mail] # make maps | + | [gate:/etc/mail] # make maps |
- | [gX:/etc/mail] # make cf | + | [gate:/etc/mail] # make install |
- | [gX:/etc/mail] # make install | + | [gate:/etc/mail] # /etc/rc.d/sendmail restart |
- | [gX:/etc/mail] # /etc/rc.d/sendmail restart | + | |
</code> | </code> | ||
== postfix (Ubuntu) == | == postfix (Ubuntu) == | ||
<code> | <code> | ||
- | root@gX:~# rcsdiff /etc/postfix/main.cf | + | root@gate:~# rcsdiff /etc/postfix/main.cf |
41c41,42 | 41c41,42 | ||
- | < permit_mx_backup = cX.dX.class | + | < permit_mx_backup = server.corpX.un |
--- | --- | ||
- | > virtual_alias_domains = cX.dX.class | + | > virtual_alias_domains = server.corpX.un |
> virtual_alias_maps = hash:/etc/postfix/virtual | > virtual_alias_maps = hash:/etc/postfix/virtual | ||
- | root@gX:~# cat /etc/postfix/virtual | + | root@gate:~# cat /etc/postfix/virtual |
- | root@cX.dX.class mailuser | + | root@server.corpX.un mailuser |
- | root@gX:~# postmap /etc/postfix/virtual | + | root@gate:~# postmap /etc/postfix/virtual |
- | root@gX:~# /etc/init.d/postfix force-reload | + | root@gate:~# /etc/init.d/postfix force-reload |
</code> | </code> | ||
=== Тестирование === | === Тестирование === | ||
<code> | <code> | ||
- | gX# mail root@cX.dX.class | + | gate# mail root@server.corpX.un |
- | gX# mail –u mailuser | + | gate# mail –u mailuser |
</code> | </code> | ||