centos5.5 dns配置,linux查看dns配置

Linux系统下安装配置postfix邮件服务器教程

一,安装postfix,cyrus-sasl,cyrus-imapd

如果yum提示找不到软件包,请换一下源,请参考centos 6推荐使用epel源

代码如下:

[root@localhost~]# yum install postfix

[root@localhost~]# yum install cyrus*

二,删除了sendmail

代码如下:

[root@localhost~]# rpm-e sendmail

或者

代码如下:

[root@localhost~]# yum remove sendmail

三,更改默认邮件传输代理(MTA)

代码如下:

[root@localhost sasl2]# alternatives--config mta

共有 1个程序提供“mta”。

选择命令

-----------------------------------------------

*+ 1/usr/sbin/sendmail.postfix

按 Enter来保存当前选择[+],或键入选择号码:1

上面的只有一个postfix,sendmail已经被我删了。可以通过下面命令来查看。

代码如下:

[root@localhost~]# alternatives--display mta

四,postfix,cyrus-sasl,cyrus-imapd相关配置

1,postfix主配置文件main.cf

代码如下:

[root@localhost postfix]# vim/etc/postfix/main.cf

myhostname= localhost//76行,将等号后面的部分改写为本机主机名

mydomain= 51yip.com//82行,设置域名

myorigin=$mydomain//97行,把$myhostname改为$mydomain

inet_interfaces= all//112行,把后面的localhost改成all

mydestination=$myhostname, localhost.$mydomain, localhost,$mydomain//163行,把前面的注释拿掉,并加一下$mydomain

mynetworks= 192.168.0.0/24, 127.0.0.0/8//263行,设置内网和本地IP

local_recipient_maps=//209行,把前面的注释拿掉。

smtpd_banner=$myhostname ESMTP unknow//568行,把前面的注释拿掉,然后把$mail_name($mail_version)改成unknow

p//在main.cf文件的底部加上以下内容

smtpd_sasl_auth_enable= yes//使用SMTP认证

broken_sasl_auth_clients= yes//让不支持RFC2554的smtpclient也可以跟postfix做交互。

smtpd_sasl_local_domain=$myhostname//指定SMTP认证的本地域名

smtpd_sasl_security_options= noanonymous//取消匿名登陆方式

smtpd_recipient_restrictions= permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination//设定邮件中有关收件人部分的限制

smtpd_sasl_security_restrictions= permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination//设置允许范围

message_size_limit= 15728640//邮件大小

mailbox_transport=lmtp:unix:/var/lib/imap/socket/lmtp//设置连接cyrus-imapd的路径

如果不加local_recipient_maps这个配置,收邮件收不到,下面是qq的退信。

收件人邮件地址(tank@51yip.com)不存在,邮件无法送达。host mail.51yip.com[122.225.***.***] said: 550 5.1.1: Recipient address rejected: User unknown in local recipient table(in reply to RCPT TO command)

2,cyrus-sasl配置

代码如下:

[root@localhost postfix]# vim/etc/sasl2/smtpd.conf//在文件尾部加上以下内容

log_level: 3//记录log的模式

saslauthd_path:/var/run/saslauthd/mux//设置一下smtp寻找cyrus-sasl的路径,在这里要提一下的32位的机器和64位的机器smtpd.conf的路径是不一样的。

p//这是centos 5.5 32位机器上smtpd的配置文件

[root@linux sasl2]# ls|grep conf

Sendmail.conf

smtpd.conf

[root@linux sasl2]# pwd

/usr/lib/sasl2

//这是centos 6.0 64位机器上smtpd的配置文件,其他地方没有smtpd的配置文件

[root@localhost postfix]# ls/etc/sasl2/|grep smtpd

smtpd.conf

网上有不少关于postfix安装文章,配置的时候并没有明确提出是32位机器,还是64位机器。所以在这里标明一下。

3,配置cyrus-imapd

cyrus-imapd的主要配置文件有下面三个

代码如下:

/etc/sysconfig/cyrus-imapd

p/etc/cyrus.conf

p/etc/imapd.conf

这里是默认的配置,也就是说上面三个文件我是没有动过的。在这里提醒一下imapd.conf在这个文件里面,你可以设置管理账号

,设置邮件存放目录,设置密码连接方式等。

五,启动postfix,cyrus-sasl,cyrus-imapd

启动cyrus-imapd服务,就可以同时提供pop和imap服务,如果你已安装了dovecot服务就可以删除掉,cyrus-imapd和dovecot二者选其一就行了,二都可以提供pop和imap服务,不过cyrus-imapd可以为每个用户创建一个信息,而且信箱具有层次结构,比较好管理。建议用cyrus-imapd。

代码如下:

[root@linux sasl2]#/etc/init.d/postfix start

[root@linux sasl2]#/etc/init.d/saslauthd start

[root@linux sasl2]#/etc/init.d/cyrus-imapd start

查看一下进程,

代码如下:

//smtp监听是25端口

[root@linux u]# netstat-tpnl|grep smtpd

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 6319/smtpd

代码如下:

//110(POP3)和143(IMAP)端口,下面都已经有了

[root@linux u]# netstat-tpnl|grep cyrus

tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 23593/cyrus-master

tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 23593/cyrus-master

tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 23593/cyrus-master

tcp 0 0 0.0.0.0:2000 0.0.0.0:* LISTEN 23593/cyrus-master

tcp 0 0:::993:::* LISTEN 23593/cyrus-master

tcp 0 0:::995:::* LISTEN 23593/cyrus-master

tcp 0 0:::110:::* LISTEN 23593/cyrus-master

tcp 0 0:::143:::* LISTEN 23593/cyrus-master

tcp 0 0:::2000:::* LISTEN 23593/cyrus-master

启动是没有问题的。

六,测试cyrus-sasl

代码如下:

[root@linux t]# passwd cyrus//设置cyrus的密码

[root@linux sasl2]# testsaslauthd-u cyrus-p'******'//系统用户和密码

0: OK"Success."

如果显示是上面的内容说是smtp是没有什么问题

七,cyrus-imapd生产邮件管理员账号,并添加测试账号

安装完cyrus-imapd后会产生一个管理账号是cyrus,所属用户组是mail

代码如下:

[root@linux sasl2]# id cyrus//imapd.conf里面默认的管理员账号就是cyrus

uid=76(cyrus) gid=12(mail) groups=12(mail),76(saslauth)

在认证admin账号时,我发现32位系统和64位系统有一点不同,二种系统我都配置过,配置都是一样的,

但是出现的结果不一样,看下图

   32位机器cyrus管理员用户认证

   64位机器cyrus管理员用户认证

从上图可以看出,32位的系统是不用加上--auth plain,64位的要,如果不加的话,根本进不去。

进去后,我们来添加一下测试账号

代码如下:

[root@linux sasl2]# cyradm-u cyrus localhost

IMAP Password:

localhost cm tank

localhost lm

tank(HasNoChildren)

localhost quit

这样我们可以在/var/spool/imap中看到,生成的目录,32位机器和64位机器生成的目录是不一样的

代码如下:

//这是64位系统生成的目录

[root@localhost u]# ls

user^tank

[root@localhost u]# pwd

/var/spool/imap/u

//这是32位系统生成的目录

[root@linux t]# ls

tank

[root@linux t]# pwd

/var/spool/imap/t

八,测试收发邮件

测试前添加一下DNS,

1,mail.51yip.com A默认 122.225.***.***

2,mail.51yip.com A联通 60.12.***.***

3,@ MX默认 mail.51yip.com

第1和第2,是添加二条A记录,第三行,设置了一下MX记录,这个千万不要忘了,不然你的域名是不通的。

方法有很多,我们可以利用telnet来测试,不过用telnet来测试收发邮件比较麻烦,用linux自带的

mail命令就方便多了

代码如下:

[root@localhost u]# mail-s'看一下' 95219454@qq.com/etc/imapd.conf

服务器配置参数有哪些

TCP/IP参数设置:方法1:从“控制面板”中设置(1)开始--设置--控制面板--双击“网络”图标,单击”配置”,出现如图1所示的窗口。(2)单击“TCP/IP-〉网卡类型名”,再单击“属性”,出现对话框。(3)设置IP地址;单击“IP地址”选项卡,选择“指定IP地址”,在“IP地址”处输入网络管理员分配给您的IP地址,在“子网掩码”处输入:255.255.255.0.(4)设置网关:单击图2的“网关”选项卡,出现如图3所示的窗口,在新网关处输入您的子网的网关,如图所示再单击“添加”将此网关加入到“已安装的网关”列表中,此网关不同网段是不同的,这是您申请开户时网络管理员指定的。(5)设置DNS:单击“DNS配置”选项卡,出现如图4所示的窗口。单击“启用DNS”,在主机(H)后的空白栏中输入你的计算机名,在域(O)后的空白栏中输入fosu.edu.cn。在“DNS服务器搜索顺序”下的空白栏中输入如图4所示的IP地址。然后点按“添加”按钮,在下面的空白栏中会出现您刚才添加的IP地址。(6)单击“确定”按钮,若你是在安装完win98后第一次设置TCP/IP参数,系统会需要从WIN98安装盘中解压缩并读入有关TCP/IP的文件,你需要准备WIN98安装盘。(7)系统重新启动,即完成网络设置。2.方法2:使用快捷菜单单击桌面的“网络邻居”图标,点按鼠标右健,选择快捷菜单的“属性”命令,出现图1所示的窗口,其他设置同以上步骤。

centos6.5安装到U盘出问题

usblinux把linux系统安装到u盘里

加电

BIOS找启动方式,找设备

MBR

grub

vmlinux initrd

产生init

/etc/inittab-->找到应该启动的级别

按照不同的级别启动不同类型的服务/etc/rcX.d/

/etc/rc.sysinit

/etc/rc.local

产生终端可以登录

ls/root/install.log

livecd不用安装,直接可以使用系统的CD,DVD

回顾开机启动的过程:

开机-->bios(配置主板的程序,basic input and output system,加电自检,找到启动设备的编号)-->找到mbr(master bootloader record,它是属于硬盘的0磁盘0扇区)-->grub-->通过grub找到vmlinuz和initrd(驱动硬件)-->内核启动,产生init进程-->/etc/inittab(确定系统的启动级别)-->/etc/rc.sysinit(获取主机的网络环境和主机类型,测试与载入设备,是否启动selinux,模块的加载,设置系统时间.................)-->/etc/rc.local

与USB有关的模块

[root@li~]# lsmod|grep ci

uhci_hcd 25421 0

ohci_hcd 24553 0

ehci_hcd 33869 0

--因为U盘分区在windows下不认,所以我这里两G的U盘,直接都用来做usblinux

1,首先删除U盘里原有分区

第一种:用fdisk/dev/sdb,然后用d命令去删除

第二种:dd if=/dev/zero of=/dev/sdb bs=1024 count=1--删除磁盘分区信息

重新按照规划的去分区:

Disk/dev/sdb: 2000 MB, 2000570368 bytes

62 heads, 62 sectors/track, 1016 cylinders

Units= cylinders of 3844* 512= 1968128 bytes

Device Boot Start End Blocks Id System

/dev/sdb1* 1 763 1466455 83 Linux

/dev/sdb2 764 1016 486266 82 Linux swap/ Solaris

Command(m for help): w

--或者分为1G做usblinux,500m做swap,500m留给fat32

Disk/dev/sdb: 2000 MB, 2000570368 bytes

62 heads, 62 sectors/track, 1016 cylinders

Units= cylinders of 3844* 512= 1968128 bytes

Device Boot Start End Blocks Id System

/dev/sdb1* 1 509 978267 83 Linux

/dev/sdb2 510 764 490110 82 Linux swap/ Solaris

/dev/sdb3 765 1016 484344 b W95 FAT32

Command(m for help): w

[root@li~]# partprobe

--有些U盘报kerenl相关的两到三段信息,就不要使用多分区,就分一个分区。

2,格式化分区,并挂载

[root@li www]# partprobe--fdisk分区后,都要用此命令刷新

--这一步,有很多U盘会报错,如果报错的话最好去windows虚拟机下全格一下,再重新在linux下来做

[root@li www]# mkfs-t ext3/dev/sdb1

[root@li www]# mkswap/dev/sdb2

[root@li www]# mkdir/usb

[root@li www]# mount/dev/sdb1/usb/--建立一个目录,挂载/dev/sdb1

3,安装基本的目录结构

准备光盘iso文件,挂载到一个目录去

[root@li www]# mount/share/iso/rhel-5.4-server-i386-dvd.iso/yum/-o loop

[root@li www]# cd/yum/Server/

[root@li Server]# rpm-qip filesystem-2.4.0-2.i386.rpm

Description:

filesystem软件包是安装在红帽 Linux系统上的一个基本

软件包。filesystem含有一个 Linux操作系统的基本目录布局,

包括各目录的正确许可权限。

要使用--nodeps脱离依赖性才可以安装

[root@li Server]# rpm-ivh--root=/usb/--nodeps filesystem-2.4.0-2.i386.rpm

或者先装setup包,再装filesystem包

[root@li~]# rpm-ivh--root=/usb/share/yum/Server/setup-2.5.58-7.el5.noarch.rpm

[root@li~]# rpm-ivh--root=/usb/share/yum/Server/filesystem-2.4.0-2.i386.rpm

[root@li~]# ls/usb--一个基本的目录布局就已经装好了

bin etc lost+found opt sbin sys var

boot home media proc selinux tmp

dev lib mnt root srv usr

4,安装相应的软件包,也就是定制功能

下面最主要的一步就是安装系统的软件包,首先要思考安装的这个USB系统需要什么功能,比如最基本的命令ls,cd等

这里可以选择使用busybox(是一个基本命令工具集),但如果对其不是特别熟悉,还是按基本命令一个一个的来选

首先要装bash包,包含50多个内部命令

[root@dns Server]# chroot/usb--不装bash无法 chroot进去

chroot: cannot run command `/bin/bash': No such file or directory

[root@dns Server]# rpm-qf/bin/ls

coreutils-5.97-23.el5

[root@dns Server]# rpm-qf `which vi`

vim-minimal-7.0.109-6.el5

[root@dns Server]# rpm-qf `which vim`

vim-enhanced-7.0.109-6.el5

[root@dns Server]# rpm-qf `which ping`

iputils-20020927-46.el5

[root@dns Server]# rpm-qf `which mount`

util-linux-2.13-0.52.el5

[root@dns Server]# rpm-qf `which tar`

tar-1.15.1-23.0.1.el5

[root@dns Server]# rpm-qf `which rpm`

rpm-4.4.2.3-18.el5

[root@dns Server]# rpm-qf `which man`

man-1.6d-1.1

[root@dns Server]# rpm-qf `which ssh`

openssh-clients-4.3p2-36.el5

[root@dns Server]# rpm-qf `which awk`

gawk-3.1.5-14.el5

[root@dns Server]# rpm-qf `which sed`

sed-4.1.5-5.fc6

[root@dns Server]# rpm-qf `which grep`

grep-2.5.1-55.el5

[root@dns Server]# rpm-qf `which find`

findutils-4.2.27-6.el5

[root@dns Server]# rpm-qf `which locate`

mlocate-0.15-1.el5.2

[root@dns Server]# rpm-qf `which useradd`

shadow-utils-4.0.17-14.el5

[root@dns Server]# rpm-qf `which passwd`

passwd-0.73-1

[root@dns Server]# rpm-qf `which init`

SysVinit-2.86-15.el5

[root@dns Server]# rpm-qf `which clear`

ncurses-5.5-24.20060715

[root@dns Server]# rpm-qf `which ps`

procps-3.2.7-11.1.el5

[root@dns Server]# rpm-qf/usr/bin/which

which-2.16-7

[root@dns Server]# rpm-qf `which ifconfig`

net-tools-1.60-78.el5

[root@dns Server]# rpm-qf `which fdisk`

util-linux-2.13-0.52.el5

[root@dns Server]# rpm-qf `which partprobe`

parted-1.8.1-23.el5

[root@li~]# rpm-qf `which showmount`

nfs-utils-1.0.9-42.el5

[root@li~]# rpm-qf `which service`

initscripts-8.45.30-2.el5

[root@li Server]# rpm-qf `which bzip2`

bzip2-1.0.3-4.el5_2

[root@li Server]# rpm-qf `which gzip`

gzip-1.3.5-10.el5

--经过上面对基本命令的包查找,最终安装下列这些基本包

[root@dns Server]# yum install--installroot=/usb bash coreutils vim-minimal vim-enhanced iputils util-linux tar rpm man openssh-clients gawk sed grep findutils mlocate shadow-utils passwd SysVinit ncurses procps which net-tools util-linux parted nfs-utils initscripts bzip2 gzip

--如果上面步骤安装完后,有忘记安装的包,再使用yum装不上去

[root@li~]# yum install--installroot=/usb iptables

Loaded plugins: downloadonly, rhnplugin, security

This system is not registered with RHN.

RHN support will be disabled.

Setting up Install Process

No package iptables available.

Nothing to do

--所以再安装的话使用rpm去安装

[root@li~]# rpm-ivh--root=/usb/share/yum/Server/iptables-1.3.5-5.3.el5.i386.rpm

5,安装启动引导文件和模块

[root@li Server]# chroot/usb--使用此命令,就是以/usb目录为根目录了

bash-3.2# ls/boot/--可以看到现在usblinux里的/boot目录没有任何文件

bash-3.2# exit--用exit退出chroot模式

exit

[root@li~]# cp/etc/skel/.bash*/usb/root/-rf

--拷环境变量模版过去

定制支持usb存储启动的ramdisk(initrd文件)

[root@li Server]# mkinitrd--with usb_storage/usb/boot/initrd.img `uname-r`

从真机上拷贝vmlinuz到usblinux对应目录

[root@li Server]# cp/boot/vmlinuz-2.6.18-164.el5/usb/boot/vmlinuz

从真机上拷贝内核模块到usblinux对应目录

[root@li Server]# cp/lib/modules/2.6.18-164.el5//usb/lib/modules/-rf

拷内核源码,可选步骤

[root@li Server]# mkdir/usb/usr/src/kernels/

[root@dns Server]# cp/usr/src/kernels/2.6.18-164.el5-i686//usb/usr/src/kernels/-rf

6,安装并手动写grub

--如果是用真实机分区来代替U盘做usblinux的话,这一步不用做,只需要把这个分区的引导信息加入到真实机的配置文件里就可以了

安装grub包,用--nodeps脱离依赖性

[root@li Server]# rpm-ivh--nodeps--root=/usb grub-0.97-13.5.i386.rpm

--脱离依赖安装,会没有splash.xpm.gz图片,可以从真机拷一个

也可以按下面安装

[root@li~]# rpm-ivh--root=/usb/share/yum/Server/*logos*

warning:/share/yum/Server/redhat-logos-4.9.16-1.noarch.rpm

[root@li~]# rpm-ivh--root=/usb/share/yum/Server/grub-0.97-13.5.i386.rpm

--但这样安装完后,grub目录下只有一个背景图片

[root@dns Server]# ls/usb/boot/grub/

splash.xpm.gz

grub-install安装到/dev/sdb

[root@li Server]# grub-install--root-directory=/usb--recheck/dev/sdb

--如果是用真实机分区来做的话,这里/dev/sdb改成/dev/sda

--grub-install之后,grub目录的基本文件就有了(除了配置文件grub.conf)

[root@dns Server]# ls/usb/boot/grub/

device.map iso9660_stage1_5 splash.xpm.gz vstafs_stage1_5

e2fs_stage1_5 jfs_stage1_5 stage1 xfs_stage1_5

fat_stage1_5 minix_stage1_5 stage2

ffs_stage1_5 reiserfs_stage1_5 ufs2_stage1_5

修改device.map

[root@li Server]# vim/usb/boot/grub/device.map

(hd0)/dev/sdb

--如果是用真实机分区来做的话,这里/dev/sdb改成/dev/sda

手动写grub.conf文件

--下面是以u盘来做的写法

[root@li Server]# vim/usb/boot/grub/grub.conf

default=0

timeout=-1

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title usblinux

root(hd0,0)

kernel/boot/vmlinuz ro root=/dev/sdb1

initrd/boot/initrd.img

=============================================

--因为我这次是使用真实机的/dev/sda14来做根./dev/sda15做swap

上面的第6步不用做,只做这一小段就好了

所以把下面这段加到真实机的/boot/grub/grub.conf里

title usblinux

root(hd0,13)--因为我模拟的这个usblinux的根为sda14,所以这里写13

kernel/boot/vmlinuz ro root=/dev/sda14

initrd/boot/initrd.img

# grub-install/dev/sda--加完后,就grub-install安装一下

--------------------------------------------------

7,拷贝密码文件,拷贝环境变量

--这一步可以不拷,因为现在usblinux上默认有passwd和group文件,没有shadow和gshadow

--里面默认有root用户和系统用户

[root@li Server]# cp/etc/passwd/usb/etc/passwd

[root@li Server]# chroot/usb/--再次chroot到/usb目录,提示符就变了

[root@li/]# pwconv--同步/etc/passwd和/etc/shadow

[root@li/]# grpconv--同步/etc/group和/etc/gshadow

[root@li/]# passwd root--修改root的密码,到时候登录需要

8,手动编写fstab文件

[root@li/]# vim/etc/fstab--注意这里是usblinux系统里的fstab,因为已经chroot进来了

/dev/sdb1/ ext3 defaults 0 0

/dev/sdb2 swap swap defaults 0 0

devpts/dev/pts devpts gid=5,mode=620 0 0

sysfs/sys sysfs defaults 0 0

proc/proc proc defaults 0 0

tmpfs/dev/shm tmpfs defaults 0 0

--用真实机的/dev/sda14来做根./dev/sda15做swap的话,就把上面的sdb1换成sda14,sdb2换成sda15,其它的不变

9,让usblinux支持网络

从真机拷贝eth0的配置文件到usblinux对应目录中:

[root@li Server]# cp/etc/sysconfig/network-scripts/ifcfg-eth0/usb/etc/sysconfig/network-scripts/

修改网络配置文件,可以改成静态IP

[root@li Server]# vim/usb/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=dhcp

ONBOOT=yes

从真机拷贝全局网络配置文件到usblinux对应目录中

[root@li Server]# cp/etc/sysconfig/network/usb/etc/sysconfig/

从真机拷贝modprobe.conf到usblinux对应目录中

[root@li Server]# cp/etc/modprobe.conf/usb/etc/

alias eth0 8139too--注意这一句在不同的系统里可能要修改,现在这里的网卡模块是8139too,所以这里是8139too就可以;这个在虚拟机里为pcnet32

然后重启系统,在bios选择使用usb引导进入系统,去验证功能

--如果是真实机分区做的,就不用改bios,直接在grub选择菜单选择usblinux引导进入就可以了

-------------------------------------------------------------

上面的步骤里还没有去加的功能有动态获取IP(需要安装dhclient包)

没有yum命令,没有图形界面(有需要的话,自己使用rpm安装yum命令后,使用yum安装图形包的两个组)

启动时有大量无用信息,可以在grub.conf里加rhgb quiet来解决

但重启后还会有一个错误信息:

(会有一个usb_storage的报错信息,但此信息没有影响,是mkinitrd--with usb_storage时造成的)

如果一定要除掉这句报错,可以手工修改initrd文件

# cd/tmp

# cp/usb/boot/initrd.img/tmp/initrd.img.gz

# gunzip initrd.img.gz

# cpio-i--make-directories< initrd.img

# rm initrd.img

# vim init--打开,删除以下的几行

echo"loading usb-storage.ko module"

insmod/lib/usb-storage.ko

echo waiting for dirver initialization

stabilized/proc/bus/usb/devices

echo waiting for driver initializtin

# find.| cpio-c-o>../initrd.img

# gzip-9../initrd.img

# cp../initrd.mg.gz/usb/boot/initrd.img

=============================================================

阅读剩余
THE END