mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-14 19:41:51 +00:00
Add DSCP IPv6 rules only if IPv6 is enabled
This commit is contained in:
parent
37ac209817
commit
a2af208487
1 changed files with 40 additions and 20 deletions
|
@ -34,17 +34,26 @@ _add_dscp_domains_rules() {
|
||||||
uci -q batch <<-EOF
|
uci -q batch <<-EOF
|
||||||
set dhcp.omr_dscp_${class}=ipset
|
set dhcp.omr_dscp_${class}=ipset
|
||||||
add_list dhcp.omr_dscp_${class}.name="omr_dscp_${class}_4"
|
add_list dhcp.omr_dscp_${class}.name="omr_dscp_${class}_4"
|
||||||
|
commit dhcp
|
||||||
|
EOF
|
||||||
|
if [ "$disableipv6" = "0" ]; then
|
||||||
|
uci -q batch <<-EOF
|
||||||
add_list dhcp.omr_dscp_${class}.name="omr_dscp_${class}_6"
|
add_list dhcp.omr_dscp_${class}.name="omr_dscp_${class}_6"
|
||||||
commit dhcp
|
commit dhcp
|
||||||
EOF
|
EOF
|
||||||
|
fi
|
||||||
uci batch <<-EOF
|
uci batch <<-EOF
|
||||||
set firewall.omr_dscp_${class}_4=ipset
|
set firewall.omr_dscp_${class}_4=ipset
|
||||||
set firewall.omr_dscp_${class}_4.name="omr_dscp_${class}_4"
|
set firewall.omr_dscp_${class}_4.name="omr_dscp_${class}_4"
|
||||||
set firewall.omr_dscp_${class}_4.match='dest_ip'
|
set firewall.omr_dscp_${class}_4.match='dest_ip'
|
||||||
|
EOF
|
||||||
|
if [ "$disableipv6" = "0" ]; then
|
||||||
|
uci -q batch <<-EOF
|
||||||
set firewall.omr_dscp_${class}_6=ipset
|
set firewall.omr_dscp_${class}_6=ipset
|
||||||
set firewall.omr_dscp_${class}_6.name="omr_dscp_${class}_6"
|
set firewall.omr_dscp_${class}_6.name="omr_dscp_${class}_6"
|
||||||
set firewall.omr_dscp_${class}_6.match='dest_ip'
|
set firewall.omr_dscp_${class}_6.match='dest_ip'
|
||||||
EOF
|
EOF
|
||||||
|
fi
|
||||||
uci -q batch <<-EOF
|
uci -q batch <<-EOF
|
||||||
set firewall.omr_dscp_rule_${class}_4=rule
|
set firewall.omr_dscp_rule_${class}_4=rule
|
||||||
set firewall.omr_dscp_rule_${class}_4.name="omr_dscp_${class}_4"
|
set firewall.omr_dscp_rule_${class}_4.name="omr_dscp_${class}_4"
|
||||||
|
@ -53,6 +62,10 @@ _add_dscp_domains_rules() {
|
||||||
set firewall.omr_dscp_rule_${class}_4.target='DSCP'
|
set firewall.omr_dscp_rule_${class}_4.target='DSCP'
|
||||||
set firewall.omr_dscp_rule_${class}_4.src='lan'
|
set firewall.omr_dscp_rule_${class}_4.src='lan'
|
||||||
set firewall.omr_dscp_rule_${class}_4.dest='*'
|
set firewall.omr_dscp_rule_${class}_4.dest='*'
|
||||||
|
commit firewall
|
||||||
|
EOF
|
||||||
|
if [ "$disableipv6" = "0" ]; then
|
||||||
|
uci -q batch <<-EOF
|
||||||
set firewall.omr_dscp_rule_${class}_6=rule
|
set firewall.omr_dscp_rule_${class}_6=rule
|
||||||
set firewall.omr_dscp_rule_${class}_6.name="omr6_dscp_${class}_6"
|
set firewall.omr_dscp_rule_${class}_6.name="omr6_dscp_${class}_6"
|
||||||
set firewall.omr_dscp_rule_${class}_6.ipset="omr_dscp_${class}_6"
|
set firewall.omr_dscp_rule_${class}_6.ipset="omr_dscp_${class}_6"
|
||||||
|
@ -62,6 +75,7 @@ _add_dscp_domains_rules() {
|
||||||
set firewall.omr_dscp_rule_${class}_6.dest='*'
|
set firewall.omr_dscp_rule_${class}_6.dest='*'
|
||||||
commit firewall
|
commit firewall
|
||||||
EOF
|
EOF
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -114,19 +128,23 @@ _add_fwmark_chain() {
|
||||||
_ipt4 -N dscp_mark
|
_ipt4 -N dscp_mark
|
||||||
_ipt4 -A PREROUTING -i "$lan_device" -j dscp_mark
|
_ipt4 -A PREROUTING -i "$lan_device" -j dscp_mark
|
||||||
_ipt4 -A POSTROUTING -j dscp_mark
|
_ipt4 -A POSTROUTING -j dscp_mark
|
||||||
|
if [ "$disableipv6" = "0" ]; then
|
||||||
_ipt6 -N dscp_mark
|
_ipt6 -N dscp_mark
|
||||||
_ipt6 -A PREROUTING -i "$lan_device" -j dscp_mark
|
_ipt6 -A PREROUTING -i "$lan_device" -j dscp_mark
|
||||||
_ipt6 -A POSTROUTING -j dscp_mark
|
_ipt6 -A POSTROUTING -j dscp_mark
|
||||||
|
fi
|
||||||
for class in cs4 cs5 cs6 cs7; do
|
for class in cs4 cs5 cs6 cs7; do
|
||||||
# xtun (hex) -> 0x7874756e
|
# xtun (hex) -> 0x7874756e
|
||||||
_ipt4 -A dscp_mark \
|
_ipt4 -A dscp_mark \
|
||||||
-m comment --comment "$class" \
|
-m comment --comment "$class" \
|
||||||
-m dscp --dscp-class "$class" \
|
-m dscp --dscp-class "$class" \
|
||||||
-j MARK --set-mark 0x7874756e
|
-j MARK --set-mark 0x7874756e
|
||||||
|
if [ "$disableipv6" = "0" ]; then
|
||||||
_ipt6 -A dscp_mark \
|
_ipt6 -A dscp_mark \
|
||||||
-m comment --comment "$class" \
|
-m comment --comment "$class" \
|
||||||
-m dscp --dscp-class "$class" \
|
-m dscp --dscp-class "$class" \
|
||||||
-j MARK --set-mark 0x7874756e
|
-j MARK --set-mark 0x7874756e
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -147,7 +165,9 @@ _setup_tunnel() {
|
||||||
# tun0: cs0 (default)
|
# tun0: cs0 (default)
|
||||||
# xtun0: cs6
|
# xtun0: cs6
|
||||||
_ipt4 -A dscp_output -o "tun0" -j DSCP --set-dscp-class cs6
|
_ipt4 -A dscp_output -o "tun0" -j DSCP --set-dscp-class cs6
|
||||||
|
if [ "$disableipv6" = "0" ]; then
|
||||||
_ipt6 -A dscp_output -o "tun0" -j DSCP --set-dscp-class cs6
|
_ipt6 -A dscp_output -o "tun0" -j DSCP --set-dscp-class cs6
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
_cleanup() {
|
_cleanup() {
|
||||||
|
@ -165,7 +185,7 @@ _cleanup() {
|
||||||
start_service() {
|
start_service() {
|
||||||
# Cleanup
|
# Cleanup
|
||||||
_cleanup
|
_cleanup
|
||||||
|
disableipv6="$(uci -q get openmptcprouter.settings.disable_ipv6)"
|
||||||
config_load dscp
|
config_load dscp
|
||||||
# Add chains
|
# Add chains
|
||||||
_add_dscp_domains_rules
|
_add_dscp_domains_rules
|
||||||
|
|
Loading…
Reference in a new issue