Ubuntu系统中防火墙的使用和开放端口
Ubuntu系统中防火墙的使用和开放端口
在
在使用放行端口过程中,可能出现 iptables v1.8.7 (nf_tables):情况,可以使用降低软件版本至1.6,当然可以通过复制些文件过来,具体操作如下:
设法通过用 iptables-legacy 替换 iptables 来解决这个问题(主要是为了让 ufw 工作)
您将需要执行以下操作:
sudo touch /run/xtables.lock
sudo chmod a+r /run/xtables.lock
更容易以 root 身份执行后续步骤
sudo su – root
以下将移动不工作的 iptables 应用程序并复制工作的遗留应用程序
#!/bin/bash
mv /usr/sbin/iptables /usr/sbin/iptables-broken
cp /usr/sbin/iptables-legacy /usr/sbin/iptables
mv /usr/sbin/iptables-restore /usr/sbin/ iptables-restore-broken
mv /usr/sbin/ip6tables-restore /usr/sbin/ip6tables-restore-broken
mv /usr/sbin/iptables-save /usr/sbin/iptables-save-broken
mv /usr/sbin/ip6tables -保存/usr/sbin/ip6tables-save-broken
cp /usr/sbin/iptables-legacy-restore /usr/sbin/iptables-restore
cp /usr/sbin/ip6tables-legacy-restore /usr/sbin/ip6tables-restore
cp /usr/sbin/iptables-legacy-save /usr/sbin/iptables-save
cp /usr/sbin/ip6tables-legacy-save /usr/sbin/ip6tables-save
开启指定端口:iptables -I INPUT -p tcp –dport 8888 -j ACCEPT
arm主机开启指定端口:iptables -I INPUT -s 0.0.0.0/0 -p tcp –dport 8888 -j ACCEPT
通过iptables -L 就可以查看端口了
注意:不管是在Linux服务器还是在Ubuntu服务器中,当防火墙开启以后,会开放一些常用的端口,这时常常直接到自己Windows上telnet已经开放的端口,通常会忽略开放的这些端口在服务器中是否有程序进行监听,如果没有程序进行监听,telnet开放的这些端口时往往是不通的。
1、Ubuntu查看防火墙的状态
在Ubuntu系统进行安装的时候默认安装了ufw防火墙
查看防火墙的状态
命令:
sudo ufw status
系统提示: “Status: inactive”状态:不活跃
上面提示表示没有开启防火墙,并不是没有安装防火墙
如果没有安装可以使用命令安装
命令:
sudo sudo apt-get install ufw
2、Ubuntu开启防火墙
开启防火墙,
命令:
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端口。
这里之前没有设置过,直接输入y继续执行
系统提示:“防火墙是活动的,并在系统启动时启用”
表示防火墙已经开启
查看防火墙的状态
命令:
sudo ufw status //查看防火墙的状态
可以看到系统只对外开放了80端口
在这里通常会有些错觉,22端口没有开放,但是依然是连接状态,这是系统做的人性化优化,便于远程管理服务器,虽然22端口没有开放,但是用户通过当前的连接开启防火墙后,该连接依然处于连接状态,只要不关闭当前连接还是可以在当前连接中正产操作的。如果是重新开启一个连接是连不上的
在windows上进行telnet也是不通的
所以在远程管理服务器时,如果开启了防火墙先查看SSH的22端口有没有开放,如果没有开放,第一时间开放22端口(如果为了安全也可以指定ip开放22端口)
3、Ubuntu添加开放SSH端口
命令:
sudo ufw allow 22 //开放22端口
开启完成,需要重启防火墙生效
命令:
sudo ufw reload //重启ufw防火墙
重启成功
再查看防火墙的状态
命令:
sudo ufw status //查看防火墙的状态
22端口已经开放
查看22端口的监听状态
命令:
sudo netstat -tunlp | grep 22 //查看22端口信息
22端口属于监听状态,在Windows下能够telnet通
命令:
telnet 192.168.121.135 22
此时其他的Xshell窗口也可也连接
4、Ubuntu防火墙常用命令
4.1、查看ufw防火墙的状态
命令:
sudo ufw status //查看防火墙的状态,如果防火墙是关闭状态则显示“Status: inactive”不活动,如果防火墙开启状态则显示当前设置的规则。
关闭状态下查看防火墙状态
命令:
sudo ufw status
开启状态下该命令查看防火墙的规则
命令:
sudo ufw status
4.2、启用ufw防火墙
命令:
sudo ufw enable //开启防火墙
4.3、重启ufw防火墙
命令:
sudo ufw reload //重启防火墙,添加规则以后需要使用该命令进行重启防火墙
4.4、关闭ufw防火墙
命令:
sudo ufw disable //关闭防火墙
4.5、设置外来访问默认权限
命令:
sudo ufw default deny //拒接所有外来访问,本机能正常访问外部
这条命令开放的端口是没有可见的变化的
4.6、端口的开放与关闭
4.6.1、开放普通端口
命令:
sudo ufw allow 21 //开放21端口
查看端口规则
命令:
sudo ufw status
21端口开放成功
开放成功以后需要重启生效
命令:
sudo ufw reload //重启防火墙,是配置生效
4.6.2、关闭普通端口
命令:
sudo ufw delete allow 21 //关闭21端口
查看端口规则
命令:
sudo ufw status
21端口关闭成功
成功以后需要重启生效
命令:
sudo ufw reload //重启防火墙,是配置生效
4.6.3、开放规定协议的端口
命令:
sudo ufw allow 8001/tcp //指定开放8001的tcp协议
查看端口规则
命令:
sudo ufw status
端口开放成功
开放成功以后需要重启生效
命令:
sudo ufw reload //重启防火墙,是配置生效
4.6.4、关闭指定协议端口
命令:
命令:
sudo ufw delete allow 8001/tcp //关闭21端口
查看端口规则
命令:
sudo ufw status
8001端口关闭成功
成功以后需要重启生效
命令:
sudo ufw reload //重启防火墙,是配置生效
4.6.5、开放限定ip地址端口
4.6.5.1、开放指定ip所有操作
命令:
sudo ufw allow from 192.168.121.1
// 指定ip为192.168.121.1的计算机操作所有端口
查看端口规则
命令:
sudo ufw status
开放成功
成功以后需要重启生效
命令:
sudo ufw reload //重启防火墙,是配置生效
4.6.5.2、关闭指定ip所有操作
命令:
sudo ufw delete allow from 192.168.121.1
// 关闭指定ip为192.168.121.1的计算机操作所有端口
查看端口规则
命令:
sudo ufw status
关闭成功
成功以后需要重启生效
命令:
sudo ufw reload //重启防火墙,是配置生效
4.6.5.3、开放指定ip对应端口操作
命令:
sudo ufw allow from 192.168.121.2 to any port 3306
// 开放指定ip为192.168.121.2的计算机访问本机的3306端口
查看端口规则
命令:
sudo ufw status
开放成功
成功以后需要重启生效
命令:
sudo ufw reload //重启防火墙,是配置生效
4.6.5.4、关闭指定ip对应端口操作
命令:
sudo ufw delete allow from 192.168.121.2 to any port 3306
// 关闭指定ip为192.168.121.2的计算机对本机的3306端口的操作
查看端口规则
命令:
sudo ufw status
关闭成功
成功以后需要重启生效
命令:
sudo ufw reload //重启防火墙,是配置生效
————————————————
版权声明:本文为CSDN博主「Aaron_Run」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_36938617/article/details/95234909