方式一: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端口"的规则
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-persistentsudo apt-get install iptables-persistent
第二步:保存或载入规则:sudo netfilter-persistent save sudo netfilter-persistent reload
生成的规则将被存储在以下文件中:
/etc/iptables/rules.v4
/etc/iptables/rules.v6