Files
bird_config/ip-policy-rules
2026-01-26 12:00:37 +08:00

47 lines
1.2 KiB
Plaintext

#!/sbin/openrc-run
description="Custom IP Policy Route Rules for Alpine"
depend() {
need net networking
after net-online
trigger on restart networking
}
trigger() {
case "$1" in
restart)
ebegin "Triggered by networking restart, reloading IP policy rules"
restart
eend $?
;;
*)
ebegin "Unsupported trigger: $1"
eend 1
;;
esac
}
start() {
ebegin "Loading custom IP policy rules"
ip rule add from 44.32.191.0/24 to 0.0.0.0/0 lookup 102 priority 200
ip rule add from 172.20.0.0/14 to 172.20.0.0/14 lookup 105 priority 300
ip -6 rule add from 2000::/3 to 2000::/3 lookup 102 priority 200
ip -6 rule add from fd00::/8 to fd00::/8 lookup 105 priority 300
eend $? "Failed to load IP policy rules"
}
stop() {
ebegin "Removing custom IP policy rules"
ip rule del from 44.32.191.0/24 to 0.0.0.0/0 lookup 102 priority 200
ip rule del from 172.20.0.0/14 to 172.20.0.0/14 lookup 105 priority 300
ip -6 rule del from 2000::/3 to 2000::/3 lookup 102 priority 200
ip -6 rule del from fd00::/8 to fd00::/8 lookup 105 priority 300
eend $? "Failed to remove IP policy rules"
}
restart() {
stop
sleep 1
start
}