一、防火墙的使用
1、Ubuntu系统查看防火墙的状态
命令: sudo ufw status
或Status: inactive
上面提示没有开启防火墙,并不是没有安装防火墙。在Ubuntu系统进行安装的时候,系统默认安装了ufw防火墙。
如果没有安装,可以使用如下命令安装防火墙:
sudo sudo apt-get install ufw
2、Ubuntu开启防火墙
命令:
sudo ufw enable
上面的提示表示防火墙已经开启,再次查看防火墙的状态
Tips:
如果在执行"sudo ufw enable"时出现如下提示:
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
命令可能会中断现有的ssh连接。继续操作(y|n)?
因为是在远程的Xshell进行连接开启防火墙的,有的系统是没有将SSH的22端口设置为public的,所以会有这样的提示,这里分为两种情况,如果开启防火墙时在防火墙之中检测到22端口已添加为防火墙的开放端口,那么输入y继续操作以后,当前Xshell会自动断开连接;相反,如果开启防火墙时在防火墙之中没有检测到22端口,那么输入y继续操作以后22端口将会不再支持其他连接,只支持当前已有的这个连接,保持当前连接的原因是可以通过该连接开放22端口。
3、Ubuntu添加开放的端口
命令:
# sudo ufw allow 端口号
sudo ufw allow 22
sudo ufw allow 80
开启完成,需要重启防火墙生效
sudo ufw reload
再次查看防火墙的状态
出现上图,表示重启成功
4、查看22端口的监听状态
sudo netstat -tunlp | grep 22
二、防火墙的常用命令
#查看防火墙的状态
sudo ufw status
#启用防火墙
sudo ufw enable
#重启防火墙
sudo ufw reload
#关闭防火墙
sudo ufw disable
#设置外来访问权限
#拒接所有外来访问,本机能正常访问外部
sudo ufw default deny
三、端口的开放与关闭
#开放普通端口
sudo ufw allow 22
#关闭普通端口
sudo ufw delete allow 22
#开发指定协议的端口
#指定开放8001的tcp协议
sudo ufw allow 8001/tcp
#关闭指定协议的端口
#指定关闭8001的tcp协议
sudo ufw delete allow 8001/tcp
#开放指定ip所有操作
#指定ip为192.168.121.1的计算机操作所有端口
sudo ufw allow from 192.168.121.1
#开放指定ip对应端口操作
#开放指定ip为192.168.121.2的计算机访问本机的3306端口
sudo ufw allow from 192.168.121.2 to any port 3306
#关闭指定ip所有操作
#关闭指定ip为192.168.121.1的计算机操作所有端口
sudo ufw delete allow from 192.168.121.1
#关闭指定ip对应端口操作
#关闭指定ip为192.168.121.2的计算机对本机的3306端口的操作
sudo ufw delete allow from 192.168.121.2 to any port 3306