打印

在FreeBSD 上组建ISP级的邮件系统 (转)

在FreeBSD 上组建ISP级的邮件系统 (转)

前言
1、感谢HZQBBC 多年来的帮助,让我对LINUX /UNIX 有所了解。

2、本人文笔不好,欢迎拍砖。

3、本文通过一步一个软件,一个软件一次性设置的方式让你了解如何组建一个邮件系统

4、建议:良好的电脑基础会使你事半功倍,至少你要明白互联网上的一些常用服务的原理,如:web/ftp/dns/mail(mta/mua/mda)及了解什么是TCP/IP协议。

5、对了BSD 操作不熟的兄弟建议看Freebsd 的Handbook。

http://cnsnap.cn.freebsd.org/doc ... handbook/index.html

6、对于英文不太好的兄弟建议使用IBM 智能词典。

http://www.google.com/search?hl= ... 8D%E5%85%B8&lr=

7、要多想多做多动脑(大脑生来就是为了思考的,不用会生锈),要懂得如何去使用google/baidu 寻找你需要的东西,可能你遇到的问题人家已经遇过并解决了。

8、认真观察安装过程、日志文件是寻找错误的关键。

9、古语云:冰冻三尺非一日之寒,当你第N 次安装失败时,千万别恢心,成功往往就与你擦肩而过。回头认真看文档,回想自己的操作,整理好思路。相信自己一定会成功。

10、FreeBSD 通过ports 安装总是花上不少时间在下载文件及编译, 建议你多喝水或为自己准备一杯咖啡,编译的时候走走运动一下也是个不错的主意。

最后献上我用了六年的座右铭:靠山山倒,靠人人倒,靠自己最好!

TOP

更新:
1、接上编<Freebsd 6.0 +Postfix + MySQL+Cyrus-SASL2 +Courier-IMAP + Clamav+Mailscanner+Extman+Extmail>对内容进行了修改。

2、把mailscanner 换成amavisd-new。

3、增加了maildrop 作为邮件的投递代理。

4、更详细的安装过程。

5、以HTML 方式发布,方便兄弟们复制命令。

6、去掉了zend/ftp/openssl 的安装 。

7、加入了atni-spam.org.cn 的cdl服务 从而更有效拒绝垃圾邮件。

TOP

一、设置你的DNS
很多人经常问为什么我的邮件服务器向163.com /sina.com/yahoo.com.cn...都能收到,为什么回复的邮件却收不到,原因很简单,因为这些服务器不能找到你的域名的A记录或MX 记录。很多人在安装时使用的域都是不合法的域名,即未经注册的DNS FQDN(完全限定名)。如果你没有申请合法的域名,可以到 comexe.cn 3322.org 申请一个动态域名来收发邮件。

本例中以 extmail.org 这个域为例 ,主机名为mail ,邮件服务器建立在DDNS 之上。
打开windows 的CMD 使用nslookup 查询extmail.org 的MX记录,如果你自己拥有固定IP可以创建自己的DNS,如果你使用的是新网或其它域名供应商,进入后台添加一个记录即可,供体参考DNS 相关的内容。


C:\>nslookup -type=mx extmail.org 221.4.66.66
Server:  ns2.cnc-gd.net
Address:  221.4.66.66

DNS request timed out.
    timeout was 2 seconds.
Non-authoritative answer:
extmail.org     MX preference = 20, mail exchanger = mx.extmail.org

extmail.org     nameserver = ns2.xinnetdns.com
extmail.org     nameserver = ns.xinnet.cn
extmail.org     nameserver = ns.xinnetdns.com
extmail.org     nameserver = ns2.xinnet.cn
mx.extmail.org  internet address = 210.21.119.139
ns.xinnet.cn    internet address = 210.51.171.209
ns.xinnetdns.com        internet address = 210.51.170.66
ns2.xinnet.cn   internet address = 210.51.170.67
ns2.xinnetdns.com       internet address = 210.51.170.67

作为windows 高手的你,这点小事难不到你吧 。

TOP

二、安装Freebsd
A、系统分区
很多人在使用自己的作业系统时,不知道如何对系统分区,对于分区方案没有最好的,只是跟据自己的情况去分。
下面是我的分区方案。

硬盘为120G ,/(根)1G 左右就差不多了,但考滤到/root 工作目录也在这里,所以分大一点。

/home/data 主要是用来存放Email /ftp用户的数据

/tmp 1G 也是考虑到临时文件多,所以给大也点。

/usr/ 10G 因为要安装软件,还有下载的软件,我没有装GUI 所以只分了10G我认为足够了。

/var 3G这个目录存放的东西比较多,如日志、邮件的临时目录,如果空间不够amavisd-new 无法解开邮件进行杀毒。

%df -h
  Filesystem   Size    Used    Avail   Capacity   Mounted on
  /dev/ad0s1a   1.9G   481M   1.3G    26%       /  devfs         1.0K    1.0K    0B      100%   /dev  /dev/ad0s1g    92G    353M    84G    0%      /home/data  /dev/ad0s1e    989M    224K    910M    0%    /tmp  /dev/ad0s1f    9.7G    1.8G    7.1G    20%    /usr  /dev/ad0s1d     2.9G   105M    2.6G     4%    /var

以上方案不是最好的,咸鱼白菜各有所好。

TOP

B、安装基本系统
对于系统的安装,我选择了minimal(最小系统)和ports ,因为有些没必要的包就不装,减少系统体积,另外作为一台服务器,我从来不装GUI 。

下载BSD时,只需要下载DISK 1 就行了,缺少的软件包可以通过网络安装。

附件

pp.jpg (0 Bytes)

2006-10-16 19:40, 下载次数: 0

TOP

C、配置系统
如果你在安装后期没有配置系统,在系统启动完成后以root的身份登陆系统,运行sysinstall 进行设置,或通过ee编辑器编辑/etc/rc.conf文件,在这里提醒各位,一会大多数服务都需要在/etc/rc.conf加入启动内容才能正常启动。

设置好固定IP,或通过DHCP 自动分配置机器IP。使用SSH 客户端进行管理服务器将会为你的工作提供方便。

使用SSH 要注意:

a、不能用root直接登陆,需要添加一个新用户,指定到wheel 组,用此用户登陆后用使用 su - 提升到管理员。

b、 以我的SecureCRT 为例,Session options ->Authentication ->Primary 选择keyboard Interactive

c、如果你要使用像LINUX 一样的彩色显示,需要把 Emulation -> Terminal ->Xterm 选中ANSI Color 并在/etc/csh.cshrc加入


setenv LSCOLORS ExGxFxdxCxegedabagExEx
setenv CLICOLOR yesset autolist

然后执行


sed -i.bak -E s/set\ prompt/#set\ prompt/g /root/.cshrc

退出重新登陆即可看到彩色目录了。

TOP

D、更新软件包
采用Freebsd 最好的地方就是安装软件方便,还可以装到最新的软件包,这就是强大的posts 系统。如果你的系统在安装时没有选择posts ,具休如何操作看BSD 的handbook.

CVSUP 的站点很多,你可以选择离你最快的站点去更新posts ,具体查看 freebsd.org /freebsdchina.org.cn

在使用cvsup之前你必须连接到互联网,并需要安装cvsup 这个软件

假如你的服务器在内网里,并通过DMZ 进行IP映射,可以参考下面设置:


sshd_enable="YES"
fsck_y_enable="YES"
hostname="mail.extmail.org"
ifconfig_rl0="inet 192.168.1.1 netmask 255.255.255.0"
defaultrouter="192.168.1.1"

TOP

如果你使用的是ADSL 拔号

a、修改/etc/ppp/ppp.conf

default:
set log Phase tun command # you can add more detailed logging if you wish
set ifaddr 10.0.0.1/0 10.0.0.2/0

adsl:
  set device PPPoE:vr0 # 将vr0 改为你拔号的网卡
  set authname 你的ADSL 帐号
  set authkey 你的ADSL密码
  set dial
  set login
  add default HISADDR

TOP

b、/etc/rc.conf 内容

inetd_enable="YES"
sshd_enable="YES"
fsck_y_enable="YES"
hostname="mail.extmail.org"
ifconfig_rl0="inet 192.168.1.1 netmask 255.255.255.0"
ppp_enable="YES" #YES or NO
ppp_mode="ddial" #"auto", "ddial", "direct" or "dedicated".
ppp_nat="YES" # if you want to enable nat for your local network, otherwise NO
ppp_profile="adsl" #/etc/ppp/ppp.conf

TOP

c、安装cvsup-without-gui

对ports 进行更新,首先修改系统默认下载的FTP地址:

#vi /etc/make.conf

添加下列四个连接地址,第一个为HTTP连接其余都是FTP.

MASTER_SITE_OVERRIDE?= \
http://ports.hshh.org/${DIST_SUBDIR}/ \
ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/ \
ftp://ftp.tw.freebsd.org/pub/ports/distfiles/${DIST_SUBDIR}/ \
ftp://freebsd.csie.nctu.edu.tw/pub/ports/distfiles/${DIST_SUBDIR}/ \


%cd /usr/ports/net/cvsup-without-gui/
%make install clean


d、更新ports
安装完cvsup软件后,对ports 进行更新


% /usr/local/bin/cvsup -gL 2 -h cvsup4.freebsdchina.org /usr/share/examples/cvsup/ports-supfile
其实FreeBSD 一点也不难,我没有说错吧 !

TOP


感谢一直以来您对我们的支持!
当前时区 GMT+8, 现在时间是 2008-10-11 03:07 京ICP证060528 号

Designed By 17DST