电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

全面理解虚拟邮件域


发布日期:2022/12/7
 

介绍

如今个人计算机拥有强大的功能单独的一台可以轻易地完成几台服务器的任务随着internet和邮件系统的成功我们不得不管理越来越多的邮件域这里有一个在同一机器上管理几个独立邮件域的方法A linux premiere! (首次公映???)

基本原理

虚拟邮件域是一种在同一个服务器上管理 独立的用户列表的方法每个虚拟域有它自己的密码文件自己的缓沖目录和用户化名文件 对每个虚拟邮件域linuxconf 将建立

◆ /etc /vmail /passwdvirtual_domain

◆ /etc /vmail /shadowvirtual_domain

◆ /etc /vmail /aliasesvirtual_domain

◆ /var /spool /vmail / virtual_domain

◆ /vhome /virtual_domain /

这里virtual_domain是一个域名比如

定义虚拟域对话框

要建立一个新的虚拟邮件域你必须填写一个对话 框有关DNS和 IP alias 将在这个帮助文件的其他部分描述在这里我们将叙述对话框

一个名字

你必须为域取名字你所要做的也仅是如此

Fall back destination

这是一个可选的域一般来说当一个邮件信息被发送给一个虚拟邮件域的帐户将会进行以下过程

◆检查那个名字的化名如果有一个将信息发送给化名列表中的每一个成员化名可以指向其他化名

◆如果没有发现化名则将检查虚拟域的用户列表邮件被附加到符合条件的用户文件夹中

◆如果既没有化名也没有用户适合这个信息会被拒绝发送者也将收到一个出错信息

如果定义了fall back 域则邮件改为发往退回地址退回地址可以为:

()空

这是默认的情况信息被拒绝

()another_user@another_domain

信息被发往另一个域中的一个特定用户

()@another_domain

信息发往在另一个域中的同一个帐户例如发往

unknown@this_domain将转寄给unknown@another_domain

()account

信息被发往同一个域中的另一个帐户这个帐户可以是一个化名

化名文件

每个虚拟域都绝对有一个化名文件叫做/etc/vmail/aliasdomain这里domain是域名你可以定义两个或更多他们会被vdeliver program使用vdeliver 绝对的拥有最高的优先权它先在第一个里面查找然后第二个直到找到匹配的为止

注意和一般的sendmail的化名(/etc/alias)过程一样化名定义也可以指向另一个化名邮件列表也可以如此定义化名文件和普通的sendmail化名文件由同一个对话框维护这样提供了相同的功能

域名化名

规定几个域指向同一个用户群是可能的只要需要你可以加入很多例如你可以定义一个虚拟域为fooca然后通过域化名注册为两个域将是等效的

开始前的注意事项

虚拟邮件域是你邮件服务器的普通邮件功能的补充普通邮件域仍然在正确地管理邮件存储在/var/spool/mail中因此如果你的机器现在接受域的邮件你又希望分开接受和域的邮件你必须定义这两个域为虚拟邮件域域的配置没有影响

怎样设置虚拟邮件域

下面是Step By Step的介绍:

怎样配置POP客户端

POP的用户端不用作任何特殊的设置(这是件好事!)我们希望把几个邮件服务器并入同一个box中We dont want to tell everyone about it :)

怎样安装服务器

阅读邮件的技巧和访问虚拟www是一样的你需要IP地址这里有主要的设置假设我们想建立三个虚拟邮件域 你可以用相同的方法去安装这三个独立的服务器每个服务器为一个单独的邮件域从此处直至文末我们将给出这三个服务器怎样被合并到一个单独的机器上

DNS的设置

从DNS来看每个域有一个邮件服务器因此每个域的MX是

◇ →

◇ →

◇ →

这是DNS所告诉世界的也是所告诉用户的一般来说 域的用户从接收邮件 域的用户从接收邮件等等

到目前为止每个邮件域已经拥有了一个服务器

安装服务器

继续下面的设置(真实的或虚拟的)至DNS中去为每个服务器分配IP地址这里我使用私人IP做为例子 大家会看到我从同一个网络中分配IP

◇→

◇→

◇→

然后我们可以继续根据那些IP安装个linux服务器tell sendmail on each one to accept one of the three domains

Telling virtual

代替个linux服务器我们只安装单独的一个对每个虚拟邮件域我们必须

◇用linuxconf 来定义这里只包括为域命名

◇定义IP alias (仍然用linuxconf) 这样机器也会回应对这个IP的查询这在linuxconf 的菜单networking/IP aliases for virtual hosts中完成

◇在/etc/nf 中安装/usr/lib/linuxlonf/lib/vpopd代替/usr/sbin/in/popd 即使你没有使用虚拟域用vpopd代替popd 也是一个drop

IP alias 是主要的pop协议只有通过目标的IP才能识别出请求的目标 这就是为什么pop客户端必须使用不同的名字(实际上是不同的IP)从不同的邮件域阅读信息 从他们的观点来看This is expected anyway

怎样安装vpopd

在你所使用的发行版本是用vpopd 代替标准的pop daemon 的吗?也许不是不同的发行版本带有不同的popd 支持NIS PAM和其他证实了的特性简易地支持所有这些的一个最好的方法是让pop daemon 控主邮件域vpopd 仅仅管理虚拟域To get the result simply pass as an argument to vpopd the path of the native pop daemon 当产生一个对主域 的pop请求时vpopd 将把控制权交给它下面是如何设置/etc/nf 的例子

pop stream tcp nowait root /usr/sbin/tcpd /usr/lib/linuxconf/lib/vpopd /usr/sbin/ipopd

不要取代popd 命令只要简单地插入/usr/lib/linuxconf/lib/vpopd 即可 这一行依发行版本的不同而有所差别

如何检查一个配置

设置虚拟域时的大多数错误和DNS有关下面有一些测试让你检验你的设置是否正确

一个建议使用pop客户端不是一个强有力的测试这种配置的方法那些程序根本不会给出任何信息它们或是能工作或不能

检查DNS

对每个虚拟域你必须作一些DNS设置我们将用域作例子来说明下面是具体的步骤

The MX

命令

nslookup q=mx

应该列出一些有用的信息至少应能得到邮件服务器的名字和它的IP地址这或是或是服务器的正式名字得到的名字不需要在域中然而它必须指向正确的物理服务器

虚拟邮件服务器

在DNS中必须定义这里我用mailhost它可以是或是其它任何名字下面的命令

nslookup

应该列出IP地址接下来的命令

nslookup the_IP_number_you_got

应该显示如果你没能得到这个那么你的虚拟POP服务器根本不会工作事实上最后你需要对这个IP地址进行正确的反向查询如果在同一个DNS中特定的反向查询域被定义成虚拟域的话linuxconf会神奇地完成它

如你成功地完成上两个查询你已完成了最艰难的部分

有没有服务器在监听

使用下面的命令

telnet

将连接到物理服务器这证明IP alias已正确地设置了

有没有虚拟POP服务器在监听

用下面的命令来看vpopd有没有正确地安装

telnet pop

你应得到

+OK Virtual POP Server(Version ) ready

这里是关键如果没有显示这个说明虚拟域并没有定义或者/etc/nf中并没有安装vpopd

快速检测的工具

脚本/usr/lib/linuxconf/lib/checkvdomain可用来检查虚拟域的vpopd的安装情况不带参数运行它可得到更多有关它的信息

脚本/usr/lib/linuxconf/lib/testalldomain读取/etc/namedboot中定义的所以域然后在每个域中运行脚本checkvdomain(假设每个虚拟域都有一个虚拟邮件主机)它将报告域的配置是否正确这对管理员管理很多虚拟域很有帮助

Once 操作

如何增加POP用户

一旦一个虚拟邮件域开始正常工作仍然需要在其中增加POP用户在user accounts菜单中有一项叫Virtual POP account(mail only)的选项可以进行设置它允许你在里面选择一个虚拟域然后增加用户或进行修改

Co_administrator

对每个虚拟邮件域linuxconf都加入了一个新的特权你可以将此特权交给任何普通用户他将被允许管理这个虚拟域中的用户列表(仅仅是POP用户)这也是完全html界面的操作方式

用户怎样改变他的密码

pop only 用户 (ppp用户也是)的一个问题是他们没有权限使用任何帐户外壳程序来简单地修改他们的密码linuxconf对这个问题提供了一个巧妙的解决办法

上一篇:重安装gentoo 2005.1 for AMD64版经验

下一篇:表的许多分区被意外drop用rman不完全恢复