iptables 访问策略笔记

  1. Linux 2.4之后的防火墙iptables,iptables由3个表filter,nat,mangle组成,主要实验了filter表,这个表是用来过滤数据包的,有三个链INPUT,OUTPUT,FORWARD。

    配置防火墙策略有固定的格式
    iptables  表名   链名    匹配条件  动作

    -t 表名 (默认为filter)

    -A 链名(在该链末尾append追加策略)

    -I 链名 数字

    -I (insert)插入链,如果不加数字,默认是将写的策略添加到表中所有策略的前面,但是我们要指定插入到相应的行,我们可以这样

    Iptables –t filter –I INPUT 2 ……  这里就是插到第二个

    匹配条件:


    -i   网卡    数据包进入的网卡

    -o  网卡   出去的

    -s   ip   源ip

    -d   ip    目的ip

    -p   协议

    --dport  端口号   目的端口号

    --sport   端口号   源端口号

    动作:


    ACCEPT:对满足策略的数据包允许通过

    DROP:丢弃数据包,且不返回任何信息

    REJECT:丢弃数据包,但是会返回拒绝的信息

    LOG:把通过的数据包写到日志中(相当于一个门卫对进去的人进行登记)

     
    查看本机iptables情况
    iptables -L -n --line-number
     
  2. 防火墙的关闭、打开
    重启系统后生效
    #打开
    chkconfig iptables on
    #关闭
    chkconfig iptables off
     立即生效,重启系统后丢失设置
    #开启
    service iptables start
    #关闭
    service iptables stop
     
  3. 添加策略
    如果做了WEB服务器,开启80端口.
    [root@tp ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    如果做了邮件服务器,开启25,110端口.
    [root@tp ~]# iptables -A INPUT -p tcp --dport 110 -j ACCEPT
    [root@tp ~]# iptables -A INPUT -p tcp --dport 25 -j ACCEPT
    如果做了FTP服务器,开启21端口
    [root@tp ~]# iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    [root@tp ~]# iptables -A INPUT -p tcp --dport 20 -j ACCEPT
    如果做了DNS服务器,开启53端口
    [root@tp ~]# iptables -A INPUT -p tcp --dport 53 -j ACCEPT
    如果你还做了其他的服务器,需要开启哪个端口,照写就行了.
    上面主要写的都是INPUT链,凡是不在上面的规则里的,都DROP
    允许icmp包通过,也就是允许ping,
    [root@tp ~]# iptables -A OUTPUT -p icmp -j ACCEPT (OUTPUT设置成DROP的话)
    [root@tp ~]# iptables -A INPUT -p icmp -j ACCEPT    (INPUT设置成DROP的话)
    允许loopback!(不然会导致DNS无法正常关闭等问题)
    IPTABLES -A INPUT -i lo -p all -j ACCEPT (如果是INPUT DROP)
    IPTABLES -A OUTPUT -o lo -p all -j ACCEPT(如果是OUTPUT DROP)
    只允许192.168.0.3的机器进行SSH连接
    [root@tp ~]# iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j ACCEPT
    如果要允许,或限制一段IP地址可用 192.168.0.0/24 表示192.168.0.1-255端的所有IP.
    24表示子网掩码数
     
  4. 删除策略
     iptables -D INPUT 1  #删除INPUT链的序号为1的策略
     
  5. 修改filter表的链
    iptables -t filter -P INPUT DROP     #修改filter表的INPUT链的默认动作 
     

猜你喜欢

转载自lazydonkey.iteye.com/blog/2043758