iptables网络过滤器

1.什么是iptables
    IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的 代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和 防火墙配置。
防火墙在做信息包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的信 息包过滤表中,而这些表集成在 Linux 内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。而netfilter/iptables IP 信息包过滤系统是一款功能强大的工具,可用于添加、编辑和移除规则。
虽然 netfilter/iptables IP 信息包过滤系统被称为单个实体,但它实际上由两个组件netfilter 和 iptables 组成。
netfilter 组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。
iptables 组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。除非您正在使用 Red Hat Linux 7.1 或更高版本,否则需要下载该工具并安装使用它。
2.iptables表链结构

iptables网络过滤器_第1张图片

表名:

raw 高级功能,如:网址过滤
mangle 数据包修改(QOS),用于实现服务质量
net 地址转换,用于网关路由器
filter 包过滤,用于防火墙规则

规则链名

INPUT链 处理输入数据包
OUTPUT链 处理输出数据包
PORWARD链 处理转发数据包
PREROUTING链 用于目标地址转换(DNAT)
POSTOUTING链 用于源地址转换(SNAT)
3.iptables 启动

systemctl stop firewalld
systemctl disable firewalld
systemctl start iptables.service 
systemctl enable iptables.service
iptables -nL #查看iptables的设置
iptables -F #清空所有iptables更改
service iptables save  #保存更改到/etc/sysconfig/iptables

iptables网络过滤器_第2张图片

4.iptables常用参数
    -t<表>:指定要操纵的表;  
    -A:向规则链中添加条目;  
    -D:从规则链中删除条目;  
    -i:向规则链中插入条目;  
    -R:替换规则链中的条目;  
    -L:显示规则链中已有的条目;  
    -F:清楚规则链中已有的条目;  
    -Z:清空规则链中的数据包计算器和字节计数器;  
    -N:创建新的用户自定义规则链;  
    -P:定义规则链中的默认目标;  
    -h:显示帮助信息;  
    -p:指定要匹配的数据包协议类型;  
    -s:指定要匹配的数据包源ip地址;  
    -j<目标>:指定要跳转的目标;  
    -i<网络接口>:指定数据包进入本机的网络接口;  
    -o<网络接口>:指定数据包要离开本机所使用的网络接口。  

动作

ACCEPT 接收数据包
DROP 丢弃数据包
REDIRECT 重定向、映射、透明代理
SNAT 源地址转换
DNAT 目标地址转换
MASQUERADE IP伪装(NAT),用于ADSL
LOG 日志记录
iptables -A INPUT -s 172.25.254.65 -p tcp --dport 80 -j REJECT  #拒绝172.25.254.65访问80端口
iptables -nL
iptables -D INPUT 1                                             #删除INPUT链的第一行
iptables -D INPUT -s 172.25.254.65 -p tcp --dport 80 -j REJECT  #按内容删除
iptables -N westos	        #添加自定义链名
iptables -E westos WESTOS	#修改规则链名称
iptables -X WESTOS	        #删除自定义链

新建规则

iptables网络过滤器_第3张图片

删除规则

iptables网络过滤器_第4张图片

iptables网络过滤器_第5张图片

自定义链

iptables网络过滤器_第6张图片

5.用iptable命令实现端口伪装

实验环境: 一台主机为双网卡 ip分别为 eth0:172.25.254.133   eth1:172.25.0.222

                    另一台主机为单网卡,ip为172.25.0.233 设置其网关为172.25.0.222

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.133
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-dest 172.25.0.222

用ip为172.25.0.222的主机连接172.25.254.65

使用 w -i 命令 查看是谁连接的这台主机,发现ip显示为172.25.254.133 则伪装成功

iptables网络过滤器_第7张图片



你可能感兴趣的:(iptables网络过滤器)