安装: yum -y install iptables-services

启动:systemctl start iptables.service

四表五链

过滤:filter

  - input  forward  output

地址转换:nat

  - prerouting(路由前)  postrouting(路由后)  output

包标记:mangle

  -prerouting  -postrouting  input  output  forward

状态跟踪:raw

  - prerouting  output

规则链匹配顺序

  顺序对比,匹配即停止(log除外)              # log表示只记录

  未匹配则按链的默认策略处理

查看配置文件: rpm -qc iptables

保存设置: iptables-save > /etc/sysconfig/iptables-config

基本用法

  指令组成     iptables [-t 表名] options [链名] [conditions] [-j 目标操作]

选项(options)

  -A                     # 在链的末尾追加一条规则

  -I         # 在链的开头(或指定序号)插入一条规则

  -L        # 列出所有的规则条目

  -n        #  以数字形式显示地址、端口等信息 

  --line-numbers        # 查看规则是,显示规则的序号

  -D         # 删除链内指定序号(或内容)的一条规则

  -F        # 清空所有规则

  -P        # 为指定的链设置默认规则

条件(conditions)

通用匹配    协议匹配      -p  协议名

        地址匹配           -s  源地址           -d 目标地址

        接口匹配      -i  收数据的网卡    -o 发数据的网卡

隐含匹配    端口匹配      -sport 源端口        --dport 目标端口

        ICMP类型匹配  --icmp-type  ICMP类型

需要取反使用!

基本目标操作

ACCEPT:允许通过/放行    

DROP:直接丢弃,不给出任何回应
REJECT:拒绝通过,必钥时给出提示
LOG:记录日志,然后传给下一条规则

主机型防火墙(自己保护自己)---filter表(INPUT OUTPUT FORWARD ) 

# eg:
[root@ ~]# iptables -t filter -A INPUT -p tcp -s 192.168.4.0/24 --dport -j ACCEPT
[root@ ~]# iptables -t filter -P INPUT DROP # 默认进入的数据包都丢弃
[root@ ~]# iptables -t filter -nL INPUT
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- 192.168.4.0/24 0.0.0.0/ tcp dpt:

配置SNAT实现共享上网

开启路由转发    echo 1 > /proc/sys/net/ipv4_forward 或者   echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf

设置防火墙规则

   

iptables -t nat -A POSTROUTING -s xxx.xxx.xxx.xxx/ -p tcp --dport  -j SNAT --to-source xxx.xxx.xxx.xxx

地址伪装

iptables -t nat -A POSTROUTING -s xxx.xxx.xxx.xxx/ -p tcp --dport  -j MASQUEREAD

包过滤防火墙iptables(网络层)的更多相关文章

  1. 1、架构--架构图、Iptables(简介、四表五链、流程图、使用、扩展模块)、包过滤防火墙

    笔记 1.画架构图 2.Iptables 1.1 什么是防火墙 防止别人恶意访问. 1.2 防火墙种类 硬件防火墙 F5 软件防火墙 iptables firewalld 安全组 3.Iptables ...

  2. [转] Linux下防火墙iptables用法规则详及其防火墙配置

    from: http://www.cnblogs.com/yi-meng/p/3213925.html 备注: 排版还不错,建议看以上的链接. iptables规则 规则--顾名思义就是规矩和原则,和 ...

  3. Linux中的防火墙----iptables

    防火墙,它是一种位于内部网络与外部网络之间的网络安全系统.一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过. 防火墙根据主要的功能可分为网络层防火墙.应用层防火墙.数据库防火墙. 网 ...

  4. 【iptables】linux网络防火墙-iptables基础详解(重要)

    一:前言   防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防 ...

  5. Linux下防火墙iptables用法规则详及其防火墙配置

    转:http://www.linuxidc.com/Linux/2012-08/67952.htm iptables规则 规则--顾名思义就是规矩和原则,和现实生活中的事情是一样的,国有国法,家有家规 ...

  6. Linux防火墙iptables介绍

    介绍网络防火墙是通过一个或多个允许或拒绝的规则来过滤网络流量的网络设备或软件.网络防火墙还可以执行更复杂的任务,例如网络地址转换,带宽调整,提供加密隧道以及更多与网络流量相关的任务.而我们的任务就是需 ...

  7. CentOS防火墙iptables的配置方法详解

    CentOS系统也是基于linux中的它的防火墙其实就是iptables了,下面我来介绍在CentOS防火墙iptables的配置教程,希望此教程对各位朋友会有所帮助. iptables是与Linux ...

  8. linux平台下防火墙iptables原理(转)

    原文地址:http://www.cnblogs.com/ggjucheng/archive/2012/08/19/2646466.html iptables简介 netfilter/iptables( ...

  9. 写了个Linux包过滤防火墙

    花几天写了个so easy的Linux包过滤防火墙,估计实际意义不是很大.防火墙包括用户态执行程序和内核模块,内核模块完全可以用iptable代替.由于在编写的过程一开始写的是内核模块所以就直接用上来 ...

随机推荐

  1. ubuntu18下Docker运行springboot项目

    1.springboot项目打成jar包 mvn install 2.编写Dockerfile # 基础镜像使用java FROM java:8 # 作者 #MAINTAINER sk # VOLUM ...

  2. C/C++快读(快速读入)有多——安全AC

    在一些算法题目中中,有的程序会被卡常(数),就是说,程序虽然渐进复杂度,(通俗来讲:算法的时间复杂度)可以接受,但因为算法本身的时间常数过大,导致程序在一些算法竞赛中超时.这是,快读就显得尤为重要了. ...

  3. hyper-v虚拟机centos7网络配置

    原文地址:https://jingyan.baidu.com/article/91f5db1b0279bd1c7e05e377.html hyper-v安装了centos7之后并不能上网,这里简单介绍 ...

  4. Docker 镜像的制作

        1.登录docker            docker ecex –it 容器名/容器id /bin/bash        例如:            docker exec –it t ...

  5. Django 在Python3.5 下报 没有模块MySQLdb

    在整个项目站点下的__init__.py 文件里(即和setting.py在同一个文件下)写入以下代码: import pymysql pymysql.install_as_MySQLdb() 需要提 ...

  6. VS2017生成一个简单的DLL文件 和 LIB文件——C语言

    下面我们将用两种不同的姿势来用VS2017生成dll文件(动态库文件)和lib文件(静态库文件),这里以C语言为例,用最简单的例子,来让读者了解如何生成dll文件(动态库文件) 生成动态库文件 姿势一 ...

  7. Devexpress WinForm GridControl实现单元格可编辑状态更改

    之前做项目的时候,需要实现这样的功能.在gridcontrol中,根据是否修改(checkbox)列的选中和未选中状态来联动另外一列的编辑状态.实现如下: private void gridView1 ...

  8. 安装gcc过程中遇到相互依赖的问题

    在离线安装gcc的时候需要安装一些包,但是在安装 glibc-common    glibc遇到一个很恶心的问题,这两个包相互依赖. 经查询才发现需要一起安装这两个依赖包.真是有趣的很 rpm -iv ...

  9. ASP.NET Core 2.0 中读取 Request.Body 的正确姿势

    原文:ASP.NET Core 中读取 Request.Body 的正确姿势 ASP.NET Core 中的 Request.Body 虽然是一个 Stream ,但它是一个与众不同的 Stream ...

  10. Install CUDA 6.0 on Ubuntu 14.04 LTS

    Ubuntu 14.04 LTS is out, loads of new features have been added. Here are some procedures I followed ...