iptable实现认证
Captive Portal
Portal认证bs结构 [nodogsplash,openNDS,coova,wifidog]
管理全部dns解析
iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to-destination 192.168.0.121:53
自定义
## 连接数
sysctl -w net.netfilter.nf_conntrack_buckets=262144
sysctl -w net.netfilter.nf_conntrack_max=262144
sysctl -w net.nf_conntrack_max=262144
sysctl -a|grep 'nf_conntrack'
## --自定规则
iptables -t nat -F #不操作
iptables -t nat -X localDef #删除
iptables -t nat -X localManage #删除
iptables -t nat -N localDef #创建
iptables -t nat -N localManage #创建
iptables -t nat -I PREROUTING -j localManage #加入系统
iptables -t nat -A PREROUTING -j localDef #加入系统
## --默认规则链
## --劫持所有web访问
iptables -t nat -A localDef -p tcp --dport 443 -j DNAT --to-destination 192.168.0.121:9090
iptables -t nat -A localDef -p tcp --dport 80 -j DNAT --to-destination 192.168.20.199:2028
## --劫持dns
iptables -t nat -A localDef -p udp --dport 53 -j DNAT --to-destination 192.168.11.122:53
##--局域网互通
iptables -t nat -I localDef -s 192.168.0.0/24 -j ACCEPT
iptables -t nat -I localDef -d 192.168.0.0/16 -j ACCEPT
iptables -t nat -I localDef -d 10.0.0.0/8 -j ACCEPT
## -- 上网管理链
## --放行规则
iptables -t nat -I localManage -s 192.168.20.222 -j ACCEPT
iptables -t nat -D localManage -s 192.168.20.222 -j ACCEPT
## 查看
iptables -t nat -L --line-numbers
radiusdesk服务
docker-compose.yml
version: "2"
services:
radiusdesk:
image/]: drummerroma/radiusdesk:latest
depends_on:
- mysql
container_name: radiusdesk
ports:
- 8888:80
volumes:
- $PWD/dockerdata/www/:/var/www/
links:
- mysql
mysql:
image: drummerroma/mysqlradius
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: rd
MYSQL_USER: rd
MYSQL_PASSWORD: rd
ports:
- 3306:3306
openwrt 路由
openwrt root/admin
安装 nodogsplash 插件
nodogsplash 服务
本质是防火墙规则组合 配置文件
/etc/config/nodogsplash
可以使用eth1 ,缺了一个非本网段验证通过上网
option gatewayinterface 'br-lan'
list authenticated_users 'allow tcp port 22'
list authenticated_users 'allow tcp port 53'
list authenticated_users 'allow udp port 53'
list authenticated_users 'allow tcp port 80'
list authenticated_users 'allow tcp port 443'
list authenticated_users 'allow all'
修改html文件
/etc/nodogsplash/htdocs
ndsctl 管理工具命令
ndsctl status
openNDS服务
/etc/config/opennds
/etc/opennds/htdocs
option gatewayinterface 'eth1'
ndsctl 管理工具命令
ndsctl status
dns劫持
## --劫持dns
iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to-destination 192.168.11.122:53
iptables -t nat -A PREROUTING -i ethX -p udp --dport 53 -j DNAT --to $(get lan_ipaddr)
iptables -t nat -A PREROUTING -i ethX -p tcp --dport 53 -j DNAT --to $(get lan_ipaddr)
??
iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53
iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53