iptables练习

iptables练习


一、COMMAND

1、列出所有链的规则:iptables -L ,显示某条链的规则就是iptables -L INPUT

iptables练习

详细信息:iptables -vnL

iptables练习

2、清楚所有链的规则 :iptables -F

3、设置默认规则策略:iptables -P INPUT DROP,iptables -P OUTPUT DROP , iptables -P FORWARD DROP(拒绝所有数据包)

iptables练习

在虚拟机上改成:iptables -P INPUT ACCEPT ,远程连接才可用。

4、添加规则,在INPUT链上添加规则,协议是tcp,目标端口号是21:iptables -A INPUT -p tcp –dport 21

iptables练习

5、插入规则,在INPUT链上插入规则,协议是tcp,目标端口号是23,规则号是1:iptables -I INPUT 1 -p tcp –dport 23

iptables练习

6、替换规则,在INPUT链上替换规则号1的iptables规则,将目标端口号更改为24:iptables -R INPUT 1 -p tcp –dport 24

iptables练习

7、删除规则,在INPUT 链上删除规则号是1的iptables规则

iptables练习

二、match:基本规则匹配器

1、指定协议:iptables -A INPUT -p tcp -j ACCEPT

iptables练习

2、指定ICMP类型:iptables -A INPUT -p icmp –icmp-type echo-request -j ACCEPT

iptables练习

3、指定ip地址:iptables -A INPUT -s 192.168.1.109 -j ACCEPT

iptables练习

4、指定接口:iptables -A FORWARD -o eno16777736 -j ACCEPT

iptables练习

5、指定端口号:iptables -A INPUT -p tcp –sport 80 -j ACCEPT

三、match:扩展规则匹配器

1、limit :限制速率。iptables -I INPUT -d 192.168.1.109 -p icmp –icmp-type 8 -m limit –limit 3/minute –limit-burst 5 -j ACCEPT

iptables练习

2、iprange :一整段连续的ip都可以:iptables -A INPUT -d 172.16.100.67 -p tcp –dport 80 -m iprange –src-range 172.16.100.5-172.16.100.10 -j DROP

iptables练习

3、time :指定某个时间范围内可以。

iptables练习

4、multiport :多个端口

iptables练习

5、string :对报文中的字符串做匹配检查,一些敏感词汇。

iptables练习

6、state:根据”连接追踪机制“去检查连接的状态。

~]# iptables -A INPUT -d 172.16.100.67 -p tcp -m multiport --dports 22,80 -m state --state NEW,ESTABLISHED -j ACCEPT
~]# iptables -A OUTPUT -s 172.16.100.67 -p tcp -m multiport --sports 22,80 -m state --state ESTABLISHED -j ACCEPT

练习:INPUT 和 OUTPUT 默认策略为 DROP;

iptables -P INPUT DROP
iptables -P OUTPUT DROP

1、限制本地主机的 web 服务器在周一不允许访问;新请求的速率不能超过 100 个每秒;web 服务器包含了 admin 字符串的页面不允许访问;web 服务器仅允许响应报文离开本机;

周一不允许访问

#iptables -A INPUT -p tcp --dport 80 -m time ! --weekdays Mon -j ACCEPT
#iptables -A OUTPUT -p tcp --dport 80 -m state --state ESTABLISHED -j ACCEPT

新请求速率不能超过100个每秒

# iptables -A INPUT -p tcp --dport 80 -m limit --limit 100/s

web包含admin字符串的页面不允许访问,源端口:dport

# iptables -A INPUT -p tcp --dport 80 -m string --algo bm --string 'admin' -j REJECT

web服务器仅允许响应报文离开主机,放行端口(目标端口):sport

# iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

2、在工作时间,即周一到周五的 8:30-18:00,开放本机的 ftp 服务给 172.16.0.0 网络中的主机访问;数据下载请求的次数每分钟不得超过 5 个;

# iptables -A INPUT -p tcp --dport 21 -s 172.16.0.0 -m time ! --weekdays 6,7  -m time --timestart 8:30 --timestop 18:00  -m connlimit --connlimit-above 5 -j ACCEPT

3、开放本机的 ssh 服务给 172.16.x.1-172.16.x.100 中的主机,x 为你的学号,新请求建立的速率一分钟不得超过 2 个;仅允许响应报文通过其服务端口离开本机;

# iptables -A INPUT -p tcp --dport 22 -m iprange --src-range 172.16.0.1-172.16.0.100 -m limit --limit 2/m
# iptables -A OUTPUT -p tcp --sport 22 -m iprange --dst-range 172.16.0.1-172.16.0.100 -m state --state ESTABLISHED -j ACCEPT

4、拒绝 TCP 标志位全部为 1 及全部为 0 的报文访问本机;

# iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

5、允许本机 ping 别的主机;但不开放别的主机 ping 本机;

# iptables -A INPUT  -p icmp --icmp-type 0 -j ACCEPT
# iptables -A OUTPUT  -p icmp --icmp-type 8 -j ACCEPT

原创文章,作者:N24_yezi,如若转载,请注明出处:http://www.178linux.com/64323

(1)
N24_yeziN24_yezi
上一篇 2016-12-20 20:35
下一篇 2016-12-20 22:15

相关推荐

  • 第一周

    1、描述计算机的组成与功能 计算器是由运算器,控制器,存储器,输入设备和输出设备五大部件组成;每一部件分别按要求执行特定的功能,具体功能如下: (1)运算器:完成各种算术运算和逻辑运算的装置,能进行加、减、乘、除等数学运算,也能作比较、判断、查找、逻辑运算等。 (2)控制器:控制器是计算机机指挥和控制其它各部分工作的中心,其工作过程和人的大脑指挥和控制人的各…

    Linux干货 2017-01-02
  • 软件编译安装小结

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1439073     本文主要针对 configure 和 cmake 做一个介绍以及我们重新配置编译参数文件时,都需要做哪些清…

    Linux干货 2016-08-15
  • Cobbler 自动化部署系统

    本人较懒,做好笔记,预排版,打印成 PDF 了。-_## Cobbler 自动化部署系统.pdf

    Linux干货 2015-08-17
  • 网络基础

    什么是计算机网络? 是指将地理位置不同的具有独立功能的多台计算机及外部设备,借助于某种网络介质连接起来,实现资源共享和信息传递的计算机系统 计算机网络的特点? 1、能实现数据信息的快速传输和集中处理 2、可共享计算机系统资源 3、提高了计算机的可靠性及可用性 4、能均衡负载互相协作 常见的网络应用程序 Web 浏览器(Chrome、IE、Firef…

    Linux干货 2016-09-09
  • 马哥教育网络班22期第一周课程练习

    1.描述计算机的组成及其功能     计算机的组成部分分为硬件部分与软件部分         硬件部分: I/O设备 + 运算器 + 存储器 + 控制器       &n…

    Linux干货 2016-08-15
  • Linux进程管理命令和性能监控工具的应用

    概述 监控系统的各方面的性能,保障各类服务的有序运行,是运维工作的重要组成部分,本篇就介绍了一些常用的系统监控命令和相关参数的说明 具体包含一下几个部分 1.进程管理基础 2.进程管理工具(ps,top,htop,kill) 3.内存监控类工具(vmstat,pmap) 4.系统监控累工具(glances,dstat)…

    Linux干货 2016-09-26