ZNDS智能电视网 推荐当贝市场

TV应用下载 / 资源分享区

软件下载 | 游戏 | 讨论 | 电视计算器

综合交流 / 评测 / 活动区

交流区 | 测硬件 | 网站活动 | Z币中心

新手入门 / 进阶 / 社区互助

新手 | 你问我答 | 免费刷机救砖 | ROM固件

查看: 15708|回复: 1
上一主题 下一主题
[其它]

【硬创邦】跟hoowa学做智能路由(八):防火墙/DMZ/UPNP

[复制链接]
跳转到指定楼层
楼主
发表于 2014-5-18 18:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 | 来自辽宁

在上一章,我们已经介绍了关于网络部分的配置,今天这章我们将深入介OpenWRT下的防火墙类功能。

在OpenWRT下防火墙的默认行为已经可以满足路由器的需要,一般情况下也无需修改,所以本章作为了解阅读即可。 如果想设置端口转发、uPNP等更多功能可以参考本章的配置方法进行设置。

OpenWRT内置防火墙介绍

OpenWRT下的NAT、DMZ、Firewall rules都是由配置文件“/etc/config/firewall”进行控制管理的。此文件可以使用UCI进行控制,也可以用vi编辑器直接修改。

而该文件最总会在/etc/init.d/firewall启动的时候由UCI进行解码并且生成iptables规则生效。因此使用者不需要了解iptables即可通过配置文件实现防火墙控制。

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


root@OpenWrt:/# /etc/init.d/firewall reload


或执行:


root@OpenWrt:/# /etc/init.d/firewall restart


查看当前iptables的已启用策略语法为:


root@OpenWrt:/# iptables -L


防火墙的基本设置

本节主要介绍了防火墙的基本策略和基本参数,其中默认值已经能很好的工作了,无需修改。

config defaults 防火墙默认参数表

键 值 必须设置 说明
input ACCEPT 是 设置INPUT链(chain)的过滤策略,可选值: ACCEPT 允许, REJECT 拒绝
output ACCEPT 是 设置OUTPUT链(chain)的过滤策略,可选值: ACCEPT 允许, REJECT 拒绝
forward REJECT 是 设置FORWARD链(chain)的过滤策略,可选值: ACCEPT 允许, REJECT 拒绝
syn_flood 1 是 是否启用防洪水攻击。 可选值: 0关闭,1启用
synflood_rate 字符串 否 设置SYN包传输洪水攻击检测比率值,默认为: 25 单位(包/秒)
synflood_burst 字符串 否 设置SYN包传输比率值识别洪水攻击,默认为: 50 单位(包/秒)
disable_ipv6 1 否 设置关闭掉IPv6的防火墙策略,可选值: 0忽略,1关闭

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


config defaults
option syn_flood 1
option input ACCEPT
option output ACCEPT
option forward REJECT
# Uncomment this line to disable ipv6 rules
# option disable_ipv6 1


config zone 用于WAN/LAN域(zone)的参数表

键 值 必须设置 说明
name 字符串 是 域,必须是唯一值,可选值: wan, lan
network 列表值 否 哪些接口被捆绑到这个域中,可选接口的名称,比如: lan, wan, wan6
input ACCEPT 否 设置INPUT链(chain)的过滤策略,可选值: ACCEPT 允许, REJECT 拒绝
output ACCEPT 否 设置OUTPUT链(chain)的过滤策略,可选值: ACCEPT 允许, REJECT 拒绝
forward ACCEPT 否 设置FORWARD链(chain)的过滤策略,可选值: ACCEPT 允许, REJECT 拒绝
masq 1 否 设置传输伪装,如果是WAN口必须为1
mtu_fix 1 否 设置MTU的MSS钳制,如果是WAN口请为1

这部分配置也不需要做修改,参考:


config zone
option name wan
list network ‘wan’
list network ‘wan6′
option input REJECT
option output ACCEPT
option forward REJECT
option masq 1
option mtu_fix 1

config zone
option name lan
list network ‘lan’
option input ACCEPT
option output ACCEPT
option forward ACCEPT


config forwarding 路由转发参数表

键 值 必须设置 说明
src lan 是 设置转发来源
dest wan 是 设置转发目标

这部分配置也不需要做修改,参考:


config forwarding
option src lan
option dest wan


防火墙的规则

如果在你的路由产品中需要开放“允许WAN口访问设备的特定端口”,可以设置本规则(比如开放WAN口允许SSH登入,或允许WAN口访问设备的FTP),一般情况下无需设置。

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

规则配置文件结构


config rule
option name ‘规则名称’
…..


config rule可选参数表:

键 值 必须设置 说明
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 / lan
dest_ip 字符串 否 数据目标的IP地址。
dest_port 字符串 否 数据目标的端口,可以是一个端口,或一个端口范围,但是必须同时指定了协议类型
family 字符串 否 数据的协议族,可选值: ipv4, ipv6, any

rule规则设置可以灵活,比如允许来自WAN口的ping,举例:


config rule
option name Allow-Ping
option src wan
option proto icmp
option icmp_type echo-request
option family ipv4
option target ACCEPT


比如,我们希望WAN口可以ssh到系统,那么举例:


config rule
option name wan-ssh
option src wan
option dest_port 22
option proto tcp
option target ACCEPT


在firewall配置中有大量rule可以参考各位去学习配置方法。默认情况下的规则设置已经足够作为路由器使用。

端口转发和DMZ

端口转发是路由产品中常见的配置,它允许使用者通过WAN口访问特定的端口转发给局域网的一台电脑设备(比如WAN口访问80端口(HTTP)将转发给局域网某台网站服务器)。

端口转发也是在防火墙配置/etc/config/firewall中定义redirect段策略实现的。所有匹配的来源数据将根据目标设置转发到目标主机上。

firewall配置中可以有多个redirect转发策略,默认是没有开放任何转发的,如果你需要转发请使用vi或UCI进行配置。

规则配置文件结构


config redirect
option name ‘名称’
….


config redirect可选参数表:

键 值 必须设置 说明
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′


将电脑192.168.1.2设置DMZ隔离区,举例:


config redirect
option src wan
option proto all
option dest_ip 192.168.1.2


安装UPnP

UPnP是一种对等即插即用网络协议,主要用于视频,音频领域的传输协议,对使用者来说,打开UPnP之后可以增加迅雷等下载软件的下载速度。

提示:UPnP服务开机启动会消耗一点CPU和内存资源。

第一步:安装必要的包

确保你的开发板已经连入互联网,并执行以下命令:


root@OpenWrt:/# opkg update
root@OpenWrt:/# opkg install miniupnpd


第二步:配置UPnP参数

UPnP的配置参数在/etc/config/upnp当中。

config upnpd config的配置参数:

键 值 必须设置 说明
enable_natpmp 1 是 开启NAT-PMP支持,1表示开启
enable_upnp 1 是 开启UPnP支持,1表示开启
secure_mode 1 是 安全模式,客户端只能给自己转发一个输入口
log_output 0 是 日志输出级别,0表示不输出日志,如果设置了将输出到syslog中
download 数字 是 允许来自wan口的数据输入带宽,单位是(KB/秒)。
upload 数字 是 允许输出到wan口的数据输入带宽,单位是(KB/秒)。
external_iface 字符串 是 外网的设备域,默认是wan
internal_iface 字符串 是 内网的设备域,默认是lan
port 数字 是 监听的端口
upnp_lease_file 文件名 是 的upnp客户端租用记录文件

config perm_rule许可设置配置参数:

键 值 必须设置 说明
action 字符串 是 设置是否许可:allow许可,deny不许可
ext_ports 字符串 是 外部端口范围
int_addr 字符串 是 IP地址,如果是0.0.0.0/0表示全部
int_ports 字符串 是 内部端口范围

在安装UPnP的时候已经生成的/etc/config/upnp默认配置,如果要修改请使用vi或UCI对起进行修改。

第三步:设置miniupnpd开机启动

root@OpenWrt:~# /etc/init.d/miniupnpd enable


设置完毕以后,下次开机即可驻留内存,使用/etc/init.d/miniupnpd start可以临时开启一次看看。

第四步:检测是否有效开启

root@OpenWrt:~# netstat -lnp|grep miniupnpd


如果查看到监听的端口,表示开启完成。

本章到这里就结束了,下章开始,我们将了解OpenWRT作为普通路由器的其它设置部分,包括时区、SSH远程登入服务等。感谢大家的耐心学习!



上一篇:果壳路由器最新“谍照”
下一篇:【联想智能路由器】评测
沙发
发表于 2015-3-2 21:53 | 只看该作者 | 来自北京
强烈支持楼主ing……
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|新帖|标签|软件|Sitemap|ZNDS智能电视网 ( 苏ICP备2023012627号 )

网络信息服务信用承诺书 | 增值电信业务经营许可证:苏B2-20221768 丨 苏公网安备 32011402011373号

GMT+8, 2024-5-22 04:03 , Processed in 0.071554 second(s), 15 queries , Redis On.

Powered by Discuz!

监督举报:report#znds.com (请将#替换为@)

© 2007-2024 ZNDS.Com

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