|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
(12)配置samba服务器 ..... (13)构建基于Linux的VPN网络 构建VPN几乎是Linux的最高级应用之一了,学会了这项技术,是足以使你自豪的资本。VPN的主要用途就是建立一个加密的通信机制,然后通过把所有的你的子网的信息按照特定的方法加密传输,构成一个逻辑上的虚拟的网络。简朴的说,就是一个Linux系统的IP层加密解决方案。这里面需要用到不少组件,下面一一介绍。 1、预备工作和安装 1.1 从http://www.kernel.org下载2.4.X的内核,除了2.4.15版本(该版本有一个致命错误)。然后把该内核放置到:/usr/src中。(这里我们使用Linux-2.4.18.tar.gz),然后释放:tar zxvf linux-2.4.18.tar.gz 1.2 删除原来的连接rm linux 1.3 ln ?Cs linux-2.4.18.tar.gz linux 1.4 检查当前的网卡和SCSI的型号(参见内核升级一章) 1.5 cd linux (进入linux-2.4.18目录) 1.6 make menugonfig 1.7 make dep 1.8 make bzImage 1.9 编译工作做到这里就打住! 1.10 从http://www.swox.com/gmp 下载gmp库的最新版本到/usr/local/src。 1.11 tar zxvf gmp-4.0.1.tar.gz 1.12 cd gmp-4.0.1 1.13 ./configure 1.14 make 1.15 make install 1.16 从http://www.freeswan.org下载freeswan-1.97.tar.gz(我们这里使用的版本)到/usr/local/src 1.17 tar zxvf freeswan-1.97.tar.gz 1.18 从http://www.strongsec.com/freeswan/ 下载x509patch-0.9.11-freeswan-1.97.tar.gz ,这个是补丁文件。释放,进入x509补丁目录,复制freeswan.diff到外面的freeswan源目录,然后回到freeswan源目录中运行:patch ?Cp1 < freswan.diff 1.19 从http://www.openssl.org下载openssl-0.9.6b版本到/usr/local/src,释放,进入目录 1.20 ./config (假如原来系统中有openssl需要先uninstall再安装,不过一般情况下你可能uninstall不下来8-)。假如无法uninstall,找到他们的路径,在这里通过―prefix=参数指定路径覆盖旧版本的文件。这里严峻建议:假如你没有掌握确定路径,最好这样做:到你用的发行包的开发商的FTP站点(假如你用turbolinux就去ftp.turbolinux.com用redhat就去ftp.redhat.com),用anonymous用户和随便一个电子邮件作为密码登陆,找到你用的发行包版本的生气目录,然后下载相应的RPM包,注重:这里的包至少应该是0.9.6b1以上的i386版本。下载完毕后用rpm ?CUvh更新。这样做完了很干净。 1.21 make (假如你用rpm包升级就不用这个步骤了) 1.22 make test (假如你用rpm包升级就不用这个步骤了) 1.23 make install (假如你用rpm包升级就不用这个步骤了)安装完了以后执行openssl命令,输入version看看是不是你刚刚安装的版本。假如不是,可能没有覆盖原来安装的旧版本。从1.20重新来过 1.24 然后回到freeswan的源目录,运行:make menugo,在networking options中选择关于iptables和ipsec相关的所有选项。其中ipsec是freeswan加上的,最好把前面括号中M(模块方法)换成*(编译进内核)。下列内核选项应该选上: 进入:Networking Options至少选择上: [*] Network packet filtering (replaces ipchains) [*] Network packet filtering debugging (NEW) 进入:IP: Netfilter Configuration ---> <*> Connection tracking (required for masq/NAT) (NEW) FTP protocol support (NEW) IRC protocol support (NEW) 注重:假如你需要使用DHCP功能,需要增加Pachet Socket mmapped IO和Socket Filtering两个选项,参见DHCP一章。 等等…… 把下面的选项全部标记<*> 返回上一层菜单后,把列表选项最下面的凡是IPSEC相关的选项全部选为<*>。另外的,假如你打算使用拨号连接请在网络设备支持菜单选择ppp支持(注重,你用的ppp程序一定要2.4版本以上的) 1.25 然后检查网卡和硬盘选项是否准确,假如没有问题就逐层退出,然后保存配置。 1.26 退出后将自动编译内核,等待…… 1.27 编译完成后,来到/usr/src/linux目录,运行:make modules;make modules_install 1.28 cp System..map /boot/System.map-2.4.18-vpn 1.29 cd arch/i386/boot 1.30 cp bzImage /boot/vmlinuz-2.4.18-vpn 1.31 cd /boot 1.32 rm System.map 1.33 ln ?Cs System.map-2.4.18-vpn System.map 1.34 vi /etc/lilo.conf 增加一段: boot=/dev/sda map=/boot/map install=/boot/boot.b prompt timeout=50 lba32 default=linux-vpn image=/boot/vmlinuz label=linux initrd=/boot/initrd read-only root=/dev/sda5 image=/boot/vmlinuz-2.4.18-vpn label=linux-vpn initrd=/boot/initrd read-only root=/dev/sda5 1.35 运行lilo更新数据 1.36 reboot 1.37 启动后,运行:ipsec setup restart 应该不报任何错误而正常出现freeswan的版本。 注重:还有一些必要的内核参数配置,这些配置可以在rc.local中实现。他们是: echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter echo 1 > /proc/sys/net/ipv4/ip_forward 假如你把下面两项编译成模块(前面扩号是M而不是*): FTP protocol support (NEW) IRC protocol support (NEW) 你需要在rc.local中加上: modprobe ip_nat_ftp 安装完了,接下来我们将说明几种VPN的玩法。 2、配置Frees/wan用于支持双网关通信。也就是两个异地的子网通过一对ipsec的VPN网关进行交互访问。第一种玩法是网络对网络的VPN。一般的,某企业在甲乙两地(距离相称远)各有一个办公室,每个办公室各有一套LAN,他们分别通过专线连接到internet网络上。甲LAN上是企业的治理中央,运行着企业的治理系统。而乙LAN上的用户也需要使用该治理系统,尽管乙LAN可以通过internet(公网)连接过去,但是企业的老板说不行!我们的数据不能暴露在公网上,必须加密!好了,我们的VPN网络就可以应用于该企业的这种需求。首先在甲乙两个LAN的出口各放置一台我们的Linux服务器,他们都安装好了ipsec(前面说的安装步骤一个都不少),两个LAN的数据分别通过各自的这台机器(ipsec gateway)进入公网,凡是经过该网关的数据全部都是加密的。在效果上,两个LAN的用户可以互相ping到对方的机器,尽管他们可能一个是192.168.1.0/24网段,另一个是192.168.10.0/24网段的。他们似乎在同一个局域网中工作,没有界限。公共网络的加密部分对他们来说也是透明的。而两个LAN在公共网络上交换的数据是密文的。这就是虚拟专用网VPN。 但愿你已经按照前面的步骤顺利的安装好了两台机器,下面我告诉你怎样配置成网对网的环境。 2.1 我们先配置甲网的ipsec网关(该网关有两个网卡,我们配置他们的地址分别为eth1:192.168.1.231和eth0:21.9.22.22)。安装完成后,我们首先要做的事情是生成CA证书。(用到刚才安装的openssl) 2.2 找到openssl.cnf文件,一般在/etc/ssl/中,也可能在/var/ssl中或/usr/ssl中(实在不行你就find / -name “openssl.cnf”找找嘛!),要是有好几个,你要搞清晰哪个是你安装的版本。改动其中的default_bits选项的值从1024到2048,然后改动default_days的值到3650。让期限为10年!保存退出。 2.3 在/var/中建立一个目录:/var/sslca,改变该目录的权限为700(chmod 700 /var/sslca) 2.4 在你安装的openssl目录中找到CA.sh脚本。注重,应该是你当前运行的openssl版本的CA.sh 2.5 cd /var/sslca 进入到你刚才建立的目录 2.6 比如你刚才找到的CA.sh在/usr/lib/ssl/misc/,那么就输入/usr/lib/ssl/misc/CA.sh ?Cnewca,接下来你会被问到一系列问题。问题和回答类似于下面的样子。假如你确认哪些你有掌握更改就改,比如公司名称、邮件、密码等。不能确定的就按照下面的样子抄上即可。 ~/sslca#/usr/lib/ssl/misc/CA.sh -newca CA certificate filename (or enter to create) (enter) Making CA certificate ... Using configuration from /usr/lib/ssl/openssl.cnf Generating a 2048 bit RSA private key ........................................+++ ........................................+++ writing new private key to \\\'./demoCA/private/./cakey.pem\\\' Enter PEM pass phrase:(enter password) Verifying password - Enter PEM pass phrase:(enter same password again) ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter \\\'.\\\', the field will be left blank. ----- Country Name (2 letter code) [AU]:US(enter) State or Province Name (full name) [Some-State]:State(enter) Locality Name (eg, city) []:City(enter) Organization Name (eg, company) [Internet Widgits Pty Ltd]:21vianet(enter) Organizational Unit Name (eg, section) []:(enter) Common Name (eg, YOUR name) []:CA(enter) Email Address []:ca@xxx.com(enter) ~/sslca# 2.7 下一步是给网关生成证书: 命令和要回答的问题如下: ~/sslca# /usr/lib/ssl/misc/CA.sh -newreq Using configuration from /usr/lib/ssl/openssl.cnf Generating a 2048 bit RSA private key ...................................+++ ...............................+++ writing new private key to \\\'newreq.pem\\\' Enter PEM pass phrase:(enter password) Verifying password - Enter PEM pass phrase:(repeat password) ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter \\\'.\\\', the field will be left blank. ----- Country Name (2 letter code) [AU]:US(enter) State or Province Name (full name) [Some-State]:State(enter) Locality Name (eg, city) []:City(enter) Organization Name (eg, company) [Internet Widgits Pty Ltd]:ExampleCo(enter) Organizational Unit Name (eg, section) []:(enter) Common Name (eg, YOUR name) []:vpnserver.rd.xxx.com(enter) Email Address []:user@xxx.com(enter) Please enter the following \\\'extra\\\' attributes to be sent with your certificate request A challenge password []:(enter) An optional company name []:(enter) Request (and private key) is in newreq.pem natecars@buzzword:~/sslca$ /usr/lib/ssl/misc/CA.sh -sign Using configuration from /usr/lib/ssl/openssl.cnf Enter PEM pass phrase:(password you entered for the ca certificate) Check that the request matches the signature Signature ok The Subjects Distinguished Name is as follows countryName :PRINTABLE:\\\'US\\\' stateOrProvinceName :PRINTABLE:\\\'State\\\' localityName :PRINTABLE:\\\'City\\\' organizationName :PRINTABLE:\\\'21vianet\\\' commonName :PRINTABLE:\\\'vpnserver.rd.xxx.com\\\' emailAddress :IA5STRING:\\\'rd@xxx.com\\\' Certificate is to be certified until Feb 13 16:28:40 2012 GMT (3650 days) Sign the certificate? [y/n]:y(enter) 1 out of 1 certificate requests certified, commit? [y/n]y(enter) Write out database with 1 new entries Data Base Updated (certificate snipped) Signed certificate is in newcert.pem 在以上步骤中一定要记住你输入的密码。假如哪一不错了,想重新来过的话,记住删除/var/sslca目录下面的所有子目录即可。 2.8 把文件名字改为你需要的 ~/sslca# mv newcert.pem vpnserver.rd.xxx.com.pem ~/sslca# mv newreq.pem vpnserver.rd.xxx.com.key 2.9 编辑.key文件,删除\\\'-----BEGIN CERTIFICATE REQUEST-----\\\'后面所有的东西,之后,这个文件应该从\\\'-----BEGIN RSA PRIVATE KEY-----\\\'至\\\'-----END RSA PRIVATE KEY-----\\\'结束。 2.10 假如正常的安装了x.509补丁,你应该可以看到/etc/ipsec.d及其下面的目录。假如没有,你就自己建立。然后按照下面的位置复制合适的文件:(此时你仍旧在/var/sslca目录中) # cp vpnserver.rd.xxx.com.key /etc/ipsec.d/private # cp vpnserver.rd.xxx.com.pem /etc/ipsec.d # openssl x509 -in demoCA/cacert.pem -outform der -out rootca.der # cp rootca.der /etc/ipsec.d/cacerts/RootCA.der # openssl x509 -in host.example.com.pem -outform der -out /etc/x509cert.der # openssl ca -gencrl -out crl.pem # cp crl.pem /etc/ipsec.d/crls 2.11在/etc/ipsec.secrets中加入一行:: RSA vpnserver.rd.xxx.com.key "password",然后删除其他所有行。其中的password是你前面生成密要的时候回答问题输入的密码。 2.12编辑ipsec.conf文件类似下面的样子: # basic configuration config setup interfaces=%defaultroute klipsdebug=none plutodebug=none plutoload=%search plutostart=%search uniqueids=yes conn %default keyingtries=1 compress=yes disablearrivalcheck=no authby=rsasig leftrsasigkey=%cert rightrsasigkey=%cert left=%defaultroute leftcert=vpnserver.rd.xxx.com.pem auto=add pfs=yes conn roadwarrior right=%any conn roadwarrior-net leftsubnet=192.168.1.0/255.255.255.0 right=%any conn net-net leftsubnet=192.168.1.0/255.255.255.0 right=%any rightsubnet=192.168.10.0/255.255.255.0 conn world-net leftsubnet=* right=%any rightsubnet=192.168.10.0/255.255.255.0 黑体字的部分是你需要根据你实际的环境更改的。我们用的两端的子网是192.168.1.0/24和192.168.10.0/24。文件中vpnserver.rd.xxx.com.pem是CA证书。这个配置是通用的,也就是说可以适用LAN-LAN方法的俩接和远端客户端两种方法。 2.13 下面配置分支机构的网关。这个机器也要事先安装完全freeswan等软件。 重新执行上面的2.7-2.9步骤生成分支机构的证书,注重:在回答问题的过程中,关于主机名称的部分的输入改变为你分支机构的网关机器名称,比如:vpncliet.rd.xxx.com。 2.14 复制下列生成的文件到分支机构网关上的相应位置(比如通过软盘复制): cp vpnserver.rd.xxx.com.pem /etc/ipsec.d cp vpnclient.rd.xxx.com.key /etc/ipsec.d/private cp vpnclient.rd.xxx.com.pem /etc/ipsec.d 执行命令:openssl x509 ?Cin vpnclient.rd.xxx.com.pem ?C outform der ?Cout /etc/x509cert.de cp rootca.der /etc/ipsec.d/cacerts/RootCA.der cp crl.pem /etc/ipsec.d/crls 2.15 配置分支机构的/etc/ipsec.secrets 写上一行: RSA vpnclient.rd.xxx.com.key "password"。 其他行删除。Password就是前面回答问题的时候输入的密码。 2.16 配置/etc/ipsec.conf # basic configuration config setup interfaces=%defaultroute klipsdebug=none plutodebug=none plutoload=%search plutostart=%search uniqueids=yes conn %default keyingtries=0 compress=yes disablearrivalcheck=no authby=rsasig rightrsasigkey=%cert leftrsasigkey=%cert right=%defaultroute rightcert=vpnclient.rd.xxx.com.pem auto=add pfs=yes conn roadwarrior left=21.9.22.22 leftcert=vpnserver.rd.xxx.com.pem conn roadwarrior-net left=21.9.22.22 leftcert=vpnserver.rd.xxx.com.pem leftsubnet=192.168.1.0/255.255.255.0 conn net-net left=21.9.22.22 leftcert=vpnserver.rd.xxx.com.pem leftsubnet=192.168.1.0/255.255.255.0 rightsubnet=192.168.10.0/255.255.255.0 其中黑体的部分是你可以根据实际情况修改的。 2.17 首先启动server端的ipsec:ipsec setup restart,然后同样启动客户端的ipsec 2.18 建立通道:ipsec auto ?Cup net-net然后在Server端可以用命令ipsec whack status应该可以看到新建立的几个通道。此时,你在两个子网中应该可以互相ping 通。 3、配置Frees.wan用于支持远程客户端访问。也就是答应一个Windows客户端,来通过VPN和公司内部的网络进行通讯。 第2种VPN玩法其实就是把分支机构的LAN换成一个单独的,地址不固定的机器。这样的应用适合总经理出差的时候从外地ISP拨号上网连接到本部网络的情况。期间,非但有认证,而且通过ISP和公网的数据全部是加密的。这种方法在服务器端的配置和上面完全相同(记得吗?我们在行面给出的配置已经是兼顾了两种用法)。这里需要做的是把总经理的笔记本配成VPN客户端。他的笔记本应该是windows2000的并且升级到sp2。 3.1 首先重复2.7-2.9步骤生成证书,其中有关主机名的部分可以输入你总经理的机器名。类似于:win.rd.xxx.com。当然,总经理的机器要是同名的。 3.2 在服务器端生成windows可以认的p12格式的密钥。 openssl pkcs12 -export -in win.rd.xxx.com.pem -inkey win.rd.xxx.com.key -certfile demoCA/cacert.pem -out win.rd.xxx.com.p12 3.3 用命令察看环境:最好把结果输出到文件记住,以后用得到。 openssl x509 -in demoCA/cacert.pem -noout -subject 3.4 把上面生成的p12文件传送到总经理的机器上,放在一个正规的地方(这个文件很重要)。 3.5 在总经理的机器上从http://vpn.ebootis.de站点下载:ipsec.exe 3.6 在总经理的机器上从: http://agent.microsoft.com/windows2000/techinfo/reskit/tools/existing/ipsecpolo.asp站点下载windwos2000的ipsec资源工具。 3.7 安装上述两个软件,并且把他们放在同一个目录中。 3.8 建立一个ipsec的MMC:(希望你知道MMC是什么) 依次进入Start/Run/MMC, File (or Console) - Add/Remove Snap-in 单击 \\\'Add\\\' 选 \\\'Certificates\\\', 然后选 \\\'Add\\\' 选 \\\'Computer Account\\\', 然后点 \\\'Next\\\'. 选 \\\'Local computer\\\', 然后点 \\\'Finish\\\'. 选 \\\'IP Security Policy Management\\\', 然后点 \\\'Add\\\'. 选 \\\'Local Computer\\\', 然后点 \\\'Finish\\\' 选 \\\'Close\\\' 然后点 \\\'OK\\\' 3.9 增加一个证书 展开左侧窗口中 \\\'Certificates (Local Computer)\\\' 右键 \\\'Personal\\\', 选 \\\'All Tasks\\\' 然后点 \\\'Import\\\' 点 Next 输入哪个.p12 文件的路径 (就是刚才你从服务器网关复制过来的,浏览选择也可), 然后点\\\'Next\\\' 输入export password(密码), 然后点Next 选\\\'Automatically select the certificate store based on the type of certificate\\\', 然后点Next 点Finish, 假如有任何提示窗口弹出都选yes 退出MMC, 保存当前配置到治理工具中,这样就不用每次都重新来过了。以上所做就增加了一个证书到总经理的机器上。 3.10设置ipsec工具: 编辑总经理机器上的ipsec.conf文件,把rightca的=后面写成刚才openssl x509 -in demoCA/cacert.pem -noout ?Csubject命令生成的结果。类似下面这样: conn roadwarrior left=%any right=(ip_of_remote_system) rightca="C=US,S=State,L=City,O=21vianet, CN=CA,Email=ca@xxx.com" network=auto auto=start pfs=yes conn roadwarrior-net left=%any right=(ip_of_remote_system) rightsubnet=192.168.1.0/24 rightca="C=US,S=State,L=City,O=21vianet, CN=CA,Email=ca@xxx.com" network=auto auto=start pfs=yes 黑体部分要注重配置准确。 3.12运行ipsec.exe有下面输出: C:ipsec>ipsec IPSec Version 2.1.4 © 2001,2002 Marcus Mueller Getting running Config ... Microsoft\\\'s Windows XP identified Host name is: (local_hostname) No RAS connections found. LAN IP address: (local_ip_address) Setting up IPSec ... Deactivating old policy... Removing old policy... Connection roadwarrior: MyTunnel : (local_ip_address) MyNet : (local_ip_address)/255.255.255.255 PartnerTunnel: (ip_of_remote_system) PartnerNet : (ip_of_remote_system)/255.255.255.255 CA (ID) : C=US,S=State,L=City,O=ExampleCo,... PFS : y Auto : start Auth.Mode : MD5 Rekeying : 3600S/50000K Activating policy... Connection roadwarrior-net: MyTunnel : (local_ip_address) MyNet : (local_ip_address)/255.255.255.255 PartnerTunnel: (ip_of_remote_system) PartnerNet : (remote_subnet)/(remote_netmask) CA (ID) : C=US,S=State,L=City,O=ExampleCo,... PFS : y Auto : start Auth.Mode : MD5 Rekeying : 3600S/50000K Activating policy... C:ipsec> 这时候你从客户端ping服务器后面的内网得到几个\\\'Negotiating IP Security\\\'之后就可以ping通了。这样总经理带着这台笔记本到有互联网络的地方就可以象在办公室相同连接到公司里了。 值的注重的是,出于安全性的问题,我们建议你关闭VPN网关上面的所有其他服务,并仔细配置防火墙。通常的,假如你希望把所有的流量都发送给主站网关,在从站就不需要增加iptables策略。否则,需要增加这样一条策略: iptables ?Ct nat ?CA POSTROUTING ?Co eth0 ?Cj MASQUERADE 在主站由于路由的原因,需要增加下面的策略: iptables ?Ct nat ?CA POSTROUTING ?Co ipsec0 ?Cs ! 192.168.10.0/255.255.255.0 ?C j SNAT ?Cto 192,168.1.231 iptables ?Ct nat ?CA POSTROUTING ?Co eth1 ?Cs ! 192.168.10.0/255.255.255.0 ?C j SNAT ?Cto 192,168.1.231 每行中前面的黑体是子网网段,后面的是本网关的内侧出口。 注:原版资料在http://vpn.ebootis.de/ 具体资料在:http://www.natecarlson.com/include/showpage.php?cat=linux&page=ipsec-x509 (14)安装另一种邮件系统postfix 任何一种知名的事物好像一定有至少一个跟风之作(微软的Windows系列好像例外,跟风者无一例外的夭折了),并且这些后来者往往有他们更精彩的方面才能立足。在UNIX世界的邮件服务器领域,没有哪个产品能够有sendmail程序这么大的名气,尽管它有一个异常晦涩的配置文件。同样的,有不少人为了改进Sendmail的缺点做了很多其他的邮件服务器产品,并且的它们都有各自鲜明的特色,并且吸引了不少用户。其中佼佼者当属Qmail和Postfix邮件系统了。这里我们之所以选择Postfix介绍,主要基于下面两个原因:其一、Postfix是一个和Sendmail相同的为高负载邮件服务器设计的MTA(邮件传输代理),而Qmail处理能力要差一些(它比较适合中小型的应用场合)。在某些情况下Postfix甚至比Sendmail速度快3倍。其二、Postfix是按照兼容Sendmail的设计路子来做的,相称的配置文件都可以直接使用。这样原有的Sendmail用户可很轻易的升级的Postfix。这是一个很“优惠”的升级条件,吸引了很多的原来的Sendmail用户。 安装和配置Postfix邮件系统的最基本步骤如下: 1、从http://www.postfix.org下载Postfix的最新版本。我们这里使用的版本是postfix1.1.5,文件名字叫作postfix-1.1.5.tar.gz,把这个文件下载到/usr/local/src里面 2、cd /usr/local/src 3、tar zxvf postfix-1.1.5.tar.gz释放压缩文件 4、cd postfix-1.1.5 5、vi INSTALL仔细阅读该安装文件和注重事项。 6、make clean 7、make 8、useradd postfix (或者是adduser postfix)增加一个新的用户。然后用:vi /etc/passwd 编辑用户文件的postfix一行,让该行看起来类似:postfix:*:2126:2128:postfix:/no/where:/no/shell 其中号码部分不要改动。这主要是为了安全性考虑。 9、groupadd postdrop 建立一个组,但是这个组不能包括任何一个用户。/etc文件中的相关行类似于:postdrop:*:54321: 10、检查/etc/mail/aliases里面有没有postfix: root一行,没有就加上。 11、# mv /usr/sbin/sendmail /usr/sbin/sendmail.OFF 12、# mv /usr/bin/newaliases /usr/bin/newaliases.OFF 13、# mv /usr/bin/mailq /usr/bin/mailq.OFF 14、# chmod 755 /usr/sbin/sendmail.OFF /usr/bin/newaliases.OFF /usr/bin/mailq.OFF 15、make install (新安装) 16、make upgrade (升级) 在执行上述两步(选择其中一个)的时候,脚本会提问许多路径什么的,建议不要做改动一路回车下来,除非你确定你知道改动默认值的必要性。 17、启动是postfix start 注重:以上步骤10-14是从sendmail升级的时候用的。 很可能的,这样安装完了系统还不能收发邮件。首先,你应该安装一个pop3邮件接收协议服务(参见pop3安装)。另外的,需要按照下列步骤检查一下相关的配置文件。 1、/etc/mail/access是答应访问的控制文件,类似下面内容,注重:地址就别照抄了。 127.0.0.1 RELAY 21.9.22 RELAY 211.151.194.14 RELAY 事实上这个文件可以定义得相称复杂。模板和说明可以参照:/etc/postfix/access 2、编辑完成/etc/access文件,还要把它编译成数据库格式:makemap hash access.db < access 3、/etc/mail/aliases是别名文件,类似下面的内容: MAILER-DAEMON: postmaster postmaster: root bin: root daemon: root nobody: root postfix: root 这个文件的模板和说明可以参见/etc/postfix/aliases。编辑完成后,用newaliases aliases转变成数据库格式。 4、/etc/mail/local-host-names写了本地主机的名字,内容类似于: rd.xxx.com tls65.rd.xxx.com 5、主配置文件:/etc/postfix/main.cf ,看一下内容,比sendmial.cf强多了吧?每一项都有具体的说明和示例。最主要的(仅能使运行的)配置项目在载面介绍一下。 5.1 mydomain 指明你的域名,在这里我们指定: mydomain = test.com 5.2 myorigin myorigin参数指明发件人所在的域名。假如你的用户的邮件地址为user@domain.com,则 该参数指定@后面的域名。在这里我们指定: myorigin = $mydomain 5.3 mydestination mydestination参数指定postfix接收邮件时收件人的域名,换句话说,也就是你的postfix 系统要接收什么样的邮件。通常与myorigin相同: mydestination = $mydomain 5.4 mynetworks_style 设置网络类型,我们指定: mynetworks_style = subnet 5.5mynetworks 定义可以使用的此smtp服务器发信的客户ip地址,因为公司的ip范围已知,所以我们指定: mynetworks = 192.168.1.0/24 6、设定DNS服务器的MX记录。例如,在域test.com中,安装postfix的服务器名字叫mail.test.com,则在本域的DNS中设定MX记录为mail.test.com 7、更改设定后不必重新启动postfix,只需要用postfix reload命令重新加载配置即可。 8、post还支持虚拟域名,配置方式如下: 8.1 首先把otherdomain.com(要用的虚拟域名)的MX记录指向mail.test.com(本域的邮件服务器),这个配置在负责解析otherdomain.com的DNS做。 8.2 为了让用户可以使用username@otherdomain.com收发邮件,我们必须配置虚拟域,在main.cf文件中,我们添加以下内容: virtual_maps = hash:/etc/postfix/virtual 这里假定用户tom、test、white需要使用这个虚拟域名,当然首先要在系统中添加这几个用户(用useradd或adduser填加系统用户),然后建立/etc/postfix/virtual文件并添加以下内容: othername.com anything tom@othername.com tom test@othername.com test white@othername.com white 之后,用postmap命令生成虚拟域数据库: postmap /etc/postfix/virtual 明白上面配置文件的例子,你就可以异常灵活的多域名邮件系统了。 返回类别: 教程 上一教程: 收集推荐:LINUX常用词汇及术语大全[1] 下一教程: 关闭任务治理器杀不了的进程 您可以阅读与"LINUX简明系统维护手册(五)"相关的教程: · LINUX简明系统维护手册(二) · LINUX简明系统维护手册(四) · LINUX简明系统维护手册(一) · LINUX简明系统维护手册(三) · Windows操作系统的八大维护常识 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |