47 lines
1.2 KiB
Plaintext
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
|
|
} |