您的位置:首页 > 理论基础 > 计算机网络

邮件服务,高级网络配置

2017-03-16 19:41 323 查看
########邮件系统mail######

(westos.westos.com linux.;inux.com)

#####1.配置DNS#####

#yum install bind -y

#vim /etc/named.conf  ##开启所有端口

#vim /etc/named.rfc1912.zones  ##添加域名

#vim /var/named/linux.com.zone

 $TTL 1D

 @ IN SOA  dns.linux.com. root.linux.com. (

 0 ; serial

 1D ; refresh

 1H ; retry

 1W ; expire

 3H )  ; minimum

 NS dns.linux.com.

 dns A  172.25.254.113

linux.com. MX 1

172.25.254.213.  ##邮箱的存放

#vim /var/named/westos.com.zone

 $TTL 1D

 @ IN SOA  dns.westos.com. root.westos.com. (

 0 ; serial

 1D ; refresh

 1H ; retry

 1W ; expire

 3H )  ; minimum

 NS dns.westos.com.

 dns A  172.25.254.113

 westos.com. MX 1

172.25.254.113.

#vim /etc/resolv.conf ##修改DNS服务器

#dig -t mx linux.com ##测试

#####2.修改postfix的配置文件####

systemctl status postfix.service ##查看邮件服务

1.vim /etc/postfix/main.cf ##修改配置文件

 76 myhostname = linux.linux.com ##配置主机名

 83 mydomain = linux.com ##配置域名

 99 myorigin = $mydomain ##配置给别人发时用的名字

 113 inet_interfaces = all ##打开所有接口

 116 #inet_interfaces = localhost ##与上者对应

 164 mydestination = $myhostname, $mydomain, localhost

##配置收什么样的邮件

2.systemctl restart postfix.service

3.mail root@linux.com ##发送邮件

4.mailq ##查看邮件队列(未发出的)

6.postqueue -f ##刷新邮箱队列

7.cat /var/log/maillog ##查看邮件日志

8.postsuper -d ****** ##删除队列中的邮件

#####3.别名发送和群发######

1.vim /etc/aliases ##编辑该文件(类似于邮件转移将前面发给后面)

 admin:   root ##将发给admin的给root

 more:    :include:/etc/postfix/users ##将给more的给后面文件的用户

 root:    student ##将发给root的邮件发给student

 root:    root@mr.com ##将发给root的邮件发给root@mr.com

 root:    :include:/etc/postfix/users ##将发给root的邮件发文件的用户

 admin:   root@mr.com ##将发给admin的给root@mr.com

2.postalias /etc/aliases ##加密aliases(重载)

接受伪装(linux.com可以接受发给mr@qq.com,@163.com的邮件)(别人向这里发送时需要更改DNS)

1.vim /etc/postfix/virtual ##编辑以更换@后面的

 mr@qq.com          root@linux.com ##自动排序

 @163.com           @linux.com ##同上

2.postmap /etc/postfix/virtual ##加密处理

3.postconf -e "virtual_alias_maps = hash:/etc/postfix/virtual"##读取加密文件

->发送伪装

1.vim /etc/postfix/generic

 root@linux.com          mr@qq.com

 @linux.com              @qq.com

2.postmap /etc/postfix/generic

3.postconf -e "smtp_generic_maps = hash:/etc/postfix/generic"

#####4.远程收(dovecot)发(postfix)邮件#####

postfix服务:

测试:

1.yum install telnet -y ##安装telnet服务

2.telnet 172.25.254.213 25 ##测试25端口

  mail from:admin@qq.com

  rcpt to:student@163.com 

  data

  quit

收邮件(dovecot服务)

1.yum install dovecot -y

2.vim /etc/dovecot/dovecot.conf ##编辑主配置文件

 24 protocols = imap pop3 lmtp 

 48 login_trusted_networks = 0.0.0.0/0

 49 disable_plaintext_auth = no

3.vim /etc/dovecot/conf.d/10-mail.conf ##子配置文件

 30 mail_location = mbox:~/mail:INBOX=/var/mail/%u

4.systemctl start dovecot

5.touch ~/mail/.imap/INBOX ##用student(普通用户)建立

6.touch /etc/skel/mail/.imap/INBOX ##新建的用户会自动建立skel下的目录到自己的家目录

测试:

1.yum install mutt -y

2.mutt -f pop://student@172.25.254.213

3.可以使用客户端雷鸟

#######5.建立虚拟用户处理邮件########

1.yum install mariadb-server httpd php php-mysql -y

  mysql -uroot -p

  create user postfix@localhost identified by 'postfix';

##创建用户

  grant insert,select on email.* to postfix@localhost;

##授权

  配置图形数据库建立一个数据库email,表maildb,和字段(username,password,domain,maildir(/redhat.com/mr/)),并插入一条数据

2.建立一个数据库用户postfix,密码postfix,权限仅对email有INSERT和SELECT

3.vim /etc/postfix/mysql-users.cf ##建立查询用户名,mysql脚本

 hosts = localhost ##指定主机

 user = postfix ##指定用户

 password = postfix ##指定密码

 dbname = email ##指定数据库

 table = maildb ##指定表名

 select_field = username ##查询username

 where_field = username ##条件

4.vim /etc/postfix/mysql-domain.cf ##建立查询域名

 hosts = localhost

 user = postfix

 password = postfix

 dbname = email

 table = maildb

 select_field = domain

 where_field = domain

5.vim /etc/postfix/mysql-mailbox.cf ##建立查询邮件目录

 hosts = localhost

 user = postfix

 password = postfix

 dbname = email

 table = maildb

 select_field = maildir

 where_field = username

6.postmap -q "mr@redhat.com" mysql:/etc/postfix/mysql-mailbox.cf
##测试邮件目录查询 

7.postmap -q "mr@redhat.com" mysql:/etc/postfix/mysql-users.cf
##测试用户名查询

8.postmap -q "redhat.com" mysql:/etc/postfix/mysql-domain.cf
##测试主机名查询

9.groupadd -g 888 vmail

10.useradd -u 888 -g 888 vmail 

postconf -e "virtual_gid_maps = static:888"  ##可以通过命令实现

11.vim /etc/postfix/main.cf ##也可以通过编写配置文件

 virtual_mailbox_base = /home/vmail

 virtual_gid_maps = static:888

 virtual_uid_maps = static:888

 virtual_alias_maps = mysql:/etc/postfix/mysql-users.cf

 virtual_mailbox_maps = mysql:/etc/postfix/mysql-mailbox.cf

 virtual_mailbox_domains = mysql:/etc/postfix/mysql-domain.cf

12.systemctl restart postfix.service

#######6.建立虚拟用户收邮件#########

1.yum install dovecot-mysql.x86_64 -y

2.vim /etc/dovecot/dovecot.conf

 48 login_trusted_networks = 0.0.0.0/0 #允许访问网络地址

 49 disable_plai
a015
ntext_auth = no #开始明文认证

3.vim /etc/dovecot/conf.d/10-auth.conf

 123 !include auth-sql.conf.ext ##开启数据库数据认证

4.cp /usr/share/doc/dovecot-2.2.10/example-config/dovecot-sql.conf.ext  /etc/dovecot/dovecot-sql.conf.ext

5.vim /etc/dovecot/dovecot-sql.conf.ext

 32 driver = mysql ##选择数据库类型

 78 default_pass_scheme = PLAIN ##明文加密

 71 connect = host=localhost dbname=email user=postfix password=postfix
##登陆数据库

 107 password_query = \ ##用密码认证   数据库里面找用户名 域名和密码

 108   SELECT username, domain, password \

 109   FROM mailsql WHERE username = '%u' AND domain = '%d'

 125 user_query = SELECT maildir, 888 AS uid, 888 AS gid FROM mailsql WHERE username = '%u

'

6.vim /etc/dovecot/conf.d/10-mail.conf

 30 mail_location = maildir:/home/vmail/%d/%n  
##邮件目录

7.setsebool -P mysql_connect_any on ##打开selinux服务的允许

测试(另一台主机):

telnet 172.25.254.213 110 ##利用telnet测试110端口

Trying 172.25.254.213...

Connected to 172.25.254.213.

Escape character is '^]'.

+OK [XCLIENT] Dovecot ready.

user admin@redhat.com

+OK

pass 123

+OK Logged in.

quit

+OK Logging out.

Connection closed by foreign host.

######高级网络配置####

1.vim ifcfg-enp0s25 ##开启网桥接口

DEVICE=enp0s25

ONBOOT=yes

BOOTPROTO=none

BRIDGE=br0 

2.vim ifcfg-br0 ##配置网桥

DEVICE=br0

ONBOOT=yes

BOOTPROTO=none

TYPE=Bridge ##注意类型

IPADDR=172.25.254.13

PREFIX=24

DNS1=172.25.254.250

3.systemctl stop NetworkManager ##可以不用关掉,有时甚至不能关掉

4.systemctl restart networ ##重启网络

5.systemctl start NetworkManager

命令添加网桥

brctl addbr br0 ##添加网桥br0

brctl addif br0 eth0 ##将br0与eth0相接

ifconfig br0 172.25.254.113 netmask 255.255.255.0  ##给一个IP,br0可以使用

ifconfig br0 down ##拿走IP地址

brctl delif br0 eth0 ##将br0与eth0断开

brctl delbr br0 ##删除网桥br0

brctl show ##查看网桥

####网卡的多块运行###

用于防止一块网卡坏掉以后服务器无法工作的情况,用两个网卡建立

bond(watch -n 1 cat /proc/net/bonding/bond0 )

1.nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup ip4 172.25.254.113/24
##建立一个bond0

2.nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0
##将eth0加入bond0

3.nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0
##将eth1加入bond0

4.cat /proc/net.bonding/bond0

5.ifcong eth0 dowm ##模拟eth0坏掉的情况

6.ifcong eth0 up ##eth0修好后装上

team (功能一样,拥有平衡轮训的能力最多支持八块网卡)(watch -n 1 teamdctl team0 stat)

1.nmcli connection add con-name team0 ifname team0 type team config'{"runner"{"name":"activebackup"}}' ip4 172.25.254.113/24
##建立一个team0

2.nmcli connection add con-name eth0 ifname eth0 type team-slave master team0##将eth0加入team0

3.nmcli connection add con-name eth1 ifname eth1 type team-slave master team0##将eth1加入team0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: