Linux系统下使用iptables管理防火墙
1.介绍
iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分
防火墙在做信息包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的信 息包过滤表中,而这些表集成在 Linux 内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。而netfilter/iptables IP 信息包过滤系统是一款功能强大的工具,可用于添加、编辑和移除规则
netfilter 组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。
2.netfilter表、链的信息
- 处理流入的数据包(INPUT);
- 处理流出的数据包(OUTPUT);
-
处理转发的数据包(FORWARD);
- 在进行路由选择前处理数据包(PREROUTING);
-
在进行路由选择后处理数据包(POSTROUTING)。
- Raw:高级功能,如:网址过滤。
-
mangle:数据包修改(QOS),用于实现服务质量。
- nat:地址转换,用于网关路由器。
-
filter:包过滤,用于防火墙规则。
3.基本命令
-t<表>:指定要操纵的表;
-A:向规则链中添加条目;
-D:从规则链中删除条目;
-i:向规则链中插入条目;
-R:替换规则链中的条目;
-L:显示规则链中已有的条目;
-F:清楚规则链中已有的条目;
-Z:清空规则链中的数据包计算器和字节计数器;
-N:创建新的用户自定义规则链;
-P:定义规则链中的默认目标;
-h:显示帮助信息;
-p:指定要匹配的数据包协议类型;
-s:指定要匹配的数据包源ip地址;
-j<目标>:指定要跳转的目标;
-i<网络接口>:指定数据包进入本机的网络接口;
-o<网络接口>:指定数据包要离开本机所使用的网络接口。
1.打开服务
2.清空规则
iptables的配置文件
所有主机都可以访问105的apache英语培训费用
3.设置为拒绝模式
访问测试:均不能访问
4.添加指定策略
使62主机可以访问80端口
上述操作未能实现预想的结果
因为读取时是从第一条开始读取,当第一条满足时不再读取第二条规则
所以删除第二条规则,将其插入到第一条,这样172.25.254.62主机就可以访问到本机httpd
测试:62主机可以访问,其他主机不能访问
5.iptables的状态
设置输入数据为drop状态
测试:当设置为DROP状态的时候系统是处于丢弃状态,一直转圈却打不开网页,丢弃状态不返回值。
6.修改指定内容
7.自定义链的管理
8.当第二次访问时不读取策略
NEW:第一次访问 |
ESTABLISHED :第二次访问 | RELATED :关闭访问后再次访问
路由主机 eth0:172.25.4.105 eth1:172.25.254.105
测试主机:172.25.4.205
GATEWAY=172.25.4.105
在路由主机:当其他主机连接eth0时候伪装为172.25.254.105
测试:
在真机连接105–>205