实验要求:
1、 邮件系统的构建,可以实现两台不同域名的邮件服务器互相发送邮件。
2、 利用squid实现对内网中3台web服务器的反向代理功能。假设3台web服务器存放的网站内容都是一样的,squid在进行获取页面时可以从任意一台获得。效果:当外网输入www.damon.com时,,即可从squid中获得相应页面。(提示:采用DNS负载均衡的功能)
3、参考课本9-2图,实现防火墙的限速、SNAT、DNAT、开放内网主机的www、ftp、DNS服务。
4、利用透明代理实现Squid的代理过滤功能。
拓扑图设计:
需求分析:
服务器三台
1.通过别名IP和apache虚拟主机 模拟三台web服务器
www1.damon.com 192.168.8.101 配置WWW、FTP、DNS服务 (mail.damon.com)
www2.damon.com 192.168.8.102 配置WWW服务
www3.damon.com 192.168.8.103 配置WWW服务
2www.damon.com 内网eth0:192.168.8.100 外网eth1:10.1.1.100 配置iptables squid MTA
通过NAT 对广域网用户提供 DNS FTP 服务
对内网用户提供邮件服务
作为透明代理 供内网主机连接外网.
作为反向代理配合DNS轮询 实现www加速和负载均衡
(透明代理和反向代理不能同时工作 需要切换配置文件)
2.DNS解析对应表
www.damon.com 10.1.1.100
Ftp.damon.com 10.1.1.100
www1.damon.com 192.168.8.101
www2.damon.com 192.138.8.102
www3.damon.com 192.168.8.103
test.example.com 10.1.1.50
服务配置:
一:DNS服务器 (www1.damon.com 192.138.8.101)
[root@localhost ~]# yum install bind bind-chroot caching-nameserver -y
[root@localhost ~]# chkconfig named on
[root@localhost ~]# vim /etc/named.caching-nameserver.conf
>localhost 改为 any
zone "damon.com" IN {
type master;
file "damon.com";
allow-update { none; };
};
zone "example.com" IN {
type master;
file "example.com";
allow-update { none; };
};
zone "8.168.192.in-addr.arpa" IN {
type master;
file "192.168.8";
allow-update { none; };
};
~
[root@localhost ~]# cd /var/named/chroot/var/named
vim linuxso.com >>
$TTL 86400
@ IN SOA damon.com. root.damon.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS damon.com.
www IN A 10.1.1.100
ftp IN A 10.1.1.100
www1 IN A 192.168.8.101
www2 IN A 192.168.8.102
www3 IN A 192.168.8.103
mail IN A 192.168.8.100
web IN A 192.168.8.101
web IN A 192.168.8.102
web IN A 192.168.8.103
damon.com. IN MX 10 mail.damon.com.
vim 192.168.8 >>
$TTL 86400
@ IN SOA damon.com. root.damon.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS damon.com.
100 IN PTR www.damon.com.
101 IN PTR www1.damon.com.
102 IN PTR www2.damon.com.
103 IN PTR www3.damon.com.
测试 nslookup
二.MTA配置
主机192.168.8.100 mail.damon.com
[root@localhost ~]#yum install sendmail sendmail-* -y
[root@localhost ~]#chkconfig sendmail on
[root@localhost ~]#vim /etc/mail/sendmail.mc
>> DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
vim /etc/mail/access
>>
Connect:damon.com OK
From:example.com RELAY
[root@localhost mail]# makemap hash access.db < access
主机 10.1.1.50 mail.example.com
同上
测试: sendmail
三: Apache配置
主机 192.168.8.101 www1.damon.com
yum install httpd -y
chkconfig httpd on
echo "hello <br> This is www1.damon.com">> /var/www/html/index.html
四: 配置别名IP 和虚拟主机
cp -p /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:1
cp -p /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:2
并做相应修改
配置基于IP的虚拟主机
vim /etc/httpd/conf/httpd.conf
>>
<VirtualHost 192.168.8.101:80>
DocumentRoot /var/www/html
ServerName www.damon.com
</VirtualHost>
<VirtualHost 192.168.8.102:80>
DocumentRoot /var/www/html1
ServerName www1.damon.com
</VirtualHost>
<VirtualHost 192.168.8.103:80>
DocumentRoot /var/www/html2
ServerName www2.damon.com
</VirtualHost>
四:Squid配置
主机 192.168.8.100 www.damon.com
yum install squid -y
chkconfig squid on
配置透明代理模式
vim squid.conf
>>http_port 192.168.8.100:8080
>>http_access allow all
>>acl allowsrc src 0.0.0.0/0.0.0.0
>>acl file_flv urlpath_regex -i \.flv$
>>http_access deny file_flv
>>http_access allow all
配置反向代理模式
vim squid.conf
http_port 10.1.1.100:80 vhost vport
cache_peer web.damon.com parent 80 0 no-query originserver
DNS添加A记录 实现轮询效果
web IN A 192.168.8.101
web IN A 192.168.8.102
web IN A 192.168.8.103
五:IPtables配置 开放内网DNS,FTP 服务
主机 10.1.1.100
iptables -t nat -A PREROUTING -d 10.1.1.100 -p tcp --dport 53 -j DNAT --to-destination 192.168.8.101:53
iptables -t nat -A PREROUTING -d 10.1.1.100 -p udp --dport 53 -j DNAT --to-destination 192.168.8.101:53
iptables -t nat -A POSTROUTING -d 192.168.8.101 -p tcp --dport 53 -j SNAT --to 192.168.8.100
iptables -t nat -A POSTROUTING -d 192.168.8.101 -p udp --dport 53 -j SNAT --to 192.168.8.100
iptables -t nat -A PREROUTING -d 10.1.1.100 -p tcp --dport 20 -j DNAT --to-destination 192.168.8.101:20
iptables -t nat -A PREROUTING -d 10.1.1.100 -p tcp --dport 21 -j DNAT --to-destination 192.168.8.101:21
/etc/sysconfig/iptables-config //添加ip_nat_ftp模块 否则FTP不成功
IPTABLES_MODULES="ip_conntrack_netbios_ns ip_nat_ftp"
[root@www ~]# service iptables save
将当前规则保存到 /etc/sysconfig/iptables: [确定]
[root@www ~]# service iptables restart
· Linux安全网鼓励用户将网页内容和下载地址转贴发在blog,论坛等
· 所有软件已经过我们安装检测,如不能正常运行,请检查环境和硬件,并留言反馈给我们
· 判断软件好坏,请用户参考软件用户评论,也请您将使用体验留言分享给更多用户作为参考