iptables的使用
1.使用前需要执行的步骤
1.安装
安装命令:yum install iptables -y
2.启动
启动命令:systemctl start iptables
3.关闭firewalld(不能与iptables同时使用)
关闭firewalld命令:systemctl disable --now firwalld
2.使用详解
2.1.语法句式
格式:iptables [参数] [选项] [链名称] [条件] [动作]
关键字:iptables
参数1:-t :指定操作的表
参数2:-L(--list) :列出当前的规则
参数3:-v :显示数据包数量和数据包内存大小
参数4:-n :不反解地址
参数5:-A(--append) :追加一条规则到链中
参数6:-I(--insert) :插入一条规则,插入的顶部
参数7:-F(--flush) :清空
参数8:-Z(--zero) :清空计数器(包数量、包大小)
参数9:-D(--delete) :删除链中的规则
参数10:-R(--replace) :修改
参数11:-S(--list-rules) :列出所有的规则
2.2.iptables动作之一
ACCEPT:
将数据包放行,进行完此处理动作后,将不再对比其他规则,直接跳往下一个规则链。
REJECT:
拦阻该数据包,并传送数据包通知对方。
DROP:
丢弃包不予处理,进行完处理动作后,将不再比对其它规则,直接中断过滤程序。
REDIRECT:
将包重新导向到另一个端口,进行完此处理动作后,将会继续比对其他规则。
2.3.iptables基本的条件匹配(协议)
TCP(http)
UDP
ICMP(ping)
ALL
2.4.地址
-s:
源地址:发送请求的地址
-d:
目标地址:访问的地址
2.5.端口
--sport:
源端口:发送请求的端口
--dsport:
目标端口:访问的端口
2.6.iptables动作之二
-i:进来的网卡
-o:出去的网卡
-m:指定模块
-j:转发动作
-p:指定协议
2.7.模块
1.模块的作用:拓展iptables的功能的
2.格式:-m [模块名]
3.模块的使用
模块1:multiport(连续匹配多个端口)
--dport:(指定多个端口,不同端口之间以逗号分割,连续的端口使用冒号分割)
模块2:string(匹配指定字符串)
--string pattern # 指定要匹配的字符串
--algo{bm|kmp} #匹配的查询算法
模块3:time(根据时间段匹配报文)
--timestart hh:mm[:ss] # 开始时间
--timestop hh:mm[:ss] # 结束时间
--monthdays day[,day...] # 指定一个月的某一天
--weekdays day[,day...] # 指定周还是周天
模块4:禁ping,默认本机无法ping别人、别人无法ping自己
--icmp-type{type[/code]|typename}
echo-request (8) 请求
echo-reply (0) 回应
模块5:connlimit(限制链接数,并发连接数)
--connlimit-upto n # 如果现有连接数小于或等于 n则匹配
--connlimit-above n # 如果现有连接数大于n则匹配
模块6:针对 报文速率 进行限制。 秒、分钟、小时、天
--limit rate[/scond|/minute|/hour|/day] # 报文数量
--limit-burst number # 报文数量(默认:5)