iptables防火墙
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iptables防火墙相关的知识,希望对你有一定的参考价值。
前言:通过上一章的学习,我们认识了Linux防火墙的表、链结构,并学会了编写简单的防火墙规则,
Linux防火墙在很多时候承担着连接企业内、外网的重任,除了提供数据包过滤功能以外,还提供一些
基本的网关应用。
并使用NAT功能共享上网以及发布服务器,和以前学过的nat原理完全一样,本章学习SNAT和DNAT策略,
分别掌握两个典型的应用:局域网共享一个公网IP地址接入inter;向inter发布位于内网的应用服务器。
一、SNAT策略
SNAT和路由器上的PAT是一样的,源地址转换,其作用是根据指定条件修改数据包的源IP地址。
共享固定IP地址上网
1、实验环境:
在虚拟机上做实验简化为下图:
2、在网站服务器上搭建网站
网站http服务已搭好,详情请参考http://blog.51cto.com/13557682/2056366
网站服务器如图:
internet测试机上搭建同样的网站如图:
3、在网关服务器上添加两块网卡,分别是eth0:192.168.1.1和eth1:173.16.16.1,然后开启路由转发功能:
[[email protected] ~]# vim /etc/sysctl.conf # Kernel sysctl configuration file for Red Hat Linux # # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and # sysctl.conf(5) for more details. # Controls IP packet forwarding net.ipv4.ip_forward = 1 //将0修改为1,启动路由转发功能 [[email protected] ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
5、在网关服务器上配置SNAT策略
[[email protected] ~]# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT --to-source 173.16.16.1
6、在内部网站服务器上访问http://173.16.16.16即可
二、DNAT策略
DNAT策略与我们之前学习过的静态nat是一样的,可以一对一,也可以端口映射,主要目的是为了发布服务器。
[[email protected] ~]# iptables -t nat -I PREROUTING -i eth1 -d 173.16.16.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.7
3、在internet测试机上访问:http://173.16.16.1,打开的网站是192.168.1.7
四、规则的导入、导出
前言:备份可以把配置过的防火墙规则存储到一个位置,当更换防火墙或者规则出错的情况下,可以迅速恢复。
1、执行iptables-save命令导出linux防火墙规则。
例如:
1)在网站服务器上查看防火墙规则
[[email protected] ~]# iptables -nL Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT) target prot opt source destination REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT) target prot opt source destination
2)执行备份防火墙
[[email protected] ~]# iptables-save > /opt/iprules_all.txt
3)把网站服务器上的规则全部删除
[[email protected] ~]# iptables -F
4)执行iptables-resore命令恢复
[[email protected] ~]# iptables-restore < /opt/iprules_all.txt
五、使用防火墙脚本
使用脚本可以快速部署防火墙规则,当需要配置多台防火墙的时候,使用脚本可以快速生成规则,提高工作效率。
例如:将output链中的默认策略设置为允许,不添加其他规则,将input链的默认策略设置为拒绝,只放行对个别服务的访问,以及响应本机访问请求的数据包。
[[email protected] ~]# vim /opt/myipfw.hostonly
2)执行脚本
3)查看规则
现在基本上用不着Linux做路由转发,路由器做路由转发比较专业
以上是关于iptables防火墙的主要内容,如果未能解决你的问题,请参考以下文章