iptables学习笔记

这几学习iptables,踩了一些坑,作下总结。

1、三表

(1)filter:默认表,处理本机数据包,包含input、output和forward

(2)nat:处理源或目的IP/端口转换,包含prerouting、postrouting、output

(3)mangle:处理高级路由信息,包含prerouting、output、input、forward

2、五链

(1)inpput,处理要进入本机的数据包的规则

(2)output:处理由本机产生,要外发的数据包的规则

(3)forward:处理非本机的数据包的规则

(4)prerouting:处理进入netfilter后路由判断前执行的数据包的规则

(5)postrouting,处理离开netfilter前执行的数据包的规则

3、语法参数

  iptables [-t table] command [chain] [match] [-j target]

     

  (1)table:表名,filter、nat、mangle,默认为filter

  (2)command:

    -A:链尾添加规则

    -D:链中删除规则,可指定行号

    -R:替换规则

    -L:显示规则

     -I:插入规则,可指定行号

     -X:删除自定义的规则

     -F:清空所有规则或删除指定的规则

     -N:创建新命名的链。

     -P:设置默认策略

     -Z:包字节计数器清零

  (3)match

     通用匹配

          -p:指定协议

          -s:指定源地址

          -d:指定目的地址

          -i:指定数据包进入的网卡

          -o:指定数据包出去的网卡

     隐含匹配:tcp udp icmp

     显示匹配:(还在学习,后续补充)

   (4)target:

     ACCEPT:满足条件的包允许通过

     REJECT:满足条件的包丢弃,且回信息给对方

     DROP:满足条件的包丢弃,不返回信息给对方

     REDIRECT:转发包到另一个端口

     MASQUERADE:获取IP地址作NAT

     SNAT:源地址转换

     DNAT:目的地址转换

(学习中,未完待续,后续补充实战例子上来)

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

(0)
鸿远鸿远
上一篇 2016-06-09
下一篇 2016-06-09

相关推荐

  • shell脚本基础

    shell脚本编程基础 1、基本格式 首先在编写shell的开始要声明一下该shell所用的脚本类型,我们也称为shebang机制 eg: #!/bin/bash # Description … 2、bash中的变量的种类 (1)、本地变量 生效范围: 当前shell进程,对当前shell之外的进程及子进程均无效 (2)、环境变量 生效范围: 当前she…

    Linux干货 2017-08-04
  • linux发行版的基础目录名称命名法则及功用规定。

    Linux文件系统:         Linux:glibc标准C库                  &nb…

    Linux干货 2016-10-30
  • 【原创】Tengine+LUA+Nginx-GridFS+jemalloc编译安装

    操作系统 ubuntu 14.04 LTS Nginx-GridFS为nginx直接访问mongoDB的扩展模块,目前只支持到mongodb2.6.12 mongodb安装请自己百度 #安装依赖包保平安 apt-get install root-system-bin autoconf automake gcc c++ libgeoip-devlibxml++…

    Linux干货 2016-11-30
  • 马哥教育网络班22期第二周课程练习1-未闻花名

    1、Linux管理文件和目录的命令 命令 功能 命令 功能 pwd 显示当前目录 ls 查看目录下的内容 cd 改变所在目录 cat 显示文件的内容 grep 在文件中查找某字符 cp 复制文件 touch 创建文件 mv 移动文件 rm 删除文件 rmdir 删除目录 1.1 pwd命令 该命令的英文解释为print working directory(打…

    Linux干货 2016-08-29
  • 马哥教育网络21期+第六周练习博客

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@localhost named]# cp /etc/rc.d/rc.sysinit /tmp/ [root@loc…

    Linux干货 2016-08-15
  • 03硬链接和软链接的区别和联系

    首先我们需要了解linux下硬链接以及软连接的基本概念. 硬链接:新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用. 软链接:也称为符号链接,新建的文件以“路径”的形式来表示另一个文件,和Windows的快捷方式十分相似,新建的软链接可以指向不存在的文件. 硬链接和软连接之间的区别: 1.硬链接和原来的文件没有什么区别,而且共享一…

    Linux干货 2016-10-20