Chinaunix首页 | 论坛 | 博客
  • 博客访问: 381334
  • 博文数量: 190
  • 博客积分: 50
  • 博客等级: 民兵
  • 技术积分: 125
  • 用 户 组: 普通用户
  • 注册时间: 2013-01-12 14:05
文章分类

全部博文(190)

文章存档

2013年(190)

我的朋友

分类: LINUX

2013-05-14 14:36:50

   原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://liuxin1982.blog.51cto.com/4338970/776050

 这次主要是说一下iptables的应用

 
 
以下自己看,这里不多说了,当然也不是很全,自己也需要再找下
 
规则表(table)由规则链的集合组成,不同的规则表用于实现不同类型的功能
规则链(chain)由规则的集合组成,保存在规则表中;在规则表中不同的规则链代表
               了不同的数据包流向
规则(rule)   是最基本的设置项,用于对防火墙的策略进行设置;流经某个数据链的数据
               将按照先后顺序经过规则的“过滤”
 
 
 
iptables缺省具有3个规则表
Filter:用于设置包过滤
NAT:用于设置地址转换
Mangle:用于设置网络流量整形等应用
 
 
不同的规则表由不同的规则链组成
Filter:INPUT、FORWARD、OUTPUT
NAT:PREROUTING、POSTROUTING、OUTPUT
Mangle:PREROUTING、POSTROUTING、INPUT、OUTPUT和FORWARD
 
 
 
作为主机防火墙实现外部网络与主机之间的访问控制
作为网络防火墙提供外部网络与内部网络的访问控制
作为网关服务器实现网络地址转换(NAT)功能,实现内部网络通过网关主机共享访问外部网络
 
 
 
 
iptables-save命令可以将当前系统中的防火墙设置进行保存
iptables-restore命令可以将使用iptables-save命令保存的防火墙策略配置恢复到当前系统中 
 
iptables配置文件与策略设置文件 
配置文件
/etc/sysconfig/iptables-config 
策略文件
/etc/sysconfig/iptables 
 
 
 
iptables [-t tables] [-L] [-n] 
参数说明: 
-t:后面接 iptables 的 table ,例如 nat 或 filter ,如果没有 -t table  
  的话,那么预设就是 -t filter 这个 table ! 
-L:列出目前的 table 的规则 
-n:不进行 IP 与 HOSTNAME 的转换,屏幕显示讯息的速度会快很多! 
 
 
iptables [-t tables] [-FXZ] 
参数说明: 
-F :清除所有的已订定的规则; 
-X :杀掉所有使用者建立的 chain (应该说的是 tables ) 
-Z :将所有的 chain 的计数与流量统计都归零 
 
 
 
iptables [-t tables] [-P] [INPUT,OUTPUT,FORWARD| PREROUTING,OUTPUT,POSTROUTING]
         [ACCEPT,DROP] 
参数说明: 
-P   :定义政策( Policy )。注意,这个 P 为大写啊! 
INPUT :封包为输入主机的方向; 
OUTPUT :封包为输出主机的方向; 
FORWARD:封包为不进入主机而向外再传输出去的方向; 
PREROUTING :在进入路由之前进行的工作; 
OUTPUT   :封包为输出主机的方向; 
POSTROUTING:在进入路由之后进行的工作。 
 
 
 
 
iptables [-t filter] [-AI INPUT,OUTPUT,FORWARD]  
 [-io interface] [-p tcp,udp,icmp,all] [-s IP/network] [--sport ports]  
 [-d IP/network] [--dport ports] -j [ACCEPT,DROP] 
参数说明: 
-A  :新增加一条规则,该规则增加在最后面,例如原本已经有四条规则, 
    使用 -A 就可以加上第五条规则! 
-I  :插入一条规则,如果没有设定规则顺序,预设是插入变成第一条规则, 
    例如原本有四条规则,使用 -I 则该规则变成第一条,而原本四条变成 2~5 
 INPUT :规则设定为 filter table 的 INPUT 链 
 OUTPUT :规则设定为 filter table 的 OUTPUT 链 
 FORWARD:规则设定为 filter table 的 FORWARD 链 
  
-i     :设定『封包进入』的网络卡接口 
-o    :设定『封包流出』的网络卡接口 
 interface :网络卡接口,例如 ppp0, eth0, eth1.... 
  
-p  :请注意,这是小写呦!封包的协定啦! 
 tcp :封包为 TCP 协定的封包; 
 upd :封包为 UDP 协定的封包; 
 icmp:封包为 ICMP 协定、 
 all :表示为所有的封包! 
  
-s     :来源封包的 IP 或者是 Network ( 网域 ); 
--sport:来源封包的 port 号码,也可以使用 port1:port2 如 21:23 
     同时通过 21,22,23 的意思 
-d     :目标主机的 IP 或者是 Network ( 网域 ); 
--dport:目标主机的 port 号码; 
  
-j   :动作,可以接底下的动作; 
 ACCEPT :接受该封包 
 DROP  :丢弃封包 
 LOG  :将该封包的信息记录下来 (预设记录到 /var/log/messages 文件) 
  
 
-m :表示封包的状态,状态有底下数种: 
 -m mac --mac-source aa:bb:cc:dd:ee:ff  
   这个就是我们上面提到的可以控制 网卡卡号, MAC 的设定方法! 
   那个 aa:bb:cc:dd:ee:ff 就是网络卡的 MAC ! 
 -m state --state <状态> 
   有数种状态,状态有: 
   INVALID:无效的封包,例如数据破损的封包状态 
   ESTABLISHED:已经联机成功的联机状态; 
   NEW:想要新建立联机的封包状态; 
   RELATED:这个最常用!表示这个封包是与我们主机发送出去的封包有关, 
    可能是响应封包或者是联机成功之后的传送封包!这个状态很常被设定, 
    因为设定了他之后,只要未来由本机发送出去的封包,即使我们没有设定 
    封包的 INPUT 规则,该有关的封包还是可以进入我们主机喔! 
    可以简化相当多的设定规则
 
 
 
iptables -t nat -A PREROUTING -p tcp  --dport 80  
 -j REDIRECT --to-ports 8080 
 这最容易在您使用了非正规的 port 来进行某些 well known 的协议, 
 例如使用 8080 这个 port 来启动 WWW ,但是别人都以 port 80 来联机, 
 所以,您就可以使用上面的方式来将对方对您主机的联机传递到 8080 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ICMP的各项类别所代表的意义 
 
类别代号 类别名称      意义 
 
0        Echo Reply  代表一个响应信息 
3        Distination Unreachable  表示目的地不可到达 
4        Source Quench 当 router  的负载过时,这个类别码可以用来让发送端停止继续发送讯息 
5        Redirect  用来重新导向路由路径的信息 
8        Echo Request  请求响应讯息 
11       Time Exeeded for a Datagram  当数据封包在某些路由传送的现象中造成逾时状态,此类
         别码可告知来源该封包已被忽略的讯息 
12       Parameter Problem on a Datagram  当一个 ICMP 封包重复之前的错误时,会回复来源主机
         关于参数错误的讯息 
13       Timestamp Request  要求对方送出时间讯息,用以计算路由时间的差异,以满足同步性协议
         的要求 
14       Timestamp Replay  此讯息纯粹是响应 Timestamp Request 用的 
15       Information Request  在 RARP 协议应用之前,此讯息是用来在开机时取得网络信息 
16       Information Reply   用以响应 Infromation Request 讯息 
17       Address Mask Request  这讯息是用来查询子网络 mask 设定信息 
18       Address Mask Reply  响应子网络 mask 查询讯息的 
 
 
 
iptables很重要,一定要掌握
 
 
 
是可以ping通的,刚才是虚拟机的设置问题
 
现在ping不通了,是因为我加了一条
 
查看得到。下面我们保存一下
 
可是,我这一改IP就又可以ping通了,那我的iptables不是白设了嘛,并不全是这样
基于IP的只是一部分,还是可以基于mac的
 
刚才少个空格,所以有错误提示
 
看,就算改了IP也没用,还是不能ping通,因为这个是基于mac的
 
 
iptables有很多,也很有用,这里只是一个例子
 
 
 
 
 
成功!!!!!!!!!!

本文出自 “单身贵族” 博客,请务必保留此出处http://liuxin1982.blog.51cto.com/4338970/776050

Iptables.rar

阅读(888) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~