openwrt防火墙firewall

摘要:
OpenWrt的NAT、DMZ、防火墙规则等由配置文件/etc/config/firewall控制。什么是NAT或DMZ。当/etc/init.d/firewall启动并生成iptables规则以生效时,UCI始终会对防火墙文件进行解码。通过在防火墙配置/etc/config/firewall中定义重定向段策略来实现端口重定向。

知识链接:linux平台下防火墙iptables原理

一、 OpenWrt 内置防火墙介绍

  Openwrt 是一个 GNU/Linux 的发行版, 和其他大多数的发行版一样,Openwrt 的防火墙同样也是基于 iptables。 在 OpenWRT 下防火墙的默认行为已经可以满足路由器的需要,一般情况下也无需修改。OpenWrt 关于 NAT、 DMZ、防火墙规则等等都是由配置文件 /etc/config/firewall 文件进行控制的,有关于什么是 NAT 或者 DMZ 等内容,下文会讲到。对于防火墙的修改工作,我们采用 vi 进行直接的文件编辑完成。防火墙文件总会在/etc/init.d/firewall 启动的时候由 UCI 进行解码并且生成 iptables规则生效。因此使用者不需要了解 iptables 即可通过配置文件实现防火墙控制。

二、防火墙指令

防火墙的修改生效,需要重启防火墙执行以下指令:

1、重载防火墙配置

 /etc/init.d/firewall reload

2、重启防火墙

 /etc/init.d/firewall restart

openwrt防火墙firewall第1张

三、防火墙配置文件解释

 /etc/config/firewall

openwrt防火墙firewall第2张

配置文件内容解释:

1、防火墙的第一个内容

  • syn_flood :是否启用防洪水攻击。可选值: 0 关闭,1 启用。
  • input :设置 INPUT 链(chain)的过滤策略,可选值: ACCEPT 允许, REJECT拒绝。
  • output:设置 OUTPUT 链(chain)的过滤策略,可选值: ACCEPT 允许,REJECT 拒绝。
  • forward : 设置 FORWARD 链(chain)的过滤策略,可选值: ACCEPT 允许,REJECT 拒绝。
  • disable_ipv6: 设置关闭掉 IPv6 的防火墙策略,可选值: 0 忽略,1 关闭

这部分参考值既是系统默认的即可,无需修改。

2、防火墙的第二个内容(域)

  • config 后面是表示配置项的名称,这里”zone”为域的意思。
  • name 表示域的名字,必须是唯一值,可选值: wan, lan
  • network 表示网络列表,用来指示哪些接口被捆绑到这个域中,可选接口的名称,比如: lan,
  • wan, wan6
  • input :ACCEP 允许 INPUT 链(chain)的过滤策略
  • output: ACCEPT 允许 OUTPUT 链(chain)的过滤策略
  • forward: ACCEPT 允许 FORWARD 链(chain)的过滤策略
  • masq:设置传输伪装,如果是 WAN 口必须为 1
  • mtu_fix :设置 MTU 的 MSS 钳制,如果是 WAN 口请为 1

简单来说:

  • mtu:是网络传输最大报文包。
  • mss: 是网络传输数据最大值。
  • mss :加包头数据就等于 mtu.

3、防火墙的第三部分内容(转发) 

  • src : 是 设置转发来源
  • dest:是 设置转发目标

4、防火墙的第四部分内容(规则)

这里只是罗列出了几个防火墙的规则,其实防火墙规则在/etc/config/firewall 中可以有任意数量的规则,这些规则定义了数据传输的动作和行为是被允许还是拒绝。

  • name:设置当前这个 rule 的名称
  • target :设置防火墙动作,可选值: ACCEPT 许可, REJECT 拒绝, DROP 抛弃
  • src: 数据源的 zone 域是哪个。可选值: wan / lan
  • src_ip :数据源的 IP 地址是哪个。
  • src_mac:数据源的 MAC 地址是哪个。
  • src_port:数据源的端口,可以是一个端口,或一个端口范围,但是必须

同时指定了协议类型

  • proto: 数据源的协议类型, 可选值: tcp, udp, tcpudp, udplit, icmp, esp, ah, sctp,或 all 表示全部
  • dest :数据目标的 zone 域是哪个。可选值: wan / landest_ip 表示:数据目标的 IP 地址。
  • dest_port :数据目标的端口,可以是一个端口,或一个端口范围,但是必须同时指定了协议类型
  • family :数据的协议族,可选值: ipv4, ipv6, any

5、防火墙的第五部分内容

  OpenWrt 防火墙允许使用者通过 WAN 口访问特定的端口重定向给局域网的一台电脑设备(比如 WAN 口访问 80 端口(HTTP)将重定向给局域网某台网站服务器)。 端口重定向是在防火墙配置/etc/config/firewall 中定义 redirect 段策略实现的。所有匹配的来源数据将根据目标设置转发到目标主机上。 firewall 配置中可以有多个 redirect 策略,默认是没有开放任何重定向的,如果你需要重定向请使用 vi 或 UCI 进行配置。

  • name :设置当前这个 redirect 的名称
  • src :转发源的 zone 域,一般转发都是转发从 wan 过来的访问
  • src_ip :转发源的 IP 地址指定
  • src_mac:转发源的 MAC 地址指定
  • src_port :转发源的端口指定
  • proto : 转发源的协议类型, 可选值: tcp, udp, tcpudp, udplit, icmp, esp, ah, sctp, 或all 表示全部
  • dest :转发目标的 zone 域dest_ip 表示:转发目标的 IP 地址指定
  • dest_mac :转发目标的 MAC 地址指定
  • dest_port :转发目标的端口指定
    端口重定向的可配置性很灵活。比如我们将 9020 这个端口转发给内网一台服务器的 80 端口,如下:
config redirect
option name '9020-80'
option proto 'tcp'
option src 'wan'
option src_dport '9020'
option dest 'lan'
option dest_ip '192.168.1.100'
option dest_port '80'

四、DMZ 介绍

  DMZ 是英文“ demilitarized zone”的缩写,中文名称为“隔离区”,也称“非军事化区”。它是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区,这个缓冲区位于企业内部网络和外部网络之间的小网络区域内,在这个小网络区域内可以放置一些必须公开的服务器设施,如企业 Web 服务器、FTP 服务器和论坛等。另一方面,通过这样一个 DMZ 区域,更加有效地保护了内部网络,因为这种网络部署,比起一般的防火墙方案,对攻击者来说又多了一道关卡。端口映射与 DMZ 的区别在于:端口映射只是映射指定的端口,DMZ 相当于映射所有的端口,并且直接把主机暴露在网关中,比端口映射方便但是不安全。
下面是关于 dmz 的一个示意图:

      openwrt防火墙firewall第3张

好的,结合之前简单的规则部分,这里我们给出一个将电脑 192.168.1.2 设置 DMZ 隔离区的例子:
Simple DMZ rule
The following rule redirects all WAN ports for all protocols to the internal host

192.168.1.2.
config redirect
option src wan
option proto all
option dest_ip 192.168.1.2

  



免责声明:文章转载自《openwrt防火墙firewall》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇svn版本库操作(四)Idea 开发环境配置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

docker学习笔记——docker网络配置

本文主要介绍docker默认的网络行为。其中,包含创建的默认网络类型和如何创建用户自定义网络。 默认网络:当我们安装docker后,它会自动创建3个网络,我们也可以通过docker network命令来查看(在此就不附图了) 注意:这3个网络是被docker内建的。当我们运行一个容器需要制定的网络的时候,就可以通过--network参数来指定我们的容器连接...

(七)计算机远程访问设置

   远程访问,可以实现计算机通过网线对另一台电脑进行远程访问,共享数据。设置方法如下。 一、关闭防火墙 若要使远程连接正常使用,需要关闭防火墙,方法如下。 1.点击“开始”→“控制面板”。 2.在弹出来的控制面板项中,右上角“查看方式”选择“大类别”,单击“windows 防火墙”。   3.选择“打开或关闭windows防火墙”。 在弹出来的对话框中...

软路由OpenWrt教程收集(插件开发教程,opkg安装软件教程)

说明:现在几乎所有家庭级别的路由器都是基于OpenWrt进行衍生搭建的。 https://openwrt.io/(极路由HiWifi创建的开源站点,极路由系统有这个衍生而来) http://www.openwrtdl.com/ http://www.openwrt.org.cn/ https://openwrt.org/(官网)  http://www.o...

openwrt-智能路由器hack技术(1)---"DNS劫持"

openwrt-智能路由器hack技术(1)---"DNS劫持" 1导读 PS:之前写的一个文章,现在发现结构内容排版不是太好,导致阅读体验太差,影响传播和SEO,所以现在整理拆分一下,从小处写起, 本系列介绍了两个关于智能路由器的hack技术,供大家赏玩一下。 本文提到的两个基于网络的hack技术: DNS劫持 数据抓包 基本本质上就是路由器设备的...

【 linux知识积累 】网络相关配置与知识-CentOS7为例

一、 网卡常见命名规则及修改 1. 网卡接口常见命名规则 eno1: 代表由主板bios内置的网卡 ens1: 代表有主板bios内置的PCIE网卡 enp2s0: PCIE独立网卡 eth0: 以上都不适用,回到默认网卡名 lo: 虚拟回环网卡 vibr: 虚拟网桥 2. 修改网卡名称的方法(1) 将CentOS7下网卡名称改为默认的ethX(此种方法会...

VM虚拟机网络设置

 VM虚拟机网络设置(转) VMWare中的几种网络设置 (1)Bridged方式 用这种方式,虚拟系统的IP可设置成和本机系统在同一网段,虚拟系统相当于网络内的一台独立的机器,和本机一起插在一个Hub上,网络内其他机器可访问虚拟系统,虚拟系统也可访问网络内其他机器,当然和本机系统的双向访问也不成问题。 (2)NAT方式 这种方式也能实现本机系统和虚拟系...