centos7防火墙firewalld及iptable配置命令

    xiaoxiao2022-07-03  159

    firewalld

    firewalld常用命令

    firewall-cmd --state ##查看防火墙状态,是否是running firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令 firewall-cmd --get-zones ##列出支持的zone firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的 firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no firewall-cmd --add-service=ftp ##临时开放ftp服务 firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务 firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务 firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口 iptables -L -n ##查看规则,这个命令是和iptables的相同的 man firewall-cmd ##查看帮助 更多命令,使用 fire wall-cmd --help 查看帮助文件

    firewalld命令用法实例

    开启80端口 firewall-cmd --zone=public --add-port=80/tcp --permanent 命令含义: --zone #作用域 --add-port=80/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效 开启防火墙 systemctl start firewalld.service #启动防火墙 关闭防火墙 systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 重启防火墙 firewall-cmd --reload 查看防火墙状态 systemctl status firewalld.service 查看防火墙规则 iptables -L -n

    iptables

    CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下

    1、直接关闭firewalld防火墙 systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2、安装 iptables service yum -y install iptables-services 如果要修改防火墙配置,如增加防火墙端口3306 vi /etc/sysconfig/iptables 增加规则 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 保存退出后 systemctl restart iptables.service #重启防火墙使配置生效 systemctl enable iptables.service #设置防火墙开机启动 最后重启系统使设置生效。

    iptables配置

    查看iptables配置:iptables -L -n 添加常用端口规则: #允许对外请求的返回包 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #允许icmp包通过 iptables -A INPUT -p icmp --icmp-type any -j ACCEPT #允许来自于lo接口的数据包,如果没有此规则,将不能通过127.0.0.1访问本地服务 iptables -A INPUT -i lo -j ACCEPT #常用端口 iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 23 -j ACCEPT iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT #过滤所有非以上规则的请求 iptables -P INPUT DROP #如果要添加内网ip信任(接受其所有TCP请求) #注:(**.**.**.**)为IP,下同 iptables -A INPUT -p tcp -s **.**.**.** -j ACCEPT #要封停一个IP,使用下面这条命令 iptables -I INPUT -s **.**.**.** -j DROP #要解封一个IP,使用下面这条命令 iptables -D INPUT -s **.**.**.** -j DROP 保存重启防火墙 /etc/init.d/iptables save service iptables restart

    其他常用命令

    #允许所有入栈规则 iptables -P INPUT ACCEPT #清空默认所有规则 iptables -F #清空自定义的所有规则 iptables -X #计数器置0 iptables -Z 关闭端口,常用删除端口规则命令 # 查看当前端口所在行数 iptables -L -n --line-number # 删除指定序列的端口(下面是删除第五条端口) iptables -D INPUT 5 # 确认是否已经删除,可以重新查看列表 iptables -L -n --line-number

    查看 SELinux状态及关闭SELinux

    查看SELinux状态:

    /usr/sbin/sestatus -v #如果SELinux status参数为enabled即为开启状态: SELinux status: enabled

    关闭SELinux:

    临时关闭(不用重启机器):

    setenforce 0 ##设置SELinux 成为permissive模式 setenforce 1 ##设置SELinux 成为enforcing模式

    修改配置文件(需要重启机器):

    vi /etc/selinux/config SELINUX=enforcing改为SELINUX=disabled

    重启机器即可

    最新回复(0)