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
下一篇 2017-05-02

相关推荐

  • vim快捷方式

    Vim是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器

    Linux干货 2017-11-26
  • yum安装 源码安装实例

     yum安装 源码安装实例 §·源码安装 http 2.2.29实例 1     1.下载源码包。 1     2.配置系统需要的编译环境。 2     3 ./configure ; make  ;…

    Linux干货 2016-08-24
  • rsync+inotify实现数据同步——双向传输

    实验环境:<仅2台主机之间进行数据双向传输> A主机:10.1.43.102 B主机:10.1.43.103 一、数据从A推向B 配置流程 先在B主机上配置: 1.vi /etc/rsyncd.conf(用户,目录,模块,虚拟用户及密码文件) uid = root gid = root port …

    Linux干货 2016-10-27
  • find命令

          find:实时查找工具,根据我们指定的内容或者条件在系统上进行实时查找,比locate在实际场景中用的多得多的多      具体用法:find   查找路径      查找条件         &n…

    Linux干货 2017-04-10
  • N28-第二周作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
    2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
    3、请使用命令行展开功能来完成以下练习:
    (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
    (2)、创建/tmp/mylinux目录下的:
    mylinux/
    ├── bin
    ├── boot
    │   └── grub
    ├── dev
    ├── etc
    │   ├── rc.d
    │   │   └── init.d
    │   └── sysconfig
    │   └── network-scripts
    ├── lib
    │   └── modules
    ├── lib64
    ├── proc
    ├── sbin
    ├── sys
    ├── tmp
    ├── usr
    │   └── local
    │   ├── bin
    │   └── sbin
    └── var
    ├── lock
    ├── log
    └── run
    4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
    5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
    6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
    7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
    8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
    9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
    10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
    11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
    12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

    Linux干货 2017-12-11
  • iptables

    iptables: Firewall:隔离工具;Packets Filter Firewall;工作于主机或网络的边缘,对经由的报文根据预先定义的规则(匹配条件)进行检测,对于能够被规则匹配到的报文实行某预定义的处理机制的一套组件; 硬件防火墙:在硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现;  软件防火墙:应用软件处理逻辑运行于通用硬…

    Linux干货 2016-12-05