简介

  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. [转]Android程序框架设计

    这篇文章主要内容来自于之前我讲的一个PPT文档,现在将其整理如下.欢迎指正.以下的内容都是来自于我自身的经验,欢迎大家多提自己的建议. 1.一些概念 模式的定义: 每个模式都描述了一个在我们的环境中不 ...

  2. ORA-00904:&quot;T1&quot;.&quot;AREA_ID&quot; :标识符无效

    1.错误描写叙述 ORA-00904:"T1"."AREA_ID" :标识符无效 00904 . 00000 - "%s:invalid identi ...

  3. linux 磁盘性能监控

    linux下对于查看进程的命令非常多也非常强大.经常使用的如:ps  top 可是在磁盘性能监控方面就没有那么统一了. 以下列举一些磁盘监控命令.此处仅仅是起到抛砖引玉作用,具体使用參数请參考man手 ...

  4. 02-JZ2440裸机学习之GPIO实验【转】

    本文转载自:http://blog.csdn.net/fengyuwuzu0519/article/details/54910717 版权声明:本文为博主原创文章,转载请注明http://blog.c ...

  5. 使iframe随内容(target到iframe的内容)改变而自适应高度,完美解决各种获取第一个demo高度后第二个高度不变情况

    转自:http://caiceclb.iteye.com/blog/281102 很高兴,终于使用jquery实现了点击外部链接,更改iframe内容时,iframe的高度自适应问题. 失败的测试就不 ...

  6. JSP-Runoob:JSP 自定义标签

    ylbtech-JSP-Runoob:JSP 自定义标签 1.返回顶部 1. JSP 自定义标签 自定义标签是用户定义的JSP语言元素.当JSP页面包含一个自定义标签时将被转化为servlet,标签转 ...

  7. PCB Genesis脚本 C#调用Javascript

    曾经用node.js测试写Genesis脚本失败了,这次借助开发PCB规则引擎的机会(基于JS V8引擎与.net深度交互性), 验证一下Javascript是否可用于写Genesis脚本. 一.测试 ...

  8. Ruby   离奇方法

    send https://ref.xaio.jp/ruby/classes/object/send find https://ref.xaio.jp/ruby/classes/enumerable/f ...

  9. [App Store Connect帮助]一、 App Store Connect 使用入门(4)iOS 版 App Store Connect

    通过 iOS 版 App Store Connect,您可以在移动设备上查看销售数据.App 元数据和顾客评论.您还可以检查 App 状态.发布您 App 的新版本并回应“Resolution Cen ...

  10. ibatis 基类生成

    using IBatisNet.Common.Utilities; using IBatisNet.DataMapper; using IBatisNet.DataMapper.Configurati ...