1、实验环境:
1.1>拓扑图;
1.2> 网络配置;
- Linux rhel6.5作为WEB-内网(client),IP地址:192.168.10.2 /24 ——> VMnet1;
- Linux rhel6.5作为GATEWAY—网关, eth1的IP地址:192.168.10.1 /24——>VMnet1;eth2的IP地址:202.100.10.1 /24——VMnet8;
- Linux rhel6.5作为WEB-外网(client),IP地址:202.100.10.2 /24——VMnet8 ;
切记:必须将内网虚拟网卡和网关接口的虚拟网卡配置一样(即,接口的网卡都为VMnet1;必须将内网虚拟网卡和网关接口的虚拟网卡配置一样(即,接口的网卡都为VMnet8)
2、实验步骤:
(1)配置WEB-内网(Client)端;
1.1> 网卡配置—— VMnet1模式;
1.2> 配置IP地址并重启网络;
1.3> 查看配置信息;
1.4> 清空防火墙,并禁用seLinux服务;
1.5> 网页信息配置
1.6> 使用浏览器测试网页信息能否成功显示;
(2)配置GATEWAY-网关端
2.1> 网卡配置 eth1——VMnet1模式,eth2——VMnet8模式;
2.2> IP信息配置并重新启动网络服务;
重新启动网络服务;
2.3> 查看配置信息并清除防火墙规则和禁用seLinux服务;
(3)配置WEB-外网(client)端
3.1> 网卡配置——VMnet8模式;
IP信息配置并重新启动网络服务;IP信息配置并重新启动网络服务;
3.2> 配置外网IP并重新启动网络服务;
3.3> 查看配置信息并清除防火墙规则和禁用seLinux服务;
3.4> 配置网页信息;
4、连通性测试
4.1> 使用WEB-内网(client)ping网关和WEB-外网(client);
4.2> 使用WEB-外网(client)ping网关和WEB-内网(client);
注意:若显示“connect:网络不可达,是由于这里没有设置WEB-外网的GATEWAY网卡信息!!!”
因为网关没有开启裸游转发功能,所以WEB-内网(client)ping不同WEB-外网(Client)。
4.3> 开启GATEWAY—网关路由转发功能;
4.4> 使用WEB-内网(client)可以ping 通WEB-外网(client);
4.5> 使用WEB-外网(client)可以ping 通WEB-内网(client);
(1)NAT策略应用
1.1> 在WEB-内网(client)访问WEB-外网(client),并在WEB-外网(client)端查看httpd访问日志;
httpd访问日志命令:cat /var/log/httpd/access_log
通过WEB-内网(client)访问WEB-外网(client);
在WEB-外网(client)端查看httpd访问日志;
切记:此时,访问WEB-外网(client)端的IP地址为WEB-内网(client)端的私有IP地址!!!
1.2> 在GATEWAY端添加使用SNAT策略的防火墙规则;
- iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth4 -j SNAT --to-source 202.100.10.1
这条iptables防火墙规则是:GATEWAY网关转发的数据包从nat表(即,修改数据包中的源、目标IP地址或端口),通过里面的POSTROUTING(即,进行路由选择后处理数据包),源地址为192.168.10.0/24网段,从eth4端口出,将它的网络的源地址IP修改为202.100.10.1
1.3> 使用WEB-内网(client)访问WEB-外网(client),并在WEB-外网(client)端查看httpd访问日志;
此时,访问WEB-外网(client)端的IP地址已经变成网关端eth4外网接口的IP地址
(2)MASQUERADE(地址伪装)策略应用
2.1> 在GATEWAY网关端添加使用MASQUERADE策略的防火墙规则;
[root@localhost 桌面]# iptables -t nat -F
[root@localhost 桌面]# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth4 -j MASQUERADE
2.2> 在WEB-内网(client)访问WEB-外网(client),并在WEB-外网(client)端查看httpd访问日志;
此时,访问WEB-外网(client)端的IP地址被伪装成GATEWAY网关端eth2外网接口的IP地址
此时,访问WEB-外网(client)端的IP地址被伪装成GATEWAY网关端eth2外网接口的IP地址
(3)DNAT策略应用
建立内网测试网页;
3.1> 在GATEWAY网关端添加使用DNAT策略的防火墙规则;
[root@localhost 桌面]# iptables -t nat -F
[root@localhost 桌面]# iptables -t nat -A PREROUTING -i eth4 -d 202.100.10.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.10.2
3.2> 在WEB-外网(client)访问网关的eth4外网接口,可以成功访问;
此时WEB-外网(client)访问到了WEB-内网(client)
代理服务
- 代理服务分为正向代理和反向代理。正向代理是内网访问外网,分为传统代理(默认)和透明代理。
- 传统代理需在客户端上设置浏览器;透明代理不需要设置浏览器,但需要在网关上写一条iptables 策略。
- 反向代理是外网访问内网。
(1)配置代理服务器;
1.1> 在GATEWAY网关端(代理服务器)安装squid服务;
1.2> 修改squid配置文件,并启动squid服务;
[root@localhost 桌面]# vim /etc/squid/squid.conf
[root@localhost 桌面]# service squid start
- 配置squid配置文件;
- 启动squid服务;
(2)正向传统代理服务
2.1> 在WEB-内网(Client)端设置代理服务(即,内网浏览器中);
“火狐浏览器”——> “编辑” ——> “首选项” ——> “高级” ——> “网络” ——> “设置” ——> “网络连接”里面的手动配置
2.2> 在WEB-内网(client)访问WEB-外网(client)端,并在WEB-外网(client)端查看httpd访问日志;
此数据包经由GATEWAY网关外网接口发出,则此时的IP地址为网关eth2接口处的IP地址;
2.3> 在网关上关闭squid服务,再次访问;
2.4> 刷新后,此时可以看到代理服务器已关闭,无法访问;
(3)正向透明代理服务
3.1> 在GATEWAY网关端中设置透明代理;
命令:vim /etc/squid/squid.conf
启动squid服务;
3.2> 在GATEWAY网关端设置防火墙规则;
[root@localhost 桌面]# iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-ports 3128
3.3> 在WEB-内网端,设置浏览器为“无代理”,然后访问WEB-外网(client);
3.4> 关闭squid服务,此时WEB-内网无法访问WEB-外网;