防伪码:要输就输给追求,要嫁就嫁给幸福
第十一章 iptables防火墙(二)
前言:本章我们来学习使用iptables做网关服务器,并使用NAT功能共享上网以及发布服务器,和我们之前学过的nat原理完全一样,所以本章主要就是实验操作了。最后我们在再写个防火墙脚本(快速部署防火墙规则),加综合实战演练。
一、SNAT策略
SNAT和我们在路由器上做的PAT是一样的,为了局域网接入internet,原理就不说了,直接做实验。
1、实验环境
在虚拟机上简化为如下图
2、在网站服务器上搭建网站
3、在internet测试机上同样搭建网站
4、在网关服务器上添加两块网卡,分别是eth0:192.168.1.1和eth1:173.16.16.1,然后开启路由转发功能:
5、在网关服务器上配置SNAT策略
6、在内部网站服务器上访问http://173.16.16.16
7、到internet测试机上查看日志,发现访问者不是192.168.1.7,而是173.16.16.1就对了
cat /usr/local/httpd/logs/access_log
二、DNAT策略
DNAT策略与我们之前学习过的静态nat是一样的,可以一对一,也可以端口映射,主要目的是为了发布服务器。
1、实验环境和上一个实验一样
2、在网关服务器上执行DNAT命令
3、在internet测试机上访问:173.16.16.1,打开的网站是192.168.1.7
三、发布企业内部的ssh服务器
实验要求:2345端口对应网关服务器,2346端口对应网站服务器
1、实验环境:和上一个实验一样
2、在网关服务器和网站服务器分别开启2345和22端口的ssh
1)在网关服务器开启2345(vim /etc/ssh/sshd_config)
2)网站服务器只需要开启sshd服务即可,默认端口就是22
2、在网关服务器上设置DNAT策略
3、在internet测试机上进行ssh测试
使用ssh -p 2345 root@173.16.16.1连接上的是网关服务器
使用ssh -p root@173.16.16.1连接上的是网站服务器
四、规则的导入、导出
前言:备份可以把配置过的防火墙规则存储到一个位置,当更换防火墙或者规则出错的情况下,可以迅速恢复。
1、执行iptables-save命令导出linux防火墙规则。
例如:
1)在网站服务器上查看防火墙规则
2)然后执行备份
3)把网站服务器上的规则全部删除
4)执行iptables-resore命令恢复,恢复之后查看规则已经还原。
2、使用iptables服务备份恢复防火墙规则
把iptables-save的备份存储到/etc/sysconfig/iptables,然后就可以通过iptables服务快速恢复,每次开机后就自动重建。如果想恢复规则的时候,就直接重新启动iptables服务即可。
1)执行下面的命令把规则存储到服务文件中
2)然后把防火墙规则删除
3)执行service iptables restart就可以恢复规则
4)如果想清空规则的时候,除了执行iptables -F,也可以停止防火墙服务。
五、使用防火墙脚本
使用脚本可以快速部署防火墙规则,当需要配置多台防火墙的时候,使用脚本可以快速生成规则,提高工作效率。
例如:将output链中的默认策略设置为允许,不添加其他规则,将input链的默认策略设置为拒绝,只放行对个别服务的访问,以及响应本机访问请求的数据包。
1)Vi /opt/myipfw.hostonly
2)执行脚本
3)查看规则
综合实战:
实验环境:
需求描述:
使用SNAT策略实现共享上网
使用DNAT策略发布Web服务、SSH服务
实现思路:
注意清空原有防火墙规则
正确准备好实验环境,网关中打开IP转发
正确设置SNAT、DNAT规则
一、准备实验环境
1、正确配置各主机的网络参数(ip地址,子网掩码)
2、网段192.168.1.0/24中的主机将默认网关设为192.168.1.1
3、在网站服务器192.168.1.7上添加测试账号wzadm,启用web服务,ssh服务
4、在Internet测试机173.16.16.16中启用web服务,去掉默认网关设置
二、配置Linux网关服务器
1、打开路由转发功能
2、添加SNAT策略,使局域网段192.168.1.0/24能上网
3、添加DNAT策略,使用公网地址173.16.16.1、端口80,发布内网主机192.168.1.7中的web服务
4、添加DNAT策略,使用公网地址173.16.16.1、端口2222,发布内网主机192.168.1.7中的OpenSSH服务
三、验证实验效果
1、在网站服务器192.168.1.7中,能够访问173.16.16.16,并且查看主机173.16.16.16的web访问日志时,所记录的客户机是173.16.16.1
2、在Internet测试机173.16.16.16中,能够访问173.16.16.1,显示为网站服务器192.168.1.7中的网页
3、在Internet测试机173.16.16.16中,能够通过173.16.16.1的2222端口进行SSH远程登录,以网站服务器192.168.1.7中的wzadm用户进行验证,登录后查看当前ip应该是192.168.1.7
谢谢观看,希望能真心的帮到您!