openwrt 防火墙解析

这个是根据 b站 OpenWrt的防火墙到底这么多选项都是什么意思? 记录的笔记。

openwrt 防火墙管理界面一般里有 4 个选项:基本设置、端口转发、通信规则、自定义规则。

1. 基本设置

防火墙是通过在网络接口上创建区域来控制网络流量的。

1.1 基本设置

  • 启用 SYN-flood 防护:拒绝服务攻击的防护(DDOS防护)
  • 丢弃无效数据包:字面意思,丢弃无效数据包.
  • 启用 FullCone-NAT:这个相当于让局域网内设备都能获得 NAT1 的类型(上层需要时NAT1)(不建议开启)
  • 三个出入转发规则:当接口没有加入任何一个防火墙区域的时候,就遵循这个默认规则。(相当于默认区域的防火墙规则。跟下面区域规则是一个意思).

1.2 区域


举例:

  • openwrt 软路由有 4 个网口,分别连接 4 个设备。
  • 同时 1、2、3 口处于 LAN 防火墙区域,4 口处于 WAN 防火墙区域。
  • 2 与 3 口组成一个 br-lan 网桥端口,在同一子网下,跟 1口是不同子网的。
  • 出站:当设备 A ==主动==访问网关的时候,叫入站。
  • 入站:当网关==主动==访问设备 A 的时候,叫出站。都是对于 LAN 防火墙区域来的。

    注意:入站是 A ==主动==访问网关,包括==网关回复的应答,这个应答不属于出站规则的管理范畴==。出站同理。
  • 转发:当 A 设备访问 B 设备的时候,就叫 LAN 区域内的转发。
  • IP 动态伪装:假设 LAN 区域开启了 IP 动态伪装,那么当 A 设备访问 B 设备的时候,本来 B 获取到的信息应该是 A 要访问它,但开启 IP 动态伪装之后,B 会觉得是网关(一般是子网的网关地址)访问了它,而不是A。(相当于在LAN区域内的设备把源 ip 换为 网关 ip)

    • WAN 区域的 IP 动态伪装是需要默认开启的,不能关闭的。
    • 玩单网口旁路由的时候经常需要输入 iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE 这个命令,其实是跟IP动态伪装是一个意思。
  • 区域之间的转发:例lan 区域可以主动访问 wan,vpn 区域,反之不能。

    wan 防火墙区域当中的 wan 口一般连接外网设备。
  • MMS 钳制:主要用来改以太帧的(MTU 数值);内网防火墙区域一般用不到,WAN 防火墙区域一般是需要的。
  • 路由/NAT分载:流量加速;当设备 CPU 不是很强,网络又需要大流量数据传输的时候,开启它会减轻 CPU 的运行压力。

2. 端口转发

2.1 相当于内外网的端口映射。


源区域是 WAN 防火墙区域(也就是外网区域),外部端口为你想让人访问的端口;
目标区域是 LAN 防火墙区域(也是你想被外网访问的区内部区域),内部 ip 就是想要被外网访问的设备 ip,内部端口就是你应用的端口。
这样别人就可以通过外网 ip 加外部端口访问你内网设备。

2.2 另一个用途让你的主机的网络获得 NAT1 类型(前提为这个路由拨号)

协议选任何,源区域选外网,目标区域选内网,内部 ip 为你主机 ip。

3. 通信规则

3.1. 通信规则

通信规则定义了不同区域间的数据包传输策略,例如: 拒绝一些主机之间的通信,开放路由器 WAN 上的端口。

不仅可以对于某一个防火墙区域内的流量进行管理,同时可以进行区域之间流量的管控。而且只里面的规则高于常规(基本)设置里面的规则。(比如:WAN 防火墙的入站数据现在是拒绝的,我们可以在通讯规则这里设置一下 让它变成可以访问)

就是在前面大原则下,根据需要,放行某些特殊的流量。
所有规则按照顺序执行,可以手动调整。

3.2 NAT规则

一种特殊形式的封包伪装,它允许精细的控制传出流量的源 IP,例如:将多个 WAN 地址映射到内部子网。对应的起始就是 IP 动态伪装。

4. 自定义规则

自定义规则允许您执行不属于防火墙框架的任意 iptables 命令。每次重启防火墙时,在默认的规则运行后这些命令将立即执行。

最后修改:2023 年 10 月 05 日
如果觉得我的文章对你有用,请随意赞赏