iptables详细语法及配置:

SNAT:源地址转换
DNAT:目标地址转换
PNAT:端口地址转换

----------------------------------
iptables规则链

路由以后到本机:INPUT
本机出口:OUTPUT
路由到本机以后转发:FORWARD
路由前:PREROUTING
路由后:POSTROUTING

---------------------------------
防火墙的功能
raw
mangle:拆包修改
nat:地址转换
filter:过滤

---------------------------------

filter

处理动作
ACCEPT:放行
DROP:拒绝(直接丢弃包)
REJECT:拒绝(向对方回应拒绝)

---------------------------------

iptables 基本语法

iptables [-t TABLE](指定表名 raw|mangle|nat| filter<默认> ) COMMAND CHAIN(链) [CRETIRIA](匹配条件) -j ACTION

COMMAND:对链,或者链链中规则进行管理操作
链中规则:
-A 新加一条规则
-I [*] 插入一条规则
-R [*] 替换一条规则 OR , -R CRETERIA
-D [*] 删除一条规则 OR , -D CRETERIA

链:
-N 新建一个自定义链
-X 删除一个自定义空链
-E 重命名一条自定义链
-F 清空指定链,如果不指定链,则清空表中所有链
-P 设定默认策略
-Z 置零(每条规则,包括默认策略都有两条计数器,一个是被本规则匹配的所有数据包的个数,另一个是被本条数据包匹配的大小之和)

-L 查看
-v 查看详细
-vv 查看更详细
-vvv 查看更加详细
-- line-numbers 查看行号
-x 计数器的精确值
-n 不要对地址和端口进行名称反解(显示数字地址)
------------------------------------

iptabels服务脚本: /etc/rc.d/init.d/iptables
脚本配置文件:/etc/sysconfig/iptables-config
service iptables [status|start|stop|restart|save<保存>]

iptables 规则的目录 /etc/sysconfig/iptables

匹配条件:
通用匹配
-s 源地址
-d 目标地址
| IP
| NETWORK/MASK
| ! (除指定IP或者网段以外)
-p [icmp|tcp|udp]
-i IN_INTERFACE 数据包流入接口
-o OUT_INTERFACE 数据包流出接口

扩展匹配
隐式扩展
-p tcp [icmp|tcp|udp]
|--sport 端口(必须为单个或者相连的端口)
|--dport 目标端口(必须为单个或者相连的端口)
|--tcp-flags [SYN,FIN,ACK,PSH,RST,URG](需要检查的位) [SYN,FIN,ACK,PSH,RST,URG](须为1的位)
|--syn 相当于 --tcp-flags SYN,ACK,RTS,FIN SYN

-p udp
|--sport
|--dport
-p icmp
|--icmp-type
| 0:echo-reply 回应报文
| 8:echo-request 请求报文

显式扩展
nitfilter扩展模块引入的扩展,用于指定新的匹配条件,通常需要额外的专用选项来定义
-m state:用于使用连接状态检测
--state
NEW(新的链接),ESTABLISHED(建立的链接)
RELATED(有关系的),INVALID(非法的)

-------------------------------------

CentOS 7 保存方法
直接修改/etc/sysconfig/iptables保存
/usr/libexec/iptables/iptables.init save

linux菜鸟日记(5)的更多相关文章

  1. linux菜鸟日记(4)

    使用一个简单的for循环和if判断语句实现某个网段内所有ping所有客户机的shell程序: ..} do >&; then echo " ${i}通" else e ...

  2. linux菜鸟日记(3)

    Centos7利用shell编辑一串 一键完成一些基础配置的代码: 在这串shell代码中我实现了  IP地址的配置.光盘的挂载.本地yum源的搭建.一些服务的安装例如 httpd. php. ntp ...

  3. linux菜鸟日记(2)

    ntp服务的安装与配置: 安装ntp服务的过程比较简单首先你需要挂载光盘然后安装ntp服务如果配置了本地yum源可以直接使用光盘中的资源进行本地yum的安装,如果没有就使用rpm包进行安装. 由于我已 ...

  4. linux菜鸟日记

    本地yum源的安装: 要安装本地yum源,首先需要熟悉本地yum文件的配置和光盘的挂载 第一步挂载光盘: 首先需要指定一个光盘挂载目录 通常情况下我习惯使用默认挂载目录,所以一般我使用的光盘挂载命令是 ...

  5. Linux学习日记-使用EF6 Code First(四)

    一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是  请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...

  6. Linux管理日记(二)

    14  启动内网端口转发 ### 2. 查看IP以及网卡信息 # 可以发现, eth0 的地址 inet addr:10.144.7.195, 此为内网网卡 # 公网网卡, eth1 的地址 inet ...

  7. Linux菜鸟成长日记 ( Linux 下的 ftp 文件传输协议 )

    https://blog.csdn.net/buster_zr/article/details/80244542 FTP FTP 是 File Transfer Protocol (文件传输协议)的英 ...

  8. Linux 学习日记 1

    这是我第一次系统地学习Linux,希望通过这个学习日记收获一些东西把-- @_@ Grub - 启动管理器   在启动时让用户选择要启动的系统.(但是windows比较霸道--重装windows后会将 ...

  9. Linux学习日记——源码编译Apache

    [本文为笔者在学习Linux 下的软件安装时,尝试使用源码安装Apache 的过程,事后进行一个小小的总结,发现错误望指正.] 一.典型的源码编译安装软件的过程包括以下3步: 1) 运行 config ...

随机推荐

  1. erlang 虚机性能调优

    erlang 默认启动参数更多的是针对电信平台实时特性,简单调整参数能很大程度降低CPU消耗,提高处理能力. 1. 关闭spin_wait 设置参数:+sbwt none 我上一篇文章提到:erlan ...

  2. CSS3中的px,em,rem,vh,vw辨析

    1.px:像素,精确显示 2.em:继承父类字体的大小,相当于"倍",如:浏览器默认字体大小为16px=1em,始终按照div继承来的字体大小显示,进场用于移动端 em换算工具:h ...

  3. C++基础知识面试精选100题系列(11-20题)[C++ basics]

    [原文链接] http://www.cnblogs.com/hellogiser/p/100-interview-questions-of-cplusplus-basics-11-20.html [题 ...

  4. Mosquitto搭建Android推送服务(四)Mosquitto服务器用户登录与权限配置

    文章钢要: 1.对服务器进行多用户配置 2.根据不同用户给予不同权限 一.Mosquitto的用户机制 mosquitto中可以添加多个用户,只有使用用户名和密码登陆服务器才允许用户进行订阅与发布操作 ...

  5. cmd连接mysql的方法详解(转载)

    连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样)断开:exit (回车) 创建授权:grant select on 数据库.* to 用户名@登 ...

  6. win32调试打印

    void __cdecl OutputDebugStringF(const char* format ...){ va_list vlArgs; char* stringBuffer=(char*)G ...

  7. Swift - 代码创建NSLayoutConstraint布局

    NSLayoutConstraint参数说明: /** * 创建约束 NSLayoutConstraint 参数 说明: * item 自己 * attribute * relatedBy 大于等于 ...

  8. linux学习日记之鸟哥

    2016年10月11日星期二 df命令解释:用于显示磁盘分区上可以使用的磁盘空间.默认显示单位为KB,可以用该命令来获取硬盘被占用了多少空间,目前还剩多少空间等信息.用法:df 选项 参数例:df – ...

  9. php抽奖代码

    1.经典概率算法抽奖 $tmpItems = ['电脑'=>10, '相机'=>50, '100元现金'=>500]; $proSum = array_sum($tmpItems); ...

  10. Web Service 的创建简单编码、发布和部署

    最近,老大准备将已有的C/S架构项目中的通信部分做成通用,需要将其支持WebService为以后项目向着B/S架构升级做好铺垫,为此身为屌丝的我去各种百度WebService是个什么卵玩意,然后逐渐搭 ...