如何设置防火墙,只允许指定ip主机访问本机指定端口

小白询问一下,根据网上的答案我试了

网上教程

使用 ufw

  1. 启用 ufw 防火墙
sudo ufw enable
  1. 允许特定IP访问特定端口(例如,允许IP地址 192.168.1.100 访问端口 22):
sudo ufw allow from 192.168.1.100 to any port 22
  1. 查看防火墙状态
sudo ufw status verbose

我的输入

下面的终端信息只保留了5984端口相关的内容,无关端口我删掉了,不是显示错误

root@was:~# ufw deny 5984
Rule updated
Rule updated (v6)
root@was:~# sudo ufw allow from 38.148.249.39 to any port 5984
Skipping adding existing rule
root@was:~# ufw status
Status: active

To                         Action      From
--                         ------      ----
5984                       ALLOW       38.148.249.39             
5984                       DENY        Anywhere                  
5984 (v6)                  DENY        Anywhere (v6)             

但结果我随便用一台设备还是能连接http://154.23.243.149:5984/ 请问怎么回事?

配置成功后重启下防火墙试试?

如果还允许,那么先把所有的 5984 端口禁用,看有没有问题。

这么重启对吗?

root@was:~# ufw disable
Firewall stopped and disabled on system startup
root@was:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

已经把所有5984都禁用过了

sudo systemctl restart ufw
$ sudo systemctl stop ufw
$ sudo systemctl start ufw
$ sudo systemctl status ufw

sudo ufw disable 这个命令是告诉操作系统的启动进程,防火墙是不是随操作系统的启动而同时启动。

重启防火墙的命令为:systemctl restart ufw

1 Like

已执行sudo systemctl restart ufw

浏览器清除了所有缓存,还是能打开😂

我没有办法访问你的机器,你根据文章:How to Set Up a Firewall with UFW on Ubuntu | DigitalOceanhttps://ubuntu.com/server/docs/firewalls

排查下你防火墙的设置。

  1. 思路是首先看看你的规则设置都有那些
  2. 查看防火墙的启动状态
  3. 测试其他端口,Web 服务有没有运行和防火墙的错误提示是不一样的。
  4. 重新调试 5984 端口。

我用 REHL 的对,但防火墙这个配置基本上都是一个套路。

1 Like