Centos相关,  个人笔记

防火墙开放与关闭配置

centos 会遇到防火墙已经打开,放通了端口还是无法访问服务的情况
先禁用防火墙 systemctl disable firewalld 再启用:systemctl enable firewalld
开放某个端口:firewall-cmd --zone=public --add-port=8080/tcp --permanent
开放一批端口:firewall-cmd --zone=public --add-port=10000-10100/tcp --permanent
开放所有端口:firewall-cmd --zone=public --add-port=0-65535/tcp --permanent
重载生效:firewall-cmd --reload
查看开放的端口:firewall-cmd --zone=public --list-ports
如果启动docker服务后,又不可以访问服务端口的话:
再试试
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 23:65535 -j ACCEPT
iptables-save //生效

systemctl restart iptables

---------下面的常用指南:
一、查看防火墙状态
systemctl status firewalld
如果执行命令找不到的话,先安装 firewalld :yum install firewalld

开启防火墙并设置开机自动启动

启动防火墙

systemctl start firewalld

设置为开机启动

systemctl enable firewalld
二、开放或限制端口
1、开放端口
(1)如我们需要开启tomcat使用的8080端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent
其中--permanent的作用是使设置永久生效,不加的话机器重启之后失效

(2)重新载入一下防火墙设置,使设置生效

firewall-cmd --reload
(3)可通过如下命令查看是否生效

firewall-cmd --zone=public --query-port=8080/tcp
(4)如下命令可查看当前系统打开的所有端口

firewall-cmd --zone=public --list-ports
(5)如下命令可查看当前系统防火墙所有规则

firewall-cmd --list-all
2、限制端口
(1)比如我们现在需要关掉刚刚打开的8080端口

firewall-cmd --zone=public --remove-port=8080/tcp --permanent
(2)重新载入一下防火墙设置,使设置生效

firewall-cmd --reload
(3)再去查看系统所有开放的端口,已经看到没有8080端口了

firewall-cmd --zone=public --list-ports
(4)查看当前系统防火墙的所有规则

firewall-cmd --list-all
3、批量开放或限制端口
(1)批量开放端口,如从10000到10100这之间的端口我们全部要打开(不限制ip访问)

firewall-cmd --zone=public --add-port=10000-10100/tcp --permanent
(2)重新载入一下防火墙设置,使设置生效

firewall-cmd --reload
(3)查看系统所有开放的端口,可以看到从10000到10100的端口已被全部开放

firewall-cmd --zone=public --list-ports
(4)同理,批量限制端口为

firewall-cmd --zone=public --remove-port=10000-10100/tcp --permanent
firewall-cmd --reload
三、开放或限制IP
1、限制IP地址访问
(1)比如限制单个IP为172.19.8.90的地址禁止访问3679端口,即针对端口禁止访问机器ip

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.19.8.90" port protocol="tcp" port="3679" reject"
(2)重新载入一下防火墙设置,使设置生效

firewall-cmd --reload
(3)查看已经设置的规则

firewall-cmd --zone=public --list-rich-rules
2、解除IP地址限制
(1)解除刚才被限制的172.19.8.90

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.19.8.90" port protocol="tcp" port="3679" accept"
(2)重新载入一下防火墙设置,使设置生效

firewall-cmd --reload
(3)再查看规则设置发现已经没有172.19.8.90的限制了

firewall-cmd --zone=public --list-rich-rules

firewall-cmd --list-all
如设置未生效,可尝试直接编辑规则文件,删掉原来的设置规则,重新载入一下防火墙即可

vi /etc/firewalld/zones/public.xml

firewalld防火墙配置文件详情
3、限制IP地址段
(1)如我们需要限制192.168.172.0-192.168.172.255这一整个段的IP,禁止他们访问443端口

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.172.0/24" port protocol="tcp" port="443" reject"
其中192.168.172.0/24表示为从192.168.172.0这个IP开始,24代表子网掩码为255.255.255.0,共包含256个地址,即从0-255共256个IP,即正好限制了这一整段的IP地址。

可以按位记,例:

针对IP:192.168.172.18,从左侧开始,每一个点位代表8位,规律为
192.0.0.0/8,代表192开头的所有ip;
192.168.0.0/16,代表192.168开头的所有ip;
192.168.172.0/24,代表192.168.172开头的所有ip。
(2)重新载入一下防火墙设置,使设置生效

firewall-cmd --reload
(3)查看规则,确认是否生效

firewall-cmd --zone=public --list-rich-rules
(4)同理,打开限制为

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.172.0/24" port protocol="tcp" port="443" accept"
firewall-cmd --reload

防火墙开放与关闭配置已关闭评论