iptables初学者入门

来源:互联网 发布:网络游戏软件出售 编辑:程序博客网 时间:2024/04/28 21:15
三个概念:
1.规则(rules)处理数据包时要满足的条件以及做出的动作
2.链(chains)包传播的路径,有若干规则需要校验
3.表(tables)提供特定功能,包括3个表filter,nat和mangle表

  (1)filter表,是iptables的默认表,filter表只能对包进行接收、丢弃的操作,其中包含:

     input链(处理进入的数据包)

     forword链(处理转发的数据包)

     output链(处理本地生成的数据包)
  (2)nat表,实现nat网络地址一对一,一对多,多对多的转换,包含:

     prerouting链(修改即将到来的数据包)
     output链(修改在路由之前本地生成的数据包)
     postrouting链(修改即将出去的数据包)
  (3)mangle表,对数据包进行某些内容的修改,包含:

     input链(处理进入的数据包)
     output链(修改在路由之前本地生成的数据包)
     prerouting链(修改在路由之前进入的数据包)
     forword链(修改正处理转发的数据包)
     postrouting链(修改即将出去的数据包)
基本操作:
关闭防火墙:输入 setup 选择 Firewall configuration 选择禁用
一般格式: iptables [-t 表] -命令  匹配  操作
表:指定内置表,filter表、nat表和mangle表。
命令:插入、删除、添加规则。
      -P --policy <链名>   定义默认策略

      -L --list   <链名>   查看iptables规则列表
      -A --append <链名>   在规则列表的最后增加1条规则  
      -I --insert <链名>   在指定的位置插入一条规则
      -D --delete <链名>   从规则列表中删除一条规则
      -R --replace<链名>   替换规则列表中的某条规则
      -F --flush  <链名>   删除表中所有规则
      -Z --zero   <链名>   将表中数据包计数器和流量计数器归零
匹配:
      -i --in-interface  <网络接口名>   指定数据包从哪个网络接口进入,例ppp0、eth0、eth1等
      -o --out-interface <网络接口名>   指定数据包从哪块网络接口输出,例ppp0、eth0、eth1等
      -p --proto         <协议类型>     指定数据包匹配的协议
      -s --source        <原地址或子网> 指定数据包匹配的源地址
      --sport            <源端口号>     指定数据包匹配的端口号,可指定范围,例"起始端口号:结束端口号"
      -d --destination   <目标地址或子网>指定数据包匹配的目标地址
      --dport 目标端口号                指定数据包匹配的目标端口号,可指定范围,"起始端口号:结束端口号"
动作:
     ACCEPT         接受数据包
     DROP           丢弃数据包
     REDIRECT       将数据包重新转向到本机或另一台主机的某个端口,多用于透明代理
     SNAT           源地址转换,即改变数据包的源地址
     DNAT           目标地址转换,即改变数据包的目标地址
     MASOUERADE     IP伪装,即常说的NAT技术,只能用于ADSL等动态分配IP的,若为静态IP则用SNAT
     LOG            日志功能,将符合规则的数据包的相关信息记录到日志中
定义默认策略
    iptables [-t 表名] <-P> <链名> <动作>

    [-t 表名]: 指默认策略应用于哪个表,filter,nat和mangle,默认为filter表

未完待续......

原创粉丝点击