方式一:ufw(建议)

ufw 简介

UFW 是标准 Ubuntu 20.04 安装过程中的一部分,它应该已经在系统上存在。如果因为某些原因,它没有被安装,可以通过输入下面的命令安装它:

sudo apt update
sudo apt install ufw

安装过程不会自动激活防火墙,以避免服务器被锁住。可以检查 UFW 的状态,输入:

sudo ufw status verbose

在这里插入图片描述
ufw命令行示例:

  • ufw enable/disable:打开/关闭防火墙
  • ufw reload:重启防火墙
  • ufw status:查看已经定义的ufw规则
  • ufw default allow/deny:外来访问默认允许/拒绝
  • ufw allow/deny 20:允许/拒绝访问20端口,20后可跟/tcp或/udp,表示tcp或udp封包。
  • sudo ufw allow proto tcp from 192.168.0.0/24 to any port 22:允许自192.168.0.0/24的tcp封包访问本机的22端口。
  • ufw delete allow/deny 20:删除以前定义的"允许/拒绝访问20端口"的规则

ufw打开或关闭某个端口,例如:

sudo ufw allow 9200 允许外部访问9200端口(tcp/udp)
sudo ufw allow 3690 允许外部访问3690端口(svn)
sudo ufw allow from 192.168.25.125 允许此IP访问所有的本机端口
sudo ufw allow proto tcp from 192.168.0.0/24 to any port 22 允许指定的IP段访问特定端口
sudo ufw delete allow smtp 删除上面建立的某条规则,比如删除svn端口就是 sudo ufw delete allow 3690 

方式二:iptables

第一步:安装iptables

sudo apt-get install iptables

第二步:添加规则

iptables -I INPUT -p tcp --dport 9200 -j ACCEPT

第三步:保存规则

iptables-save

至此为止就完成了开放指定的端口,但是如果此时服务器重启,上述规则就没有了,所以我们需要对规则进行一下持续化操作

第一步:安装iptables-persistent

sudo apt-get install iptables-persistent

第二步:保存或载入规则:

sudo netfilter-persistent save
sudo netfilter-persistent reload

生成的规则将被存储在以下文件中:

/etc/iptables/rules.v4
/etc/iptables/rules.v6
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐