一、基本信息
1、iptables表、链结构
2、指令的组成
iptables [-t 表名] 选项 [链名] [条件] [-j 目标操作]
3、基本目标操作
关键字 | 含义 |
ACCEPT | 允许通过/放行 |
DROP | 直接丢弃,不给出任何回应 |
REJECT | 拒绝通过,必要时会给出提示 |
LOG | 记录日志,传给下一条规则 (匹配即停止,规律的唯一例外) |
4、常用管理选项
二、案例
1、限制来源IP
[root@QQ ~]# iptables -t filter -I INPUT -s 159.65.244.144 -j REJECT #插入一条新的规则,禁止此IP访问
[root@QQ ~]# iptables -t filter -A INPUT -s 192.168.1.0/24 -j REJECT #禁止此网段访问
[root@QQ ~]# iptables -t filter -A INPUT -j ACCEPT #添加放行所有输入来源
# 注意:
# 规则链内的匹配顺序:顺序比对,匹配即停止(LOG除外)
2、查看规则列表
[root@QQ ~]# iptables -t filter -nL INPUT #查看规则列表
Chain INPUT (policy ACCEPT)
target prot opt source destination
REJECT all -- 159.65.244.144 0.0.0.0/0 reject-with icmp-port-unreachable
[root@QQ ~]# iptables -t filter -nL INPUT --line-numbers #查看规则列表并显示序号
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 REJECT all -- 159.65.244.144 0.0.0.0/0 reject-with icmp-port-unreachable
3、删除与清空规则
[root@QQ ~]# iptables -t filter -D INPUT 2 #删除序号为2的规则
[root@QQ ~]# iptables -t filter -F #清空filter表规则
[root@QQ ~]# iptables -t filter -nL INPUT --line-numbers #查询filter表规则都被清空
Chain INPUT (policy ACCEPT)
num target prot opt source destination
4、根据MAC地址封锁主机(针对MAC地址)
注意:在填写mac地址的时候要用“冒号:”来间隔,直接复制的mac地址是“横杠-”间隔
[root@QQ ~]# iptables -t filter -A INPUT -m mac --mac-source 00:00:00:00:00:00 -j DROP #封锁mac地址,不管IP如何变化也会限制
# (-m)为扩展匹配规则基本用法: -m 扩展模块 --扩展条件 条件值
5、根据MAC地址放行主机(需要远程访问的设备比较少的情况)
[root@node-0001 ~]# iptables -t filter -A INPUT -m mac --mac-source 00:00:00:00:00:00 -j ACCEPT #放行mac地址
注意:执行代码后如果出现如下提示,代表mac地址的间隔符错了,改为冒号:即可
iptables v1.4.21: ether
特别注意:mac地址一定不要写错;不然写错后再追加限制所有登陆就凉凉了