iptables语法与参数

                         Iptables 语法与格式
netfilter 机制的命令结构:
       netFilter: INPUIT FORWARDOUTPUT     filter的三种chain《最重要
      Nat:PREROUTING POSTROUTINGOUTPUT    nat的三种chain《地址转换
      Mangle: PREROUTING INPUTFORWARD     mangle的五种chain《提供QOS
              OUTPUT POSTROUTING              可以更改封包的内容
      RAW:    PREROUTING OUTPUT             raw的两种chain《提高性能
Iptables 命令参数:
        Iptables �Ct [ filter | nat | mangle | raw]
                -t 参数的意义是功能是哪一个(默认是filter
Iptables 的操作方式:
      -L        列出规则(table)内容,--line显示行号 (默认是filter)
      -F        清除规则(table)内容
      -A        加入新的规则
      -P        修改default policy (默认是ACCEPT
      -I        插入新的规则
      -R        配置新的规则取代旧的规则
      -D        删除规则
Iptables 基本的规则语法:
1) 接口的匹配参数:
-i    匹配封包从哪个接口进入 例如: -i eth0
-o    匹配封包从哪个接口出去 例如: -o eth1
     (常见的网络接口: eth0 ppp0 lo fddi0 0” 代表第一块网卡,如果有多个就以此类推)
2)   协议的匹配参数:
-p   匹配使用的协议 例如: tcpudpicmp等也可使用all代表所有
     /etc/protocols文档中可以查看全部的协议及端口号
3 )  匹配来源/目的的IP地址:
-s   匹配封包的来源ip地址 例如: -s 192.168.10.100
-d   匹配封包的目的ip地址 例如: -d 172.16.10.100
     可匹配单一ip、网段(192.168.10.0/24)、FQDN名(www.baidu.com
4) 匹配来源/目的的post位置:
--sport   匹配来源就是来源使用哪个服务端口回应客服端封包
          例如: --sport 110 匹配由pop3 Server回应客户端封包
--dport   匹配目的就是目的端要访问源端端哪个端口(服务)
          例如: --dport 80 匹配访问Web Server的封包
5) 处理方式:
-j   ACCEPT 允许
     DROP   将封包丢掉
     REJECT 将封包丢掉,并回应发送端一个ICMP封包
结合以上参数语法编写一下规则:
使用shell脚本的方式
       #!/ Variable
       VALUES=“/sbin/iptables �Ct filter”
       SERVER=192.168.10.100
       CLIENT=192.168.10.150
       #Clear Original Rule
       $VALUES �Ct filter �CF
       #Set Default Policy
     $VALUES �Ct filter �CP INPUT  DROP
       $VALUES �Ct filter �CP FORWARD DROP
       #Set Rule
       $VALUES �CA INPUT �Cp tcp �Cm state �C-state INVALID �Cj DROP
       $VALUES �CA INPUT �Cp icmp �Cj DROP
       $VALUES �CA INPUT �Cp tcp �Cd $SERVER �C-dport 80 �Cj ACCEPT
       $VALUES �CA INPUT �Cp tcp �Cs $CLIENT �Cd $SERVER �C-dport 23 �Cj       ACCEPT
       $VALUES �CA INPUT �Cp tcp �Cs $CLIENT �Cd $SERVER �C-dport 22 �Cj j ACCEPT
规则编写完成后将脚本赋予700权限并将属组与属主改成root然后执行脚本。
使用service iptables save 指令将规则存储到/etc/sysconfig/iptables文件中。
/etc/rc.d/rc.local文件中的最后加入脚本的名称,需要决对路径
 
:如何解决无发在防火墙主机上对外建立连接的问题:
       解决方法:使用xt_state.ko模块该模块提供“连接追踪”功能
      Netfilter 模块所在目录:
        /lib/modules/kernel_version/kernel/net/netfilter
      Iptables 工具模块所在目录:
        /lib/iptables
      State 模块的四种描述如下:
        ESTABLISHED NEW RELATED INVALID
       使用规则如下:
     I iptables �Ct filter �CA INPUT �Cm state �C-state ESTABLISHED �C  j ACCEPT                                                                  i ptables -t filter �CA INPUT �Cm state �C-state RELATED �Cj ACCEPT
   将以上两条规则添加到现有的规则中就可以了。

你可能感兴趣的:(参数,职场,iptables,语法,休闲)