ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux防火墙firewall只允许特定ip访问

2022-05-06 17:31:08  阅读:563  来源: 互联网

标签:firewall ip cmd 端口 -- 9001 Linux port


1、目的
服务A使用端口9001,只有允许的应用才可以访问,其它未经允许服务无法正常访问(即默认应用无法正常访问)。

2、处理思路
1)启用防火墙。2)关闭端口访问,默认应用无法直接访问。3)设置特定ip可以访问特定端口。

二、启用防火墙
1、首先查看防火墙是否开启

查看防火墙状态

systemctl status firewalld

2、绿色active代表服务已启动。如果未启动,开启防火墙并设置开机启动。

开启防火墙

systemctl start firewalld

开机启动

systemctl enable firewalld

三、关闭端口访问
1、确保端口关闭。如果已开放则关闭端口。此处端口如果开放,是所有ip都可以进行访问。

查询打开的端口

firewall-cmd --zone=public --list-ports

2、关闭端口,如果端口未开启则无需关闭。

关闭端口9001

firewall-cmd --zone=public --remove-port=9001/tcp --permanent

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

firewall-cmd --reload

查询打开的端口

firewall-cmd --zone=public --list-ports

四、开放ip访问

允许ip192.168.0.1访问9001端口

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.1" port protocol="tcp" port="9001" accept"

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

firewall-cmd --reload

查看已设置规则

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

五、其他常用命令
1、查看防火墙清单

firewall-cmd --list-all
fw6.png
2、开放或限制端口(端口开放,所有ip都可以访问)

开放9001端口

firewall-cmd --zone=public --add-port=9001/tcp --permanent

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

firewall-cmd --reload

通过如下命令查看9001是否生效

firewall-cmd --zone=public --query-port=9001/tcp

系统打开的所有端口

firewall-cmd --zone=public --list-ports

关掉刚刚打开的9001端口

firewall-cmd --zone=public --remove-port=9001/tcp --permanent
firewall-cmd --reload
3、批量开放或限制端口

批量开放端口,如从9002到9005这之间的端口我们全部要打开

firewall-cmd --zone=public --add-port=9002-9005/tcp --permanent
firewall-cmd --reload

同理,批量限制端口为

firewall-cmd --zone=public --remove-port=9002-9005/tcp --permanent
firewall-cmd --reload
4、开放或限制ip(设置规则)

开放IP为192.168.0.0的地址允许访问9001端口

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.0" port protocol="tcp" port="9001" accept"
firewall-cmd --reload

查看已经设置的规则

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

限制IP为192.168.0.0的地址禁止访问9001端口即禁止访问机器

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.0" port protocol="tcp" port="9001" reject"
firewall-cmd --reload

删除已设置规则

firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address=" 192.168.0.0" port protocol="tcp" port="9001" accept"
firewall-cmd --reload
5、如设置未生效,可尝试直接编辑规则文件,删掉原来的设置规则,重新载入一下防火墙即可

vi /etc/firewalld/zones/public.xml

作者:duanyan
链接:https://www.jianshu.com/p/4801d9dbaa84
来源:简书

标签:firewall,ip,cmd,端口,--,9001,Linux,port
来源: https://www.cnblogs.com/wuguofeng/p/16229679.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有