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
Next revision Both sides next revision
протокол_smtp_и_mail_transfer_agent [2009/05/04 07:35]
val
протокол_smtp_и_mail_transfer_agent [2010/09/27 13:27]
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 ​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+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>​
-