mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
Add bypass by mac and fixes
This commit is contained in:
parent
eee9719e96
commit
a8119764dd
3 changed files with 65 additions and 3 deletions
|
@ -44,6 +44,40 @@ _bypass_domain() {
|
|||
fi
|
||||
}
|
||||
|
||||
_bypass_mac() {
|
||||
local mac
|
||||
local intf
|
||||
config_get mac $1 mac
|
||||
config_get intf $1 interface
|
||||
local intfid="$(uci -q get omr-bypass.$intf.id)"
|
||||
|
||||
[ -z "$intf" ] && intf="all"
|
||||
[ -z "$mac" ] && return
|
||||
if [ "$intf" = "all" ]; then
|
||||
iptables-restore --wait=60 --noflush <<-EOF
|
||||
*mangle
|
||||
-A PREROUTING -m mac --mac-source $mac -j MARK --set-mark 0x539
|
||||
COMMIT
|
||||
EOF
|
||||
ip6tables-restore --wait=60 --noflush <<-EOF
|
||||
*mangle
|
||||
-A PREROUTING -m mac --mac-source $mac -j MARK --set-mark 0x6539
|
||||
COMMIT
|
||||
EOF
|
||||
else
|
||||
iptables-restore --wait=60 --noflush <<-EOF
|
||||
*mangle
|
||||
-A PREROUTING -m mac --mac-source $mac -j MARK --set-mark 0x539$intfid
|
||||
COMMIT
|
||||
EOF
|
||||
ip6tables-restore --wait=60 --noflush <<-EOF
|
||||
*mangle
|
||||
-A PREROUTING -m mac --mac-source $mac -j MARK --set-mark 0x6539$intfid
|
||||
COMMIT
|
||||
EOF
|
||||
fi
|
||||
}
|
||||
|
||||
_bypass_proto() {
|
||||
local proto
|
||||
local intf
|
||||
|
@ -165,6 +199,7 @@ start_service() {
|
|||
local ndpi_rules=""
|
||||
config_load omr-bypass
|
||||
config_foreach _bypass_ip_set ips
|
||||
config_foreach _bypass_mac macs
|
||||
uci -q del dhcp.@dnsmasq[0].ipset
|
||||
config_foreach _bypass_domain domains
|
||||
uci -q commit dhcp
|
||||
|
|
|
@ -27,7 +27,7 @@ if [ -n "$(uci -q get omr-bypass.ips)" ]; then
|
|||
for ip in $ips; do
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set omr-bypass.ips[-1]=ips
|
||||
set omr-bypass.ips[-1].name=$ip
|
||||
set omr-bypass.ips[-1].ip=$ip
|
||||
set omr-bypass.ips[-1].interface=all
|
||||
EOF
|
||||
done
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue