用Linux的iptables做代理服务器和防火墙配置(1)

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  代理/防火墙

  1.iptables规则表

  Filter(针对过滤系统):INPUT、FORWARD、OUTPUT

  NAT(针对地址转换系统):PREROUTING、POSTROUTING、INPUT、OUTPUT

  Mangle(针对策略路由和特殊应用):OUTPUT、POSTROUTING

  2.安装包

  iptables-1.2.7a-2

  3.配置防火墙

  1) 命令语法

  Usge: iptables [-t table] -[ADC] chain rule-specification [options]

  iptables [-t table] -I chain [rulenum] rule-specification [options]

  iptables [-t table] -R chain rulenum rule-specification [options]

  iptables [-t table] -D chain rulenum [options]

  iptables [-t table] -[LFZ] [chain] [options]

  iptables [-t table] -N chain

  iptables [-t table] -X [chain]

  iptables [-t table] -P chain target [options]

  iptables [-t table] -E old-chain-name new-chain-name

  规则操作参数说明:

  -A:在所选择的链末添加一条或更多规则;

  -D:从所选链中删除一条或更多规则。有两种方法:把被删除规则指定为链中的序号(第一条序号为1),或者指定为要匹配的规则;

  -R:从选中的链中取代一条规则。如果源地址或目的地址转换为多地址,该命令会失败。规则序号从1开始;

  -I:根据给出的规则序号,向所选链中插入一条或更多规则。所以,如果规则序号为1,规则会插入链的头部。这也是不指定规则序号时的默认方式;

  -L:现实所选链的所有规则。如果没有所选链,将显示所有链。也可以和z选项一起用,这是链会自动列出和归零;

  -F:清空所选链。这等于把所有规则一个个删除;

  -Z:把所有链的包以及字节的计数器清空;

  -N:根据给出的名称建立一个新的用户定义链。这必须保证没有同名的链存在;

  -X:删除指定的用户自定义链。这个链必须没有被引用,如果被引用,在删除之前必须删除或者替换与之有关的规则。如果没有给出参数,这条命令将试着删除每个非内建的链;

  -P:设置链的目标规则;

  -E:根据用户给出的名字对指定链进行重名名;

  规则定义参数说明:

  -p [!]protocol:

  规则或者包检查(待查包)的协议。指定协议可以是TCP、UDP、ICMP中的一个或者全部,也可以是数值,代表这些协议中的某一个。当然也可以使用在/etc/protocols中定义的协议名。在协议名前加上”!”表示相反的规则。数字0相当于所有all。Protocol all会匹配所有协议,而且这是缺省时的选项。在和check命令结合时,all可以不被使用;

  -s[!]address[/mask]:

  指定源地址,可以是主机名、网络名和清楚地IP地址。mask说明可以是网络掩码或清楚的数字,在网络掩码的左边指定网络掩码左边”1″的个数,因此,mask值为24等于255.255.255.0。在指定地址前加上”!”说明指定了相反的地址段。标志–src是这个选项的简写;

  -d[!]address[/mask]:

  指定目标地址,要获取详细说明请参见-s标志的说明。标志–dst是这个选项的简写;

  -j target:

  指定规则的目标:也就是说包匹配应当做什么。目标可以为ACCEPT(通过)、 DROP(删除)、RETURN(返回)、REDIRECT(重新指向)、SNAT(源地址转换)、DNAT(目标地址转换)、MASQUERADE(伪装)等,还可以是用户自定义链。如果规则的这个选项被忽略,那么匹配的过程不会对包产生影响,不过规则的计数器会增加;

  -i[!][name]:

  待选的可接受包接口名称,包通过该接口接收(在链INPUT、FORWORD和 PREROUTING中进入的包)。当在接口名前使用”!”说明后,指的是相反的名称,如果接口名后面加上”+”,则所有以次接口名开头的接口都会被匹配。如果这个选项被忽略,会假设为”+”,那么将匹配任意接口;

  -O[!][NAME]:

  这是包经由该接口送出的可选的出口名称,包通过该口输出(在链FORWARD、OUTPUT和POSTROUTING中送出的包)。其他设置同上。

[1][2][3]

生气是拿别人做错的事来惩罚自己

用Linux的iptables做代理服务器和防火墙配置(1)

相关文章:

你感兴趣的文章:

标签云: