iptables归纳总结

先简单介绍下iptables

IPTABLES的几点概念

 1、容器:包含或者说属于的关系

 2、Netfilter/iptables是表的容器,iptables包含的各个表

(filter,NAT,MANGLE,RAW)

 3、iptables的表tables又是链的容器

链chains:INPUT,OUTPUT,FORWARD,PREROUTING,POSTROUTING

 4、链chains是规则容器:

 5、规则Policy:一条条过滤的语句。


示例:

(1)禁止掉当前SSH端口,这里是52113。

[root@ipt ~]# iptables -t filter -A INPUT -p tcp –dport 52113 -j DROP

语法:

Usage:

iptables -t [table] -[AD] chain rule-specification [options]

具体命令:

iptables           -A INPUT -p tcp –dport 52113 -j DROP

iptables -t filter -A INPUT -p tcp –dport 52113 -j DROP

注:

1.iptables默认用的就是filter表,因此,以上两条命令等价。

2. 其中的INPUT DROP要大写。

3. –jump        -j target

   target for rule (may load target extension)

基本的处理行为:ACCEPT(接受)、DROP(丢弃)、REJECT(拒绝)

比较:DROP好于REJECT

(2)禁ping

iptables -t filter  -I INPUT -p icmp –icmp-type 8 -i eth0 -s 10.0.0.0/24 -j DROP 

iptables -t filter  -I INPUT -p icmp –icmp-type 8  -j DROP   

    本机地址:172.16.14.1,允许172.16.0.0/16网络ping本机,但限制每分钟请求不能超过20,每次并发不能超过6个

iptables -A INPUT -s 172.16.0.0/16 -d 172.16.14.1 -p icmp –icmp-type 8 -m limit –limit 20/min –limit-burst 6 -j ACCEPT

iptables -A OUTPUT -s 172.16.14.1 -d 172.16.0.0/16 -p icmp –icmp-type 0 -j ACCEPT

(3)!使用简介

封掉3306端口

iptables -A INPUT -p tcp  –dport 3306 -j DROP

匹配指定协议外的所有协议

iptables -A INPUT -p ! tcp

匹配主机源IP

iptables -A INPUT -s 10.0.0.14

iptables -A INPUT -s ! 10.0.0.14

 匹配网段

iptables -A INPUT -s 10.0.0.0/24

iptables -A INPUT -s ! 10.0.0.0/24

匹配单一端口

iptables -A INPUT -p tcp –sport 53

iptables -A INPUT -p udp –dport 53

 匹配指定端口之外的端口

iptables -A INPUT -p tcp –dport ! 22

iptables -I INPUT -p tcp ! –dport 22  -s 10.0.0.123 -j DROP

匹配单一端口

iptables -A INPUT -p tcp –sport 53

iptables -A INPUT -p udp –dport 53

 匹配指定端口之外的端口

iptables -A INPUT -p tcp –dport ! 22

iptables -I INPUT -p tcp ! –dport 22  -s 10.0.0.123 -j DROP

iptables -I INPUT -p tcp –dport 52000:53000 -j DROP

匹配端口范围:

iptables -A INPUT -p tcp –sport 22:80

iptables -I INPUT -p tcp –dport 21,22,23,24 -j ACCEPT===》错误语法

iptables -I INPUT -p tcp -m multiport –dport 21,22,23,24 -j ACCEPT

iptables -I INPUT -p tcp –dport 3306:8809 -j ACCEPT

iptables -I INPUT -p tcp –dport 18:80 -j DROP

匹配ICMP类型

iptables -A INPUT -p icmp –icmp-type 8

例:iptables -A INPUT -p icmp –icmp-type 8 -j DROP

iptables -A INPUT -p icmp -m icmp –icmp-type any -j ACCEPT

匹配指定的网络接口

iptables -A INPUT -i eth0

iptables -A FORWARD -o eth0

匹配网络状态

-m state –state

    NEW:已经或将启动新的连接

    ESTABLISHED:已建立的连接

    RELATED:正在启动新连接

INVALID:非法或无法识别的

FTP服务是特殊的,需要配状态连接。

企业iptables面试题:自定义链处理syn攻击

iptables -N syn-flood

iptables -A INPUT -i eth0 -syn -j syn-flood

iptables -A syn-flood -m limit -limit 5000/s -limit-burst 200 -j RETURN

iptables -A syn-flood -j DROP

 

 将设置保存为文件(永久生效)

iptables-save >/etc/sysconfig/iptables

局域网共享的两条命令方法:

方法1:适合于有固定外网地址的:

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT –to-source 10.0.0.7

(1)-s 192.168.1.0/24 办公室或IDC内网网段。

(2)-o eth0 为网关的外网卡接口。

(3)-j SNAT –to-source 10.0.0.19 是网关外网卡IP地址。

方法2:适合变化外网地址(ADSL):

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE ç伪装。

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

赞 (0)
cnccnc
上一篇 2017-05-02 11:08
下一篇 2017-05-02 14:13

相关推荐

  • Linux文本处理工具

    Linux文本处理工具 文件内容查看的工具:cat tac rev cat [options] [filename]     -E //显示行结束符     -n //对显示出的行编号     -A //显示所有控制符     -b //非空行编号     -S //压缩连续的空行为一行 tac //用于将文件已行为单位的反序输出,即第一行最后显示,最后一行…

    Linux干货 2017-09-09
  • Shell脚本编程初步

        shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。shell脚本(shell script),是一种为shell编写的脚本程序。业界所说的shell通常都是指shell脚本,但shell和shell script是两个不同的概念。shell编程跟java、php编程…

    Linux干货 2016-08-24
  • 计算机基础知识(第一天)

    一、计算机的硬件组成         冯诺依曼体系结构:             CPU、存储器、输入设备、输出设备       &nbsp…

    Linux干货 2016-07-26
  • 马哥教育网络班22期+第1周课程练习

    第1周课程练习 一、描述计算机的组成及其功能。     CPU (运算器+控制器), 存诸器(内存与外部存储),输入输出设备。      运算器:对数据进行处理(包括算述运算与逻辑运算)。      控制器:负责从存储器取出指令,按指令的要求发出控制信号,使各…

    Linux干货 2016-08-15
  • Btrfs文件系统在CentOS中的应用

      Btrfs作为Linux下一代文件系统与zfs有着许多相似的功能。 扩展性 (scalability) 相关的特性,btrfs 最重要的设计目标是应对大型机器对文件系统的扩展性要求。 Extent,B-Tree 和动态 inode 创建等特性保证了 btrfs 在大型机器上仍有卓越的表现,其整体性能而不会随着系统容量的增加而降低。 其次是数据一…

    Linux干货 2016-01-20
  • 正则表达式30分钟入门教程

    来园子之前写的一篇正则表达式教程,部分翻译自codeproject的The 30 Minute Regex Tutorial。 由于评论里有过长的URL,所以本页排版比较混乱,推荐你到原处查看,看完了如果有问题,再到这里来提出. 一些要说的话: 如果你没有正则表达式的基础,请跟着教程“一步步来”。请不要大概地扫两眼就说看不懂——以这种态度我写成什么样你也看不…

    2015-03-12