简介

  Iptables是unix/linux自带的一款优秀且开源的基于包过滤的防火墙工具。

怎么用

  可以用来做主机防火墙。

  可以做局域网共享上网。

  可以做ip及端口映射。

Iptables工作流程

  iptables分为4表5链

  表:

    filter:INPUT,OUTPUT,FORWARD

    NAT:POSTROUTING,PREROUTING,OUTPUT

    mangle:INPUT,OUTPUT,FORWARD,POSTROUTING,PREROUTING

    raw:PREROUTING,OUTPUT

  链:

    INPUT:进入主机的数据包。

    OUTPUT: 流出主机的数据包。

    FORWARD: 流经主机的数据包。

    PREROUTING: 进入服务器最先经过的链,用来做NAT端口或ip映射

    POSTROUTING: 流出服务器最后经过的链,NAT共享上网。 局域网共享上网。

4个表:filter,nat,mangle,raw,默认表是filter(没有指定表的时候就是filter表)。表的处理优先级:raw>mangle>nat>filter。

filter:一般的过滤功能

nat:用于nat功能(端口映射,地址映射等)

mangle:用于对特定数据包的修改

raw:优限级最高,设置raw时一般是为了不再让iptables做数据包的链接跟踪处理,提高性能

RAW 表只使用在PREROUTING链和OUTPUT链上,因为优先级最高,从而可以对收到的数据包在连接跟踪前进行处理。一但用户使用了RAW表,在某个链 上,RAW表处理完后,将跳过NAT表和 ip_conntrack处理,即不再做地址转换和数据包的链接跟踪处理了.

RAW表可以应用在那些不需要做nat的情况下,以提高性能。如大量访问的web服务器,可以让80端口不再让iptables做数据包的链接跟踪处理,以提高用户的访问速度。

iptables命令

[root@linux ~]# iptables -A INPUT -p tcp -m tcp --dport  -j ACCEPT  #添加filter表,开放21端口  

[root@linux ~]# iptables -t nat -A POSTROUTING -s 192.168.10.0/ -j MASQUERADE     #添加nat表,将源地址是 192.168.10.0/ 的数据包进行地址伪装

[root@linux ~]# iptables -I INPUT  -p tcp -m tcp --dport  -j ACCEPT  #添加filter表,开放20端口,并且插入到指定位置

[root@linux ~]# iptables -L -n --line-number
Chain INPUT (policy DROP)
num target prot opt source destination
ACCEPT all -- 0.0.0.0/ 0.0.0.0/
DROP icmp -- 0.0.0.0/ 0.0.0.0/ icmp type
ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ tcp dpt: #-I指定位置插的
ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ tcp dpt:
ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ tcp dpt:
ACCEPT all -- 0.0.0.0/ 0.0.0.0/ state RELATED,ESTABLISHED
DROP all -- 0.0.0.0/ 0.0.0.0/ state INVALID,NEW
ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ tcp dpt: #-A默认插到最后 Chain FORWARD (policy ACCEPT)
num target prot opt source destination Chain OUTPUT (policy ACCEPT)
num target prot opt source destination [root@linux ~]# iptables -L -n --line-number |grep #查看filter表,--line-number可以显示规则序号,在删除的时候比较方便 [root@linux ~]# iptables -t nat -vnL POSTROUTING --line-number #查看nat表
Chain POSTROUTING (policy ACCEPT packets, bytes)
num pkts bytes target prot opt in out source destination
MASQUERADE all -- * * 192.168.10.0/ 0.0.0.0/ [root@linux ~]# iptables -R INPUT -j DROP #将规则3改成DROP [root@linux ~]# iptables -D INPUT #删除input的第3条规则 [root@linux ~]# iptables -t nat -D POSTROUTING #删除nat表中postrouting的第一条规则 [root@linux ~]# iptables -F INPUT #清空 filter表INPUT所有规则 [root@linux ~]# iptables -F #清空所有规则 [root@linux ~]# iptables -t nat -F POSTROUTING #清空nat表POSTROUTING所有规则 [root@linux ~]# iptables -P INPUT DROP #设置filter表INPUT默认规则是 DROP 把所有通过eth0这个网卡发往地址122.225.97.111的包都转发到局域网的中192.168.1.130这台机器上.它也可以配全--string功能更强大
[root@linux ~]# iptables -t nat -A PREROUTING -i eth0 -p tcp\
--dst 122.225.97.111 --dport -j DNAT --to-destination 192.168.1.130: 将匹配到img.51yip.com的请求转到局域网的192.168.1.136这台机器上
[root@linux ~]# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport \
-m string --string "img.51yip.com" --algo bm -j DNAT --to-destination 192.168.1.136: snat可以让本地ip地址伪装成其他机器的ip地址,或者是公网IP,假如我有三台机器,一台能上外网,另外二台却不可以.不能上网的机器可以伪装成可上网的那机器的IP
[root@linux ~]# iptables -t nat -I POSTROUTING -j SNAT -s 192.168.10.0/ --to-destination 192.168.1.108

iptables简单了解的更多相关文章

  1. iptables简单配置

    iptables简单配置 分类: Linux 安全2010-10-20 16:56 4241人阅读 评论(0) 收藏 举报 input防火墙tcpfilterubuntuservice # iptab ...

  2. iptables简单使用

    1.安装iptables yum install iptables-services 2.iptables简单使用 iptables防火墙文件路径/etc/sysconfig/iptables sys ...

  3. [ 总结 ] web server iptables 简单配置

    [root@server ~]# iptables -F [root@server ~]# iptables -X [root@server ~]# iptables -A INPUT -m stat ...

  4. iptables 简单介绍及应用 Linux防火墙

    iptables 即 Linux防火墙 的简单介绍及使用 iptables生效位置如下图: 其中, 网络防火墙也可以使用一台启用了iptables的Linux主机代替; 路由器或集线器等设施在拓扑中省 ...

  5. iptables 简单配置

    通过命令 netstat -tnl 可以查看当前服务器打开了哪些端口  Ssh代码   netstat -tnl     查看防火墙设置  Ssh代码   iptables -L -n      开放 ...

  6. Linux iptables简单配置

    #!/bin/sh#modprobe ipt_MASQUERADEmodprobe ip_conntrack_ftpmodprobe ip_nat_ftpiptables -Fiptables -t ...

  7. iptables简单用法

    iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 &l ...

  8. iptables简单应用

    可以修改/etc/rc.d/boot.local让规则重启后也能生效,如: /sbin/iptables -F /sbin/iptables -A INPUT -i eth0 -p tcp --spo ...

  9. iptables简单规则记录

    先来一句:好记性不如烂笔头! 1.iptables简介 iptables是基于包过滤的防火墙,它主要工作在osi模型的2,,4层,也可以工作在7层(iptables + squid) 2.原理 防火墙 ...

随机推荐

  1. 通达OA 小飞鱼老师OA工作流设计课程教学网络公开课之HTML基础(一)

    通达OA网络教学公开课開始了.有须要的小伙伴们抓住机会奥. 8月29号晚8点不见不散.本次课程的主要内容是通达OA工作流设计课程中须要用到的Html部分学习. 帮忙转发的朋友加送一节VIP课程.

  2. QT信号槽与Delphi事件的对比

    最近学QT,对信号槽机制感到有点新鲜: QObject::connect(slider, SIGNAL(valueChanged(int)), lcd, SLOT(display(int))); 自己 ...

  3. P2657 [SCOI2009]windy数 数位dp

    数位dp之前完全没接触过,所以NOIP之前搞一下.数位dp就是一种dp,emm……用来求解区间[L,R]内满足某个性质的数的个数,且这个性质与数的大小无关. 在这道题中,dp[i][j]代表考虑了i位 ...

  4. MVVMLight消息通知实现机制详解(一)

    最近对委托.事件的订阅使用的太多,订阅与被订阅之间的绑定约束非常...麻烦,所以翻了下MVVMLight源码找出这段可以拿出来用的部分,详情见下: 一.开发中遇到的问题: 场景1:ClassA中存在事 ...

  5. 洛谷P1341 无序字母对(欧拉回路)

    P1341 无序字母对 题目描述 给定n个各不相同的无序字母对(区分大小写,无序即字母对中的两个字母可以位置颠倒).请构造一个有n+1个字母的字符串使得每个字母对都在这个字符串中出现. 输入输出格式 ...

  6. [App Store Connect帮助]二、 添加、编辑和删除用户(1)用户帐户和职能概述

    您可以在 App Store Connect 的“用户和访问”部分管理用户.添加沙盒测试员以及管理 API 密钥. 用户职能决定了用户对 App Store Connect 和 Apple Devel ...

  7. [Swift通天遁地]五、高级扩展-(12)扩展故事板中的元件添加本地化功能

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  8. Java初级进阶中高级工程师必备技能

    很多人学了javase以为自己学的已经很OK了,但是其实javase里边有很多的知识点是你不知道的,不管你找的是哪里的javase的视频,大多数是不会讲这些东西,而这些东西你平时业务又不会主动去接触, ...

  9. sql 全站搜索

    SQL全站搜索 create proc Full_Search(@string varchar(50)) as begin declare @tbname varchar(50) declare tb ...

  10. HTML-ul分分钟理解

    在HTML中,列表有三种,如图分别是有序.无序和自定义列表.上面是我在网络上找到的一张图片很明了就看以看出来,今天要分享的就是其中的无序列表Ul(unordered list),给大家整理了一下我所知 ...