• linux的防火墙管理


    换oricle-linux7系统后,发现iptables的管理方法有不小的改动,记录一下遇到的问题。

    iptables

    • linux系统已经默认安装了iptables和firewalld两款防火墙管理工具,但是在使用service iptables save命令的时候可能提示找不到命令;另外iptables的配置文件在/etc/sysconfig/iptables,但是新装的服务器可能没有这个文件,一般需要安装iptables-service;

    • 本人习惯使用iptables防火墙工具;

    yum -y install iptables-services   # 先更新iptables-services,可以发现在/etc/sysconfig/目录下已经有Iptables文件,同时可以使用service来管理iptables了
    
    systemctl stop firewalld     # 先关闭防火墙
    systemctl start iptables     # 启动防火墙
    systemctl enable iptables    # 将防火墙设置成开机自启动
    systemctl iptables save      # 将当前配置的防火墙设置保存到/etc/sysconfig/iptables目录下
    

    注意:

    1. firewalld和iptables是相互独立的防火墙管理工具;

    2. ‘systemctl iptables save’ 执行时,iptables会去读取/etc/sysconfig/iptables-config文件,然后读取/etc/sysconfig/iptables文件;

    扩展

    service iptables status  # 查看防火墙的状态
    service iptables start   # 开启防火墙
    service iptables stop    # 关闭防火墙
    service iptables restart # 重启防火墙
    
    • 配置iptables参数

    防火墙需要开放端口给外部访问,设置过滤等。因此需要配置文件,所有的配置保存在/etc/sysconfig/iptables中,有两种方法可以配置:

    • 方法一:直接修改iptables文件
    *filter
    :INPUT ACCEPT [0:0]   # 允许流量输入
    :FORWARD ACCEPT [0:0] # 允许转发
    :OUTPUT ACCEPT [0:0]  # 允许流出
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT  # 允许ping通
    -A INPUT -i lo -j ACCEPT  # 默认允许网卡流入数据
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT  # 添加一条规则,允许22端口
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT  # 提交设置
    # 在后面添加相关的命令行
    
    • 参数详解
    -A  :添加一条规则,针对什么数据包,INPUT流入的数据包,OUTPUT流出的数据包,FORWARD转发的数据包
    -p  :指定协议,如TCP,UDP
    –dport:目标端口,当数据从外部进入服务器为目标端口
    –sport:源端口,数据从服务器出去,则为数据源端口使用
    –j :指定策略规则,ACCEPT(允许接收)、DROP(拒绝接收,无响应)、REJECT(拒绝接收,有响应)
    -s : 指定某一个IP地址的访问,加叹号“!”表示除这个IP外 
    
    -L  查看规则链
    -F  清空规则链
    -I num	在规则链的头部加入新规则
    -D num	删除某一条规则
    -d	匹配目标地址
    -i 网卡名称	匹配从这块网卡流入的数据
    -o 网卡名称	匹配从这块网卡流出的数据
    
    • 方法二:使用命令行动态修改保存
    iptables -P INPUT -j DROP
    service iptables save  
    

    注意

    1. 防火墙的规则是按照从上往下依次匹配的,因此一定要把允许动作放到拒绝动作前面,否则所有的流量就将被拒绝掉,从而导致任何主机都无法访问。

    firewalld

    • linux的另一款防火墙的管理工具;
    service firewalld status  # 查看防火墙的状态
    service firewalld start   # 开启防火墙
    service firewalld stop    # 关闭防火墙
    service firewalld restart # 重启防火墙
    
    • 管理端口
    # 开启一个端口
    firewall-cmd --zone=public --add-port=80/tcp --permanent
    
    # 重新载入
    firewall-cmd --reload
    
    # 查看某个端口的状态是否开启
    firewall-cmd --zone=public --query-port=80/tcp
    # 关闭某个端口
    firewall-cmd --zone=public --remove-port=80/tcp --permanent
    
    
    • 参数
    --permanent : 设置命令永久有效
    --add-port : 开启一个端口
    --remove-port : 关闭一个端口
    

    使用systemctl

    • systemctl是融合了chkconfig和service的系统管理工具,更加的强大和方便;
    systemctl start firewalld    # 开启防火墙
    systemctl stop firewalld    # 关闭防火墙,开机启动
    systemctl restart firewalld  # 重新启动防火墙
    systemctl status firewalld   # 查看防火墙的状态
    systemctl disable firewalld  # 永久关闭防火墙,不再开机自启动
    systemctl enable firewalld   # 设置防火墙开机自启动
    systemctl is-enabled firewalld 
    
    systemctl start iptables    # 开启防火墙
    systemctl stop iptables    # 关闭防火墙,开机启动
    systemctl restart iptables  # 重新启动防火墙
    systemctl status iptables   # 查看防火墙的状态
    systemctl disable iptables  # 永久关闭防火墙,不再开机自启动
    systemctl enable iptables   # 设置防火墙开机自启动
    
    
  • 相关阅读:
    0015 Java学习笔记-集合-TreeMap集合
    0014 Java学习笔记-集合-HashMap集合
    0013 Java学习笔记-面向对象-static、静态变量、静态方法、静态块、单例类
    0012 win7x64安装CentOS7
    0011《SQL必知必会》笔记07 数据的插入、更新和删除
    0010《SQL必知必会》笔记06-表的修改与删除
    0009《SQL必知必会》笔记05-表的创建与约束
    0008《SQL必知必会》笔记04-子查询、联接与组合查询
    0007《SQL必知必会》笔记03-汇总与分组数据
    0006 《SQL必知必会》笔记02-计算字段与函数
  • 原文地址:https://www.cnblogs.com/cwp-bg/p/8488455.html
Copyright © 2020-2023  润新知