野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4213|回复: 3

[经验\资料] 【客户答疑】i.MX6ULL LINUX系统如何开关防火墙

[复制链接]

发表于 2022-11-25 11:03:20 | 显示全部楼层 |阅读模式
【客户问】

i.MX6ULL LINUX系统如何开关防火墙

【野火答】


回复

使用道具 举报

发表于 2022-11-25 17:41:14 | 显示全部楼层
我们可以使用UFW防火墙以及iptables防火墙

UFW防火墙:
UFW (简单的防火墙) 是广泛使用的 iptables 防火墙的前端应用,是非常适合于基于主机的防火墙。UFW 即提供了一套管理网络过滤器的框架,又提供了控制防火墙的命令行界面接口。它给那些不熟悉防火墙概念的 Linux 新用户提供了友好、易使用的用户界面。
另一方面,它也提供了命令行界面,为系统管理员准备了一套复杂的命令,用来设置复杂的防火墙规则。UFW 对像 Debian、Ubuntu 和 Linux Mint 这些发布版本来说也是上上之选。

开发板默认是没有安装UFW防火墙的,首先要进行下载安装,使用如下命令:
sudo apt update
sudo apt install ufw
使用以下命令查看 UFW 是否已经在运行,默认是没有运行的
sudo ufw status

要启用它要启用UFW ,可以使用以下命令
sudo ufw enable
禁用则输入
sudo ufw disable

开启了防火墙后默认是不允许所有外部访问连接的,可以通过以下命令查看默认规则
sudo ufw status verbose

如果想要 ssh 来连接,则可以输入以下命令
sudo ufw allow ssh

如果你希望仅允许tcp数据包访问可以输入以下命令
sudo ufw allow ssh/tcp

添加拒绝规则则是
sudo ufw deny ftp

更多详情请参考https://linux.cn/article-2489-1.html
回复 支持 反对

使用道具 举报

发表于 2022-11-25 17:58:01 | 显示全部楼层
本帖最后由 おおおじ。 于 2022-11-25 17:59 编辑

iptables防火墙:iptables是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统,可以用于个人计算,也可以应用于整个网络。使用iptables,我们将定义一组规则,通过这些规则我们可以监控、允许或阻止传入或传出的网络数据包。

开发板默认是安装了iptables的,如果没有iptables,可以使用以下命令安装:
sudo apt update
sudo apt install iptables

使用iptables -L可以查看iptables端口开放情况,默认是没有进行任何配置

我们可以自己建一个Iptables的规则配置文件,然后把规则进行加载。
sudo vi /etc/iptables.test.rules

把以下内容写入这个文件里面

# Generated by iptables-save
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-I INPUT -p tcp --dport 8888 -j ACCEPT
-I INPUT -p udp --dport 8888 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed

上述是一个模板,可以根据需求进行修改。如上开放了tcp22端口,以及tcp和udp的8888端口

然后加载iptables.test.rules规则:
sudo iptables-restore < /etc/iptables.test.rules

再次输入iptables -L查看端口的开放情况

规则配置文件每次重启不会自动加载,可以编写一个自启动脚本,把加载命令添加进去,可以参考下面文档1.4小节
https://doc.embedfire.com/lubanc ... /using_systemd.html

在自启动脚本里面添加如下命令
sudo iptables-restore < /etc/iptables.test.rules

更多命令参数介绍可以参考
https://www.tecmint.com/linux-iptables-commands/

https://blog.csdn.net/daocaokafe ... 1018.2226.3001.4187
回复 支持 反对

使用道具 举报

发表于 2022-11-25 19:00:47 | 显示全部楼层
本帖最后由 DHDAXCW 于 2022-11-25 19:08 编辑

两种方法:

1 On R2:

ip route add 10.3.0.0/16 via 10.2.0.2

增加一条关于10.3.0.0/16子网的路由。

2 On R2:

/etc/sysctl.conf

net.ipv4.conf.default.rp_filter = 0

建议执行 sysctl net.ipv4.conf.default.rp_filter  查一下现在的值是多少 如果值是0 那就是没有开反向过滤

如果是说反向路径过滤的问题的话,udp这种东西不好查~

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-19 20:42 , Processed in 0.036459 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表