User Tools

Site Tools


протокол_smtp_и_mail_transfer_agent

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
протокол_smtp_и_mail_transfer_agent [2009/05/27 10:38]
val
протокол_smtp_и_mail_transfer_agent [2011/02/27 18:22]
val removed
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 ​mailutils
   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.classdX.class, localhost+> mydestination = gate.corpX.un, localhost.corpX.uncorpX.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 ​mailutils
   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 206: Line 204:
 > mynetworks = 127.0.0.0/8 192.168.13.0/​24 > mynetworks = 127.0.0.0/8 192.168.13.0/​24
 </​code>​ </​code>​
 +==== Настройка MTA на релеинг почты домена server.corpX.un ====
  
-==== Настройка MTA на релеинг почты домена cX.dX.class ==== +=== Настройка в DNS MX записей домена ​server.corpX.un ===
- +
-=== Настройка в DNS MX записей домена ​cX.dX.class ===+
 <​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>​
 +
 +Попробовать команду hoststat
 +
 +Попробовать To:​server.corpX.un ​ RELAY
 +
 +Для решения этой задачи можно использовать /​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 258:
 === 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 269:
 <​code>​ <​code>​
 ... ...
-root: rootroot@g50.class+root: studentval@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 294:
 == FreeBSD == == FreeBSD ==
 <​code>​ <​code>​
-[gX:/etc/mail] # adduser+[gate:/etc/mail] # adduser
 Username: mailuser Username: mailuser
  
Line 298: Line 303:
 == 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 315:
 == 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 RELAY+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 333:
 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>​
-