iptables 学习笔记 一 要领入门

转载自http://blog.chinaunix.net/uid-9950859-id-98277.html


下面我们介绍几个iptable的命令   
    iptables -L [-t filter]   
   这条命令是显示当前有什么已经设置好的防火墙规则,可能的显示结果如下:
Chain INPUT(policy ACCEPT) target prot opt source destination Chain FORWARD(policy ACCEPT) target prot opt source destination Chain OUTPUT (policyACCEPT) target prot opt source destination

     从这里我们可以看出,
iptables 有三个链分别是 INPUT OUTPUT 和FORWARD.
其中
INPUT 是外部数据要进过我们主机的第一外关卡(当然你前面也可以再加硬件防火墙).
OUTPUT 是你的主机的数据送出时要做的过绿卡
FORWARD   是转发 你在NAT时才会用到
要设置iptables 主要是对这三条链进行设置,当然也包括-nat的另外三个链 我们以后再说
你要用iptables 你就得启到它 启动命令 service iptables restart
iptables的默认设置为 三条链都是ACCEPT 如下:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

以上信息你可以用 iptables -L看到
总体来说iptables可以有二种设置
1.默认允许,拒绝特别的
2.默认拒绝,允许特别的
二者都有自己有特点,从安全角度看 个人偏向于第二种,就是默认拒绝,允许特别的.但iptalbes 默认是第一种 默认允许,拒绝特别的
你可以用命令改变默认值来达到我们的要求 命令如下
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

你再用iptables -L查看一下就会觉得默认值以改了
先来谈炎几个参数XZFL
-F 清除规则
-X 清除链
-Z 将链的记数的流量清零
一般来说 再创建访问规则时 都会将原有的规则清零 这是一个比较好的习惯,因为某些规则的存在会影响你建的规则.
基本语法:
iptables [-t filter] [-AI INPUT,OUTPUT,FORWARD] [-io interface]
     [-p tcp,udp.icmp,all] [-s ip/nerwork] [--sport ports]
     [-d ip/netword] [--dport ports] [-j ACCEPT DROP]

以上是iptables的基本语法
A 是添加的意思
I 是播入的意思
io 指的是数据要进入或出去所要经过的端口 如eth1 eth0 pppoe等
p 你所要指定的协议
-s 指源地址 可是单个IP如192.168.2.6 也可以是一个网络 192.168.2.0/24 还可以 是一个域名 如163.com 如果你填写的域名系统会自动解析出他的IP并在iptables里 显示
--sport 来源端口
-d 同-s相似 只不过他指的是目标地址 也可以是IP 域名 和网络
--dport 目标端口
-j 执行参数 ACCEPT DROP
注意:如果以有参数存在 则说明全部接受
1 如我要来自己l0接口的数据全部接受,我们可以写成这样:
   iptables -A INPUT -i lo -j ACCEPT
2 如果我们想接受192.168.2.6这个IP地址传来的数据我们可以这样写
   iptablse -A INPUT -i eth1 -p tcp -s 192.168.2.6 -j ACCEPT
3 如果我们要拒绝来自己192.168.2.0/24这个网的telnet连接
   iptablse -A INPUT -i eth1 -p udp -s 192.168.2.0/24
   --sport 23 -j DROP

你可能感兴趣的:(iptables,学习笔记一)