Linux防火墙

Iptables与Firewalld(RHEL7中新增)

  • 防火墙实现:Iptables或Firewalld定义防火墙规则,由内核中的netfilter读取并实现过滤

  • Iptables命令

  • 规则:

      ACEEPT:允许通过
      LOG:记录日志信息,然后传给下一条规则继续匹配
      REJECT:拒绝通过,给出提示
      DROP:直接丢弃,没有回应
    
  • 规则链:依据处理数据报的位置不同而进行分类

      PREROUTING链:在进行路由选择前处理数据包
      INPUT链:处理入站的数据包
      OUTPUT链:处理出站的数据包
      FORWARD链:处理转发的数据包
      POSTROUTING链:在进行路由选择后处理数据包
    
  • 规则表:

      raw表:确定是否对该数据包进行状态跟踪
      mangle表:为数据包设置标记
      nat表:修改数据包中的源、目标IP地址或端口
      filter表:确定是否放行该数据包(过滤)
    
  • 命令格式:iptables [-t 表名] 选项 [链名] [条件] [-j 规则]

  • 参数:

       -P ->设置默认策略、-F ->清空规则链、-L ->查看规则链
       -A ->在规则链末尾加入新规则
       -I num ->在规则链的头部加入新规则
       -D num ->删除某一条规则
    
       -s ->匹配来源地址、-d ->匹配目标地址
       -i 网卡名 ->匹配从这块网卡流入的数据
       -o 网卡名 ->匹配从这块网卡流出的数据
       -p ->匹配协议,如tcp、udp、icmp
       --dport num ->匹配目标端口号
       --sport num ->匹配来源端口号
    
  • eg:

      1、仅允许来自192.168.10.0/24域的用户连接本机的ssh服务:
          iptables -I INPUT -s 192.168.10.0/24 -p tcp -dport 22 -ACCEPT
          iptables -A INPUT -p tcp --dport 22 -j REJECT
      注意:iptables防火墙按照顺序匹配规则,需保证‘允许’规则在‘拒绝’规则上面
    
      2、不允许任何用户访问本机的12345端口:
          iptables -I INPUT -p tcp --dport 12345 -j REJECT
          iptables -I INPUT -p udp --dport 12345 -j REJECT
    
      3、拒绝其他用户从“eno16777736”网卡访问本机http服务的数据包:
          iptables -I INPUT -i eno16777736 -p tcp --dport 80 -j REJECT
    
      4、禁止用户访问www.my133t.org:
          iptables -I FORWARD -d www.my133t.org -j DROP
    
      5、禁止IP地址是192.168.10.10的用户上网:
          iptables -I FORWARD -s 192.168.10.10 -j DROP
    

SNAT与DNAT

  • SNAT:源地址转换技术,使多个内网用户通过一个外网地址上网

  • eg:将内网IP地址192.168.10.10用户经过SNAT变成外网IP地址111.196.211.212:

      iptables -t nat -A POSTROUTING -s 192.168.10.10 -o eno16777736 -j SNAT --to-source 
    
  • DNAT:目的地址转换技术,使外网IP用户访问局域网内不同的服务器

  • eg:使互联网中的客户机61.240.149.149访问到内网服务器192.168.10.6:

      iptables -t nat -A PREROUTING -i eno 16777736 -p tcp --dport 80 -j DNAT --to-destination 192.168.10.6
    
  • 端口转发:将发送到某端口的数据包转发到其他端口

  • 流量均衡:将访问流量分到不同主机上

  • Firewalld防火墙(待补充)

你可能感兴趣的:(Linux防火墙)