1.iptables的介绍
iptables 是与Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。防火墙在做信息包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的信息包过滤表中,而这些表集成在 Linux 内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。而netfilter/iptables IP 信息包过滤系统是一款功能强大的工具,可用于添加、编辑和移除规则。
2.iptables : 修改火墙规则的工具
/etc/sysconfig/iptables 主配置文件
systemctl stop firewalld.service 关闭火墙,使用iptables之前要关闭火墙
systemctl mask firewalld.service
systemctl start iptables.service
systemctl enable iptables.service
iptables -nL 查看火墙列表信息
火墙动作 协议 源入口 目的地 数据包的状态
iptables -F 清空火墙策略
3.iptables的信息
三张表:filter,nat,mangle
filter:这是默认的表,包含了内建的链INPUT(处理进入的包)、FORWARD(处理通过的包)和OUTPUT(处理本地生成的包)。
nat:这个表被查询时表示遇到了产生新的连接的包,由三个内建的链构成:PREROUTING (修改到来的包)、OUTPUT(修改路由之前本地的包)、POSTROUTING(修改准备出去的包)。
mangle :这个表用来对指定的包进行修改。它有两个内建规则:PREROUTING(修改路由之前进入的包)和OUTPUT(修改路由之前本地的包)。
4.iptables的使用规则
-A 添加
-p 设置链规则
-s 源地址
-d 目的地址
–dport 端口
ACCEPT 允许数据包通过
REJECT 拒绝数据包通过
-I 插入 插入第二条规则拒绝数据包通过
-R 替换 替换第三条规则
替换第二条规则
-D 删除 删除第三条规则
-N 新建链
-E 修改链的名称
-X 删除链
编辑好的规则写入配置文件
22 ssh服务使用
53 DNS
80 http
443 https
-i 回环lo,匹配从网络接口eth0进来的
-o 匹配从网络接口eth0出去的
-j ACCEPT | DROP| REJECT 执行的动作
数据包的状态:
RELATED ##已经来过的数据包
ESTABLISHED ##已经确定的数据包
NEW ##新接受到的数据包