猫言猫语

严以律己·宽以待人·自强不息·知行合一

OpenWrt 实现无线客户端之间的隔离

| OpenWrt 实现无线客户端之间的隔离已关闭评论

有些网络环境中可能为了安全方便考虑,不希望连上同一个无线路由器的无线客户端之间可以互相通信,需要让他们之间无法直接通信,达到互相隔离的效果,OpenWrt 14.07 的 luci 配置界面中并没有直接提供相应的功能,不过我们可以通过手动修改配置文件的方式达到这样的目的。

只要修改 /etc/config/wireless 配置文件,在 wifi-iface 配置段中适合的位置加上:

option isolate 1

即可实现 Wifi 用户之间互相隔离的效果

在 OpenWrt 上部署 WifiQRCode

| 在 OpenWrt 上部署 WifiQRCode已关闭评论

假设你有一个使用 OpenWrt 的公开 Wifi 想部署 WifiQRCode,并且路由器的 LAN 口地址为 192.168.1.1,你就可以根据这个教程快速部署 WifiQRCode

(更多…)

OYE-0001 路由器安装原版 OpenWrt 教程

| OYE-0001 路由器安装原版 OpenWrt 教程已关闭评论

OYE 路由器可能大部分人都是第一次听说,其实我自己也是很偶然的机会知道这个路由器的,这个路由器采用现在国内很流行的 MT7620a 芯片方案,16M Flash 容量,128M 内存,最关键的是自带 TF 卡接口和 USB 接口,还是很厚道的。

(更多…)

更换 Laravel 内置服务器监听端口

| 更换 Laravel 内置服务器监听端口已关闭评论

正常情况下,使用 php artisan serve 启动 Laravel 内置服务器,将会监听在 localhost 的 8000 端口上

$ php artisan serve
Laravel development server started on http://localhost:8000

假如我们希望更换监听的接口地址或端口号,可以使用 --host 参数与 --port 参数

$ php artisan serve --host=0.0.0.0 --port=8080
Laravel development server started on http://0.0.0.0:8080

OpenWrt WifiDog + wiwiz 安装配置

| OpenWrt WifiDog + wiwiz 安装配置已关闭评论

WifiDog是路由器的一种上网认证功能,如果开启此功能,所有通过路由器上网的设备都会跳转到指定的界面,需要通过某种方式认证才可以上网,这种认证方式的优势在于安全性高,不容易被破解验证。

(更多…)

OpenWrt Wifi 实现收费提醒效果

| OpenWrt Wifi 实现收费提醒效果已关闭评论

需求场景

有一个免认证的 Wifi SSID,比如叫:OpenWrt,附近的同学可以随便连上这个 SSID,没有缴过费的同学不管访问什么地址,都会被跳转到收费提醒页面,而缴过费的同学就可以开心上网了。

(更多…)

最简便的方式在本地打开 HTTP 服务

| 最简便的方式在本地打开 HTTP 服务已关闭评论

在命令行下直接输入以下命令

python -m SimpleHTTPServer 8080

之后即可访问 http://localhost:8080/

在 OpenWrt 中实现 Wifi Portal 效果

| 在 OpenWrt 中实现 Wifi Portal 效果已关闭评论

什么是 Wifi Portal,简单的说,就是当你连上 Wifi 之后,就会强制弹出某个页面,这个页面就是 Wifi Portal,要实现 Wifi Portal 需要 iptables 与 web 服务器的配合才可以 :)

在 OpenWrt 中,打开 Network/Firewall,再打开 Custom Rules,输入以下内容

iptables -t nat -A prerouting_lan_rule -p tcp -m tcp --dport 80 -j REDIRECT

然后再打开 /etc/config/uhttpd,在配置段适当的位置加上

option error_page '/error.html'

最后再编辑 /www/error.html 文件,内容如下

这样当你连接到 Wifi 的时候,你就会被带到 luci 的登录页,至于怎么美化,就看大家发挥了

<html>
<head>
  <meta http-equiv="refresh" content="0;url=/cgi-bin/luci">
</head>
</html>

iOS CaptiveNetworkSupport 原理与注意

| iOS CaptiveNetworkSupport 原理与注意已关闭评论

使用过苹果手机的同学如果连接过一些公共 Wifi,就会遇到过这样的现象,当你连接上 Wifi 后,会自动弹出一个Web网页让你进行认证,比那些纯密码认证的 Wifi 要高大上不少,这其中究竟是什么原理呢?

其实原理并不复杂,当 iOS 连接上 Wifi 后,就会连接到他的测试 URL 地址上进行测试,看看返回的网页与期望的网页是否一致,如果一致,则认为这个 Wifi 是可以成功连接的,如果是一个跳转页,则会弹出一个 Web 容器窗口,而跳转页就会在这个容器中显示出来。

但 iOS 对外请求时使用的是 HTTP 1.0 协议,如果返回的是 HTTP 1.1 的 302 则可以直接识别跳转,如果返回的也是 HTTP 1.0 的 302,iOS 就无法识别不会弹窗了,这个时候我们就应该使用 HTML head 里的 refresh 来进行跳转

不过 HTTP 1.0 协议里也是有 302 代码的,可就是不知道为什么 iOS 不识别 1.0 的 302