Linux菜鸟博主小陶简单学习一下服务器端口相关的命令,之前通过宝塔对服务器的端口进行了访问限制(详见文章『本站使用宝塔面板设置仅限CDN的ip回源80和443端口,防止恶意爬虫和扫描』),感觉从那以后网站日志里的error是相当的少,乱七八糟的ip也是相当少,效果良好。过年的时候脑子突然抽筋,想整一下Linux的命令。作为一个小菜鸡,当然是偷文章了。本文转载自CDSN的文章『Linux系统通过firewall限制或开放IP及端口』,主要内容包括查看防火墙状态、开放或限制端口、开放或限制IP的命令。当然,关于端口及ip限制更加高级的操作可以看博主明月登楼的文章『使用 IPSET 添加 CDN 节点 IP(IPv4/IPv6)到防火墙白名单』。

[TOC]

0进入root权限模式

在进行这些操作之前,需要进入root权限。直接输入命令su再输入服务器的密码即可进入root权限下,如图所示。

输入密码获得root权限

1查看防火墙状态

首先查看防火墙是否开启,如未开启,需要先开启防火墙并作开机自启。

systemctl status firewalld

查看防火墙状态

如果没有启动,可以开启防火墙并设置开机自启:

systemctl start firewalld
systemctl enable firewalld

一般需要重启一下机器,不然后面做的设置可能不会生效

2开放或关闭指定端口

2.1开放指定端口

(1)例如我想要开启22端口,则使用命令:

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

成功启动之后会返回一个success,其他的端口也是类似的。其中--permanent的作用是使设置永久生效,不加的话机器重启之后失效。

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

firewall-cmd --reload

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

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

(4)查看当前系统打开的所有端口

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

查看当前所有端口

2.2关闭指定端口

(a)如果想要关闭一个端口,也是类似的做法。比如我们现在需要关掉刚刚打开的22端口:

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

将add改为remove即可。其中--permanent的作用是使设置永久生效。

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

firewall-cmd --reload

(c)再去查看系统所有开放的端口,已经看到没有22端口了

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

或者

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

移除端口

2.3 批量开放或限制端口

(1)批量开放端口,如从100到500这之间的端口我们全部要打开

firewall-cmd --zone=public --add-port=100-500/tcp --permanent

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

firewall-cmd --reload

同理,批量限制端口为:

firewall-cmd --zone=public --remove-port=100-500/tcp --permanent
firewall-cmd --reload

3开放或禁止IP访问指定端口

3.1 禁止ip端口访问指定

(1)比如限制IP为192.168.0.200的地址禁止访问80端口即禁止访问机器

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" reject"

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

firewall-cmd --reload

(3)查看已经设置的规则

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

当前的规则

3.2解除IP地址限制

(1)解除刚才被限制的192.168.0.200

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

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

firewall-cmd --reload

(3)再查看规则设置发现已经没有192.168.0.200的限制了

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

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

vi /etc/firewalld/zones/public.xml

3.3限制/允许IP地址段

(1)如我们需要限制10.0.0.0-10.0.0.255这一整个段的IP,禁止他们访问

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.0.0.0/24" port protocol="tcp" port="80" reject"

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

firewall-cmd --reload

(3)同理,解除限制为

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.0.0.0/24" port protocol="tcp" port="80" accept"
firewall-cmd --reload
本文标签: 网站开发ccCDNip安全

版权声明 ▶ 本网站名称:陶小桃Blog
▶ 本文链接:https://www.52txr.cn/2023/firewall.html
▶ 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
▶ 转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处并附带原文链接!!
▶ 站长邮箱 [email protected][email protected] ,如不方便留言可邮件联系。

小陶的个人微信公众号

学累了就来张美女照片养养眼吧,身体是革命的本钱,要多多休息哦~ 随机美女图片

最后修改:2023 年 01 月 21 日
如果觉得我的文章对你有用,请随意赞赏!