Linux Redhat 6.5 中防火墙
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux Redhat 6.5 中防火墙相关的知识,希望对你有一定的参考价值。
Linux防火墙体系只要工作在网咯层,针对于TCP/IP数据包实施过滤个限制,典型的包过滤防火墙(或称为网络层防防火墙)
- net filter 指的是Linux的内核总的实现包头过滤不以程序或文件的形式存在。
- iptables 指的是用户管理Linux防火墙的密令程序,通常位于/sbin/iptables目录下
规则表
- filter 表用来对数据包过滤,根据具体的规则要求决定如何处理一个数据包。表内包含了三个链。即INPUT , FORWARD,OUTPUT
- nat 表:主要用来修改数据包IP地址,端口的信息表内包含了三个链,PREROUTING POSTROUTING OUTPUT
- mangle 表 用来修改数据包的TOS服务 TTL生存周期,或者为数据包设置Mark 标记。表内包含五个链 PREROUTING POSTROUTING INPUT OUTPUT FORWARD .
- raw 表 是来自1.2.9 以后的版本的iptables新增的,只要用来决定是否对数据包进行跟踪 表包含了两个链 OUTPUT PREROUTING
规则链
- INPUT 当收到访问防火墙本机地址数据包(入站)时,应用从链路中的规则。
- OUTPUT 当防火墙本机向外发送数据包(出站)时 应用次链中的规则 。
- FORWARD 当接收到需要通过防火墙中转发送给其他地址的数据包中,应用此链路中的规则。
- PREROUTING 在数据包做出路由选择之前,应用此链中的规则
- POSTROUTING 在对数据包做出选择之后,应用此链中规则
规则表之间顺序当数据包抵达防火墙时,将一次应用raw表、mangle表、nat表、和filter表中对应的规则(如果存在)应用顺序为raw=> mangle=>nat=>filter.
基本语法
- ACCEPT 允许通过
- DROP 直接丢弃不给发出任何回应
- REJECT 拒绝数据包通过,必要时会给数据发送端一个相应
选项名 | 功能及特点 |
---|---|
-A | 在指定链尾端添加 |
-D | 删除莫一条 |
-I | 在指定链插入一条规则 |
-R | 修改替换 |
-L | 列出指定的所有规则末指定为所有 |
-F | 清空链规则末指定为所有 |
-P | 指定默认链 |
-n | 使用数字心事显示输出结果 |
-v | 查看规则列表显示详细信息 |
-h | 产看密令帮助信息 |
--line-numbers | 查看规则列表时,同时显示出在链中的顺序号 |
实验开始
实验目的为可以访问Linux 提供的网页服务
实现只能访问不让ping
实现NAT snt 转换 和 DNAT
实验准备两Linux 其中Linux 1 提供HTTP 服务 Linux 2充当路由器 一台客户机
- Linux 1 只需要开启 httpd 服务就可以 但让网卡信息要清楚
- Linux 2 充当路由器 双网卡配置 一个为 192.168.100.1 一个12.0.0.1
- 一台客户机 IP地址 为12.0.0.33
开始实验
- 实现互联互通 当然只能平通网关
- [[email protected] ~]# iptables -F 清楚所有链
- [[email protected] ~]# vim /etc/sysctl.conf 修改配置文件
- net.ipv4.ip_forward = 1 把 0 改为 1 这样就能从客户机访问到Linux 1 提供的 httpd 服务
- [[email protected] ~]# iptables -A FORWARD -s 12.0.0.33 -p icmp -j DROP
在指定列表最末行插入(这个看环境因为我全部情况了不存在先后顺序)FORWARD (出站口)禁止源地址 -s 12.0.0.33 访问 -p icmp 协议 -j 执行操作 DROP 丢弃(注意大小写) - [[email protected] ~]# cat /etc/httpd/logs/access_log
12.0.0.33 - - [12/May/2018:07:59:27 +0800] "查看httpd访问日志 - [[email protected] ~]# iptables -t nat -A POSTROUTING -s 12.0.0.0/24 -o eth0 -j SNAT --to-source 192.168.100.1
内网访问公网 -t 指定表格 nat 表 -A 插入到POSTROUTING 规则链在对数据包做出选择之后 源地址的段 -o 出口 eth0 -j 使用 SNAT --to-source 转换成外网出口 - [[email protected] ~]# iptables -t nat -A PREROUTING -s 192.168.100.1 -i eth0 -j DNAT --to-destination 12.0.0.33 这个就是在 PREROUTING 在数据包做出路由选择之前
以上是关于Linux Redhat 6.5 中防火墙的主要内容,如果未能解决你的问题,请参考以下文章