马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
HotSpot 防火墙部分 除了在/ip hotspot 子目录本身的明显的动态规则(像主机及动态用户),一些附加的规则会在激活一个HotSpot 服务时被添加到防火墙表中。不像routeros 2.8 版本,只有相对较少的防火墙规则添加在防火墙中,因为主要的工作是有一对一nat 算法完成的。 nat 规则 从/ipfirewall nat print dynamic 命令你可以获取如下(在每条规则后跟有评注): 0 D chain=dstnat hotspot=from-client action=jumpjump-target=hotspot 把对数据包的所有HotSpot 相关任务从HotSpot 客户放到一个单独的链中: 1 D chain=hotspot protocol=udp dst-port=53action=redirect to-ports=64872 2 D chain=hotspot protocol=tcp dst-port=53action=redirect to-ports=64872 把所有DNS 请求都重定向到HotSpot 服务。64872 端口对所有HotSpot 用户提供DNS 服务。如果你想要HotSpot 服务器也监听其他端口,在这里以同样方式添加规则,改变dst-port 属性。 3 D chain=hotspot protocol=tcp dst-port=80hotspot=local-dst action=redirect to-ports=64873 把所有HTTP 登陆请求定向到HTTP 登陆servlet。64873 就是HotSpot HTTP servlet 端口。 4 D chain=hotspot protocol=tcp dst-port=443hotspot=local-dst action=redirect to-ports=64875 把所有HTTPS 登陆请求定向到HTTPS 登陆servlet。64875 是HotSpot HTTPS servlet 端口。 5 D chain=hotspot protocol=tcp action=jumphotspot=!auth jump-target=hs-unauth 所有其他的数据包除了DNS 及来自未认证客户的登陆请求以外都应该通过hs-unauth 链。 6 D chain=hotspot protocol=tcp action=jumphotspot=auth jump-target=hs-auth 来自认证用户的数据包通过hs-auth 链 chain=hs-unauth dst-address=159.148.147.196protocol=tcp dst-port=80 action=return 首先在hs-unauth 链中把所有影响TCP 协议的东西都放到/ip hotspot walled-garden ip 子目录中。现在我们把www.mikrotik.com 从重定向到登陆页面中排除。 8 D chain=hs-unauth protocol=tcpdst-port=80 action=redirect to-ports=64874 所有其他HTTP 请求都被定向到监听64874 的Walled Garden 代理服务器。如果在/ip hotspot walled-garden 子目录有一个HTTP 请求的allow条目,它将被转发到目的。否则,请求将会自动被重定向到HotSpot 登陆servlet(端口64873)。 9 D chain=hs-unauth protocol=tcpdst-port=3128 action=redirect to-ports=64874 10 D chain=hs-unauth protocol=tcpdst-port=8080 action=redirect to-ports=64874 默认设置的HotSpot 假设只有这些端口才能用于HTTP 代理请求。这两个条目用于“捕捉”客户到未知代理的请求。如:使的有可能让带有未知代理设置的客户与HotSpot 系统能够一起工作。这个特性叫做“通用代理”。如果探测到一个客户正在使用某个代理服务器,系统将自动以http hotspot 标志对数据包进行标记以便处理未知代理问题。注意已使用的端口(64874)与#8 规则中对HTTP 请求的一样(所以HTTP和HTTP 代理请求都由相同的代码处理)。 11 D chain=hs-unauth protocol=tcpdst-port=443 action=redirect to-ports=64875 HTTPS代理监听64875 端口 12 D chain=hs-unauth protocol=tcpdst-port=25 action=jump jump-target=hs-smtp 对SMTP 协议的重定向也可以在HotSpot 配置中定义。如果是这样,那么一个重定向规则将被放在hs-smtp 链中。这个完成后以便带有未知SMTP 配置的用户能通过服务提供商(你们的)的SMTP 服务器发送邮件,而代替了用户在自己电脑配置的SMTP 服务器。 13 D chain=hs-auth protocol=tcphotspot=http action=redirect to-ports=64874 对认证用户提供HTTP 代理服务。认证用户的请求可能需要透明的代理(“通用代理”技术以及广告特征)。http 标志会自动的放在被HotSpot HTTP 代理探测到的服务器的HTTP 代理请求(监听64874 端口的)。这个完成后以便有代理设置的用户可以使用HotSpot 网关代替用户在自己电脑上配置的代理服务器。这个标志也会被放在任何概要被配置为透明代理的用户所做的HTTP 请求上。 14 D chain=hs-auth protocol=tcp dst-port=25action=jump jump-target=hs-smtp 对授权用户提供SMTP 代理(同#12 规则的一样) 包过滤规则 从/ipfirewall filter print dynamic 命令,你可以获得: 0 Dchain=forward hotspot=from-client,!auth action=jump jump-target=hs-unauth 任何来自未认证且通过路由器的数据包都将被发送到hs-unauth 链。hs-unauth 执行基于IP 的Walled Garden 过滤器。 1 Dchain=forward hotspot=to-client,!auth action=jump jump-target=hs-unauth-to 任何通过路由器到达客户的包都将被重定向到另一个叫做hs-unauth-to的链。这个链会拒绝到达客户的未认证请求。 2 D chain=inputhotspot=from-client action=jump jump-target=hs-input 任何从客户到达路由器本身的包将重定向到另一个叫hs-input 的链。 3 D chain=hs-input protocol=udpdst-port=64872 action=accept 4 D chain=hs-input protocol=tcpdst-port=64872-64875 action=accept 允许客户访问本地认证和代理服务。 5 D chain=hs-inputhotspot=!auth action=jump jump-target=hs-unauth 所有其他来自未认证客户到路由器本身的数据流都将会与通过路由器的数据流一样的方式被处理。 6 D chain=hs-unauthprotocol=icmp action=return chain=hs-unauthdst-address=159.148.147.196 protocol=tcp dst-port=80 action=return 不仅在TCP 协议相关的Walled Garden 条目被添加的NAT 列表中,在包过滤器中hs-unauth 链表也会添加在/ip hotspotwalled-garden ip目录中设置的东西。这就是为什么,尽管你只在NAT 表中添加了一个条目却有两条规则的原因。 8 D chain=hs-unauthprotocol=tcp action=reject reject-with=tcp-reset 9 D chain=hs-unauthaction=reject reject-with=icmp-net-prohibited 任何没有被Walled Garden 记录在表格上的都将被拒绝。注意拒绝TCP 连接的TCP 重启的使用。 10 D chain=hs-unauth-toaction=reject reject-with=icmp-host-prohibited 用ICMP 拒绝信息拒绝所有到达客户的包。
|