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. 深入理解 JavaScript 变量的作用域和作用域链

    一个变量的作用域(scope)是程序源代码中定义这个变量的区域.简单的说,作用域就是变量与函数的可访问范围.全局变量拥有全局作用域,在JavaScript代码中的任何地方都有定义.局部变量是在函数体内 ...

  2. 高程(3):操作符、for、for...in循环、break/continue/return语句、函数等

    1.关系操作符 注意点:1)比较操作数是两个字符串,是比较字符串的字符编码值. 如:"a" > "b"  返回 false:"a" & ...

  3. input事件与change事件

    输入框的change事件: 必须等到输入框失去焦点的时候才会触发,鼠标在空白的地方点一下: 输入框的input事件: 在输入内容变化的同时,实时的触发,不需要等到失去焦点.

  4. Win10搭建Linux开发环境之网络连接设定

    一直想在家自己搭建一个LINUX服务器,好在上面安装个ORACLE数据库玩玩. 上次用了Ubuntu,结果ORACLE没装成功,现在换个思路,采用CentOS 7作为Linux服务器, 之后再进行构建 ...

  5. C#对象先序列化然后反序列化时间丢失八小时的问题

    把对象JSON序列化,然后反序列化后发现时间少了八小时.因为在东八区,所以序列的时候按照1970-01-01:08:00:00为基数取得差值,而反序列化的时候以1970-01-01:00:00:00作 ...

  6. iOS Salesforce SDK 小知识

    Salesforce SDK 能做许多任务,因此也比较繁杂,又分了原生,js等多个调用方法. 关键点总结: SFSmartStore 中的 - (id) initWithName:(NSString* ...

  7. Java注解基础概念总结

    注解的概念 注解(Annotation),也叫元数据(Metadata),是Java5的新特性,JDK5引入了Metadata很容易的就能够调用Annotations.注解与类.接口.枚举在同一个层次 ...

  8. mysql workbench连接不上远程数据库,xshell无法连接远程主机的问题

    1.先说xshell无法连接的问题 最近使用virtualbox装了个ubuntu-16.04,然后在win7上使用xshell连接,首先确认win7能ping通虚拟机ip.然后确认是否安装了open ...

  9. R语言环境安装与基本使用

    R语言安装包可以从这个地址选择合适的URL去下载:https://cran.r-project.org/mirrors.html,这里使用这个https://mirrors.tuna.tsinghua ...

  10. Eclipse下配置javaweb项目快速部署到tomcat

    用惯了VS,再用Eclipse,完全有一种从自动挡到手动挡的感觉啊. 很多同学在Eclipse下开发web项目,每一次修改代码,看效果的时候都有右键项目->Run as -> Run on ...