完整教程:如何在树莓派上配置防火墙?
引言
防火墙是任何网络包括树莓派网络中必不可少的工具。本质上,防火墙是内部网络(如树莓派网络)与其他外部网络(如互联网)之间的安全屏障。其主要目的是控制和过滤网络流量,根据预定义的规则允许或阻止某些连接。

网络流量类型
入站流量、出站流量和转发流量是指防火墙规则可以控制和管理的不同网络流量类型。
入站流量
入站流量是指从外部来源发往树莓派的数据包,例如来自互联网或本地网络中其他设备对树莓派上运行服务的访问请求。示例包括访问Web服务器的请求、SSH连接或树莓派上运行的任何其他服务。
配置防火墙时,可以根据各种条件(如源IP地址、目标端口、协议等)定义规则,以允许或拒绝入站流量。这有助于保护树莓派免受未经授权的访问或潜在的安全威胁。
出站流量
出站流量是指源自树莓派并发往外部目标的数据包,例如树莓派上运行的服务对互联网或本地网络中其他设备资源的访问请求。示例包括由树莓派上运行的Web服务器发起的Web请求,或从互联网获取数据的软件更新。
出于安全和隐私原因,控制出站流量也很重要。可以根据特定条件(如目标IP地址、目标端口、协议等)配置防火墙规则,以允许或拒绝出站流量。这有助于防止树莓派与外部目标进行未经授权的通信,或控制对特定资源的访问。
转发流量
转发流量是指通过树莓派从一个网络接口传输到另一个网络接口的数据包。这通常发生在树莓派充当不同网络(如本地网络和互联网)之间的路由器或网关时。
防火墙规则也可用于控制转发流量,允许根据特定条件(如源和目标IP地址、端口、协议等)定义规则,以允许或拒绝数据包的转发。这有助于控制不同网络段之间的流量流动,并实施安全策略。
在树莓派环境中,防火墙可以发挥几个重要作用:
家庭网络保护:如果将树莓派用作连接家庭网络的服务器或设备,防火墙可以通过控制哪些流量可以进入或离开网络来保护网络上的设备和数据。
服务器安全:如果树莓派充当Web服务器,防火墙可以通过过滤和阻止不需要或恶意的请求来帮助保护其免受未经授权的访问尝试。
远程访问控制:如果通过SSH或其他服务远程访问树莓派,防火墙可以限制仅允许特定IP地址或IP地址范围的访问,从而提高安全性。
阻止不需要的流量:防火墙可以阻止某些类型的流量,如垃圾邮件流量、已知僵尸网络流量或任何其他可能对树莓派或网络的安全构成威胁的不需要的流量。
防火墙iptables
在树莓派上配置防火墙通常涉及使用一个名为iptables的工具,它是一个用户空间实用程序,允许系统管理员配置作为不同Netfilter模块实现的Linux内核防火墙的IP数据包过滤规则。
在树莓派上配置防火墙(iptables):
1.安装iptables(如果尚未安装):
sudo apt-getupdatesudo apt install iptables
2.定义防火墙规则:
确定要允许或拒绝的流量。例如,如果希望允许SSH(端口22)和HTTP(端口80)流量,但拒绝所有其他入站流量,可以相应地定义规则。
以下是如何允许SSH和HTTP流量并拒绝所有其他入站流量的示例:
sudo iptables -AINPUT-ptcp--dport22-j ACCEPT # Allow SSHsudo iptables -AINPUT-ptcp--dport80-j ACCEPT # Allow HTTPsudo iptables -AINPUT-j DROP # Dropallother incoming traffic
3.保存规则:
定义规则并确认其按预期工作后,需要保存规则,以便在重启后仍然有效。可以使用iptables-save命令完成此操作:
sudo iptables-save >/etc/iptables/rules.v4
4.确保在启动时恢复iptables规则:
sudo nano /etc/rc.local
编辑/etc/rc.local文件以在启动时加载保存的规则。打开文件进行编辑:在文件中的exit 0行之前添加以下行:
/sbin/iptables-restore < /etc/iptables/rules.v4 Save the file and exit.
5.重启树莓派:
6.检查iptables规则:
sudoiptables -L
重启后,可以通过运行以下命令检查iptables规则是否正确应用:此命令将显示当前活动的iptables规则。
UFW(简易防火墙)
是用于管理iptables防火墙规则的用户友好型前端。它简化了在树莓派上配置防火墙的过程。
在树莓派上配置UFW:
1.安装ufw(如果尚未安装):
sudo apt updatesudo apt install ufwsudo ufwenable
2.启用ufw:
此命令将启动防火墙并使其在启动时自动启动。
3.设置默认策略:
可以设置入站、出站和转发流量的默认策略。例如,要允许所有出站流量、拒绝所有入站流量和拒绝所有转发流量,可以使用以下命令:
sudo ufwdefaultallow outgoingsudo ufwdefaultdeny incomingsudo ufwdefaultdeny forwarded
4.允许特定服务或端口:
可以使用ufw指定允许的特定服务或端口。例如,
sudoufwallow22/tcpsudoufwallow80/tcp
允许SSH(端口22)和HTTP(端口80)流量,可以使用以下命令:
sudoufwallowsshsudoufwallowhttp
也可以指定服务名称而不是端口号,例如:
5.拒绝特定服务或端口(可选):
如果希望明确拒绝某些服务或端口,可以使用deny
sudoufwdeny21/tcp
命令。例如,要拒绝FTP(端口21)流量,可以使用:
6.重新加载ufw:
对防火墙规则进行更改后,需要重新加载ufw以使更改
sudoufw reload
生效:
7.检查ufw状态:
sudoufw status verbose
可以使用以下命令检查ufw和防火墙规则的状态:
此命令将显示ufw的当前状态并列出所有配置的规则。
就这样!现在已在树莓派上使用ufw配置了防火墙。与直接操作iptables规则相比,ufw提供了更简单的界面,使防火墙配置管理更加容易。
Gufw
Gufw是用于在Ubuntu和其他基于Debian的Linux发行版上管理简易防火墙(ufw)的图形界面。但是,在树莓派操作系统(以前称为Raspbian,树莓派的官方操作系统)上通常不会默认安装它。
在树莓派上配置GUFW
1.安装 gufw:
sudoapt updatesudo apt install gufw
2.启动gufw:
安装后,可以在应用程序菜单中搜索gufw来启动它,或者
sudogufw
可以从命令行启动它:
3.配置防火墙规则:
启动gufw后,将看到一个图形界面,可以在其中配置防火墙规则。可以启用或禁用防火墙、允许或拒绝特定端口或应用程序,并设置入站、出站和转发流量的默认策略。
4.应用更改:
在gufw中配置防火墙规则后,请确保单击“应用”按钮以应用更改。
请记住,gufw只是ufw的图形界面,因此通过gufw进行的所有配置更改本质上都是在后台修改ufw规则。
如果更喜欢使用图形界面来管理防火墙规则,或者对使用命令行不太熟悉,那么使用gufw将特别有帮助。
原文地址:
https://www.sunfounder.com/blogs/news/how-to-configure-the-firewall-in-raspberry-pi
如果觉得文章不错记得点赞,收藏,关注,转发~
我们很乐意为您提供工业树莓派的解决方案,项目有需求请联系我们~