防火墙设置,openwrt防火墙设置详解

时间:2025-01-19 20:14


 
OpenWrt是一个基于GNU/Linux的发行版,其防火墙实现与Linux防火墙类似,都依赖于netfilter内核模块和用户空间的iptables管理工具。OpenWrt还开发了一套与iptables同地位的netfilter管理工具fw3,该工具侧重于从UCI(Unified Configuration Interface)格式的配置文件中获取过滤信息,并将其下发到内核的netfilter中。
 
一、OpenWrt防火墙管理界面
 
OpenWrt的防火墙管理界面通常包含以下四个主要选项:
 
1.基本设置:
   启用SYNflood防护:用于防御拒绝服务攻击(DDoS攻击)。
   丢弃无效数据包:直接丢弃无效的数据包。
   启用FullConeNAT:允许局域网内设备获得NAT1类型(通常不推荐开启)。
   出入转发规则:当接口未加入任何防火墙区域时,遵循这些默认规则。
 
2.区域:
    OpenWrt软路由通常有多个网口,每个网口可以连接到不同的设备,并被分配到不同的防火墙区域。例如,LAN口可能处于LAN防火墙区域,而WAN口则处于WAN防火墙区域。
   出站与入站:定义了设备访问网关(或相反)时的流量方向。
   IP动态伪装:在LAN区域内开启时,访问的设备会认为网关(而非原始设备)在访问它。WAN区域的IP动态伪装通常需要默认开启。
 
3.端口转发:
    允许通过WAN口访问特定的端口,并将这些访问转发到局域网中的特定设备。例如,可以将WAN口的80端口(HTTP)访问转发到局域网中的某台网站服务器。
 
4.通信规则与自定义规则:
   通信规则:定义了不同区域间的数据包传输策略,如拒绝或开放特定主机之间的通信。
   自定义规则:允许执行不属于防火墙框架的任意iptables命令。这些规则在防火墙重启后立即执行。
 
二、配置文件管理
 
OpenWrt的防火墙规则、NAT配置、DMZ设置等都是由配置文件`/etc/config/firewall`控制的。这个文件可以使用UCI进行控制,也可以使用vi编辑器直接修改。
 
 修改防火墙规则:对配置文件的修改需要重启防火墙才能生效。可以通过执行`/etc/init.d/firewallrestart`或`/etc/init.d/firewall reload`命令来重启防火墙。
 查看当前iptables策略:使用`iptables L`命令可以查看当前启用的iptables策略。
 
三、防火墙规则配置示例
 
1.配置WAN口SSH访问:
plaintext
   config rule
       option name wanssh
       option src wan
       optiondest_port 22
       option proto tcp
       option target ACCEPT
 
 
2.端口转发示例:
plaintext
   config redirect
       option name 902080
       option proto tcp
       option src wan
       optionsrc_dport 9020
       option dest lan
       optiondest_ip 192.168.1.100
       optiondest_port 80
 
 
3.设置DMZ隔离区:
plaintext
   config redirect
       option src wan
       option proto all
       optiondest_ip 192.168.1.2
 
 
通过深入了解OpenWrt的防火墙设置,用户可以精细地控制网络流量,提高网络安全性和效率。无论是基本设置、区域管理、端口转发还是自定义规则,OpenWrt都提供了灵活且强大的配置选项,以满足不同用户的需求。