Fedora 10面对Windows 7与Ubuntu 8.10的双重压力
作者: DeadFire @ 2008-10-10 – 13:32
Fedora 10躲得非常快,Fedora 10的上市被推到了11月份。Ubuntu 8.10原计划在本月30号全球上市,不过它将受到微软的Windows 7 Pre-Beta强烈挤压,这是一个预览测试版,从中可以看出很多Windows 7的新特征。据微软方面介绍Windows 7有非常多的改善,它将继承Windows XP的优良传统,在界面视觉及系统管理上堪称一绝。 据称Windows 7 Pre-Beta与Ubuntu 8.10几乎是同步发布,微软是在将Ubuntu一军,截止用户倒向Linux这边,同时抢尽Ubuntu 8.10的风头,使其上市变得无人问津。Windows 7在兼容及安全上将全新出世,彻底消灭以Ubuntu为首的Linux,Ubuntu在Linux桌面份额中约占四成,可以说Linux用户群多是Ubuntu发烧友。 Ubuntu 8.10这个在刀锋上活着的Linux恐怕是凶多吉少了,因为任何IT软件发布碰到微软的产品发布都会变得暗淡无光。虽然Ubuntu 8.10的目标是苹果操作系统,不过Windows 7强大的功能及界面足可以灭掉二个加起来不超过10%份额的操作系统。当然你别忘了,Fedora 10会从后方再燃起Linux大火。
来自:http://www.linuxidc.com/Linux/2008-10/16462.htm
这个说的很不错.但是现在从市场面上看也各有春秋吧…..该用linux的还是用linux.用win的也会再去试试新出来的win7吧…..但是用linux的就会更少去使用win7吧.最多也只是去体验一下.
Postfix 邮件路由和传输研究2008-10-13 23:58
Postfix 邮件路由和传输研究
本文最初发表于 http://hi.baidu.com/delphiss/blog/item/9f6c71cead14423bf9dc6148.html转载请注明出处作者:wdy
postfix从各种渠道收到邮件后,先由cleanup程序处理收件地址,就是把一些不规范的发件和收件地址域名“清理”一下,比如没有的补全,改写等等。
cleanup清理后的邮件被队列管理器交给trivial-rewrite来决定下一步的路由。
postfix下一步的传输前需要获得几个目标地址数据:
mydestination:本地标识; virtual_mailbox_domains:虚拟邮箱域名; relay_domains:转发域。
路由信息包括邮件一下步的传输者(transport)和收件域名(next-hop destinations)。
传输者是指 local 或 smtp 这样的在master.cf 里定义的记录。next-hop destinations 包括 主机或域名等。
trivial-rewrite 判定的过程如下:
如果收件域出现在mydestination里,或目标收件ip地址与 $inet_interfaces 或 $proxy_interfaces 匹配,trivial-rewrite把邮件交给 [local_transport]; [local_transport]的缺省设置是 local:$myhostname。表示transport是local(master.cf里定义的),邮件域名改写为$myhostname。
如果收件域出现在virtual_mailbox_domains里,表示是个虚拟域的邮件,把邮件交给 [virtual_transport]; [virtual_transport] 缺省的设置是 virtual: ,表示用 virtual 投递,路由收件域名不变,还是收件地址中的虚拟域名。 virtual 根据 virtual_mailbox_base 来确定邮箱根目录,根据 virtual_mailbox_maps 来确定邮箱的存储路径,根据 virtual_uid_maps 和 virtual_gid_maps 来确定保存邮件使用的uid和gid。 当然现在大多数都使用 maildrop 来进行虚拟域的投递,安装好maildrop后先在master.cf里把maildrop配置成一个transport,然后设置 : virtual_transport = maildrop:
如果收件域出现在relay_domains里,就说明发件者因为各种原因无法把信件投递到收件域的主MX服务器了,自己正做为备用MX服务器接收了这些邮件。 postfix收下邮件后将尝试连接主MX服务器,交出之前收到的邮件。 如果邮件在队列里保留时间超过maximal_queue_lifetime规定的时间,就会发一份退信通知给发信人。 [relay_transport] 的缺省设置是 relay: 。 如果 relay_transport 设置里next-hop destinations为空,则依次查询 sender_dependent_relayhost_maps, relayhost 来确定,如果都为空则next-hop destinations 为收件地址域名不变。 如果收件域是需要远程投递的其他的域,把邮件交给 [default_transport]。 [default_transport] 的缺省设置是 smtp: 。 smtp MDA会先查询收件域名的mx记录,查询出ip后连接25端口进行投递。 如果 default_transport 设置里next-hop destinations为空,则依次查询 default_transport, sender_dependent_relayhost_maps, relayhost来确定,如果都为空则next-hop destinations 为收件地址域名不变。
以上是postfix缺省的邮件路由方式,如果我们要自己指定一些路由方式,比如把 abc.com 所有邮件转发到另外一台主机让它来投递,把 root@xyz.com 的邮件拒收等等,我们就需要用到transport_maps查询表。transport_maps比缺省的postfix路由方式优先级要高。
transport_maps数据项的键名为收件地址,键值为 transport:nexthop收件地址可以是一个域名,表示匹配这个域名下所有的收件地址。transport必须是master.cf里定义的传输方式。 nexthop 的形式为 host:port。host只能搭配 inet 或 unix 类型的传输方式。如果 host 是个域名,则先查询mx记录确定ip地址。如果 host 本身就是个ip或是个A记录,则需要用方括号括起来。port指定要连接的端口,缺省是25。
举几个例子:
abc.com smtp:[192.168.12.34]:20025发送给abc.com的邮件使用smtp MDA传送到192.168.12.34的20025端口上。
xyz.com maildrop发送给xyz.com的邮件交给maildrop投递。
root@abc.com error:No mail accepted for root当场拒收给root@abc.com的邮件,并给出错误信息:No mail accepted for root
spam@mydomain.com spam这个是dspam里的设置,表示把发给spam@mydomain.com的邮件交给spam(同样,spam在master.cf里设置)。
CentOS 5.1下 postfix + extmail + dovecot + maildrop 最新版安装笔记2008-10-11 12:28
CentOS 5.1下 postfix + extmail + dovecot + maildrop 最新版安装笔记
本文最初发表于 http://hi.baidu.com/delphiss/blog/item/38571c94f7a7d50e7af48052.html转载请注明出处作者:wdy
安装环境是 CentOS 5.1,分区的时候 对 /var/spool/postfix 和 /var/vmail 进行了单独分区。
/var/spool/postfix 是postfix存储队列的地方, /var/vmail 是用来存储虚拟账号邮件的。
CentOS提供了很方便的yum在线安装,我的基本原则是非重要、对版本不敏感的模块尽量用yum安装,邮件系统主要模块则用源码编译安装。
首先用yum安装的模块有: mysql mysql-server mysql-devel db4-devel openssl gcc libxml2 libxml2-devel gcc-c++
几个模块都需要用到PCRE, 前面说的 gcc-c++ 是安装PCRE必须的。下载安装 RCRE:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.8.tar.gz
先说明一下几个模块的搭配。
MTA 用的是 postfix的最新版本 postfix-2.5.5。
web模块是最先需要确定的,因为它决定了mysql表结构,这里选用国产的extmail,其他的根据extmail的需要倒推来确定。
webmail 使用 extmail-1.0.5 ,web管理模块用 extman-0.2.5
最新版本的extmail对maildrop的自动回复、转发等提供了很好的支持,所以MDA采用最流行的maildrop(2.0.4 )
这里面简单说一下为什么要用maildrop。
对虚拟用户投递的支持,postfix自带了一个投递代理(MDA):virtual
virtual投递代理在 master.cf 里描述为:virtual unix – n n – - virtual
如果我们在main.cf 里 设置 virtual_transport = virtual ,就表示对于包含在 virtual_mailbox_domains 域名里的邮件,都使用virtual进行投递。
postfix自带的virtual只提供了最基本的QUOTA功能,如果想使用更复杂的功能,如自动转发,自动回复,邮件自定义过滤等,就需要换成更高级的MDA。
当然可选择的MDA有很多种,比如 procmail, maildrop 等。我这里选用maildrop,为啥?大家都用这个。。。
用户信息存储方式也有很多可选的,比如mysql,ldap等。这里选mysql,原因是各个模块,包括extmail等对这个支持最好最方便最简单。
maildrop 在投递邮件的时候,需要确定一些数据,比如收件用户的Maildir的路径,保存邮件用的uid,gid,邮箱容量等,这些数据需要maildrop的同门师兄 courier-authlib 来提供,所以要先吧courier-authlib装好。
下面要说的是SMTP 的 SASL认证(这个说来话长,有空补上)。postfix的模块化设计在这里也体现出比qmail高明的地方。
postfix 2.3 以后sasl支持三种模块:Cyrus SASL version 1 Cyrus SASL version 2 Dovecot protocol version 1
网上大部分的文章都是讲用 Cyrus SASL 2(并用Cyrus IMAP 提供POP3/IMAP服务),本文采用后起新秀 Dovecot 做为 sasl模块,Dovecot同时提供 POP3/IMAP 服务。
Dovecot使用最新的dovecot-1.1.4 。
开始安装!
下载 postfix-2.5.5.tar.gz
postfix安装的是需要指定几个专门的用户和组,先创建
#groupadd -g 2001 postfix#useradd -g postfix -u 1001 -s /sbin/nologin -M postfix#groupadd -g 2002 postdrop#useradd -g postdrop -u 2002 -s /bin/false -M postdrop
编译#make makefiles CCARGS=’-DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\”dovecot\” \-DHAS_PCRE -DHAS_MYSQL \-I/usr/include/ -I/usr/local/include -I/usr/include/mysql/’ \AUXLIBS=’-L/usr/local/lib -L/usr/lib/mysql -lmysqlclient -lpcre’#make#make install
make install的提问全部回车默认。注意参数 -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\”dovecot\” 表示启用SASL身份认证,并默认使用dovecot。mysql的几个路径可以根据实际情况做修改,我这里的目录都是yum默认安装的。
先导入mysql表结构和数据。
下载extman-0.2.5.tar.gz解开后进入 docs目录
建库建表:#mysql -u root -p < extmail.sql(注意extmail.sql里配置的数据库,用户名,口令都是extmail)
导入初始数据:#mysql -u root -p < init.sql(先吧 init.sql 文件里的 extmail.org 改成你自己的域名)
把目录下 mysql_*.cf 全部拷贝至 /etc/postfix# cp mysql_*.cf /etc/postfix/
下载 dovecot-1.1.4.tar.gz
#./configure –prefix=/usr/local/dovecot –sysconfdir=/etc/dovecot –with-sql –with-sql-drivers –with-mysql –with-ssl=openssl#make#make install
注:dovecot的安装参考了javaeye unixboy的文章,略有改动
配置dovecot.conf#cd /etc/dovecot#cp dovecot-example.conf dovecot.conf#vi dovecot.conf————-分割线—————base_dir=/var/run/dovecotprotocols=imap imaps pop3 pop3slisten=*disable_plaintext_auth = no ssl_disable = yes mail_location = maildir:/var/vmail/%d/%n/Maildirpop3_uidl_format=%08Xu%08Xv
auth default {…mechanisms = plain login digest-md5 cram-md5 # 去掉注释passdb sql { args = /etc/dovecot/dovecot-sql.conf}…# 去掉注释userdb sql { args = /etc/dovecot/dovecot-sql.conf}…socket listen { … client { path = /var/spool/postfix/private/auth mode = 0660 user = postfix group = postfix }}}————-分割线—————
配置dovecot-sql.conf#cp dovecot-sql-example.conf dovecot-sql.conf#vi dovecot-sql.conf————-分割线—————driver = mysqlconnect = host=localhost dbname=extmail user=extmail password=extmaildefault_pass_scheme = MD5-CRYPT
password_query = SELECT username AS user, password AS password \ FROM mailbox WHERE username = ‘%u’ AND active = ’1′
user_query = \SELECT maildir as home,2001 as uid ,2001 as gid \FROM mailbox WHERE username=’%u’ and active=’1′
————-分割线—————
创建符号链接#ln -s /usr/local/dovecot/sbin/dovecot /usr/bin/dovecot
继续配置 postfix
#mv /etc/aliases /etc/aliases.old#ln -s /etc/postfix/aliases /etc/aliases#/usr/bin/newaliases
# vi main.cf
myhostname = mail.abc.commydomain = abc.commyorigin = $mydomainmydestination = $myhostname localhost localhost.$mydomainmynetworks = 127.0.0.0/8inet_interfaces = allhome_mailbox = Maildir/
sendmail_path = /usr/sbin/sendmailnewaliases_path = /usr/bin/newaliasesmailq_path = /usr/bin/mailqsetgid_group = postdrophtml_directory = nomanpage_directory = /usr/local/mansample_directory = /etc/postfix
#=====================Vritual Mailbox settings=========================virtual_mailbox_base = /var/vmail/virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cfvirtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cfvirtual_alias_domains =virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cfvirtual_uid_maps = static:2001virtual_gid_maps = static:2001virtual_transport = virtual
#====================QUOTA========================message_size_limit = 52428800mailbox_size_limit = 209715200virtual_mailbox_limit = 209715200virtual_create_maildirsize = yesvirtual_mailbox_extended = yesvirtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cfvirtual_mailbox_limit_override = yesvirtual_overquota_bounce = yes
#====================SASL ESMTP Authenticat=================smtpd_sasl_auth_enable = yessmtpd_sasl_type = dovecot#smtpd_sasl_path 注意这个是dovecot的sasl路径,与 dovecot.conf 里的对应smtpd_sasl_path = private/authbroken_sasl_auth_clients = yessmtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_invalid_hostname,reject_non_fqdn_hostname,reject_unknown_sender_domain,reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unauth_pipelining,reject_unauth_destinationsmtpd_sasl_local_domain =smtpd_sasl_security_options = noanonymoussmtpd_banner=$myhostname ESMTP
readme_directory = nocommand_directory = /usr/sbindaemon_directory = /usr/libexec/postfixqueue_directory = /var/spool/postfixmail_owner = postfixdata_directory = /var/lib/postfix
启动服务dovecotpostfix start
如果出错,看看 /var/log/maillog
未完待续…
FreeBSD, Debian, CentOS一个网卡绑定多个IP
1. FreeBSD:
配置/etc/rc.conf
ifconfig_interface=”inet 192.168.1.5 255.255.255.0″
ifconfig_interface_alias0=”inet 192.168.1.6 255.255.255.0″
注意interface是网卡设备名.
2. Debian
/etc/network/interfaces
auto eth0iface eth0 inet staticaddress 192.168.1.145
netmask 255.255.255.0
network 192.168.1.0gateway 192.168.1.1
另外一个IP
auto eth0:1iface eth0:1 inet staticaddress 192.168.1.146
netmask 255.255.255.0
network 192.168.1.0gateway 192.168.1.1
3.CentOS:
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0ONBOOT=yesHWADDR=00:0C:29:16:39:5FNETMASK=255.255.255.0IPADDR=192.168.1.147GATEWAY=192.168.1.1TYPE=Ethernet
绑定另外一个IP, 创建另外一个文件, ifcfg-eth0
DEVICE=eth0 // 注意还是eth0, 指示此IP绑定到eth0ONBOOT=yesHWADDR=00:0C:29:16:39:5FNETMASK=255.255.255.0IPADDR=192.168.1.148GATEWAY=192.168.1.1TYPE=Ethernet
内容来自:http://www.jb51.net/os/Unix/1567.html
