2022-10-29 21:45:06 +00:00
|
|
|
#!/usr/local/bin/bash
|
|
|
|
|
|
|
|
cleanup() {
|
2022-10-30 01:47:32 +00:00
|
|
|
ngctl shutdown host_link2:
|
|
|
|
ngctl shutdown host_uplink0:
|
|
|
|
ngctl shutdown host_bridge0:
|
2022-10-30 02:44:35 +00:00
|
|
|
ngctl shutdown wg_link2:
|
|
|
|
ngctl shutdown wg_uplink0:
|
|
|
|
ngctl shutdown wg_bridge0:
|
2022-10-29 21:45:06 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
setup_netgraph_start() {
|
|
|
|
cleanup
|
|
|
|
|
|
|
|
ngctl -d -f - <<EOF
|
|
|
|
mkpeer . eiface hook ether
|
2022-10-30 01:47:32 +00:00
|
|
|
name .:hook host_uplink0
|
2022-10-29 21:45:06 +00:00
|
|
|
EOF
|
|
|
|
|
|
|
|
ngctl -d -f - <<EOF
|
2022-10-30 01:47:32 +00:00
|
|
|
mkpeer host_uplink0: bridge ether link0
|
|
|
|
name host_uplink0:ether host_bridge0
|
2022-10-29 21:45:06 +00:00
|
|
|
EOF
|
|
|
|
|
|
|
|
ngctl -d -f - <<EOF
|
2022-10-30 01:47:32 +00:00
|
|
|
mkpeer host_bridge0: eiface link2 ether
|
|
|
|
name host_bridge0:link2 host_link2
|
2022-10-29 21:45:06 +00:00
|
|
|
EOF
|
|
|
|
|
2022-10-30 01:47:32 +00:00
|
|
|
ifconfig $(ngctl msg 'host_uplink0:' getifname | grep Args | cut -d '"' -f 2) name host_uplink0 10.193.223.1/24 up
|
|
|
|
ifconfig $(ngctl msg 'host_bridge0:link2' getifname | grep Args | cut -d '"' -f 2) name host_link2
|
|
|
|
|
|
|
|
# Create internal bridge for jails that are forced through wireguard
|
2022-10-30 02:44:35 +00:00
|
|
|
ngctl -d -f - <<EOF
|
|
|
|
mkpeer . eiface hook ether
|
|
|
|
name .:hook wg_uplink0
|
|
|
|
EOF
|
|
|
|
|
|
|
|
ngctl -d -f - <<EOF
|
|
|
|
mkpeer wg_uplink0: bridge ether link0
|
|
|
|
name wg_uplink0:ether wg_bridge0
|
|
|
|
EOF
|
|
|
|
|
|
|
|
ngctl -d -f - <<EOF
|
|
|
|
mkpeer wg_bridge0: eiface link2 ether
|
|
|
|
name wg_bridge0:link2 wg_link2
|
|
|
|
EOF
|
|
|
|
|
|
|
|
ifconfig $(ngctl msg 'wg_uplink0:' getifname | grep Args | cut -d '"' -f 2) name wg_uplink0 10.241.199.1/24 up
|
|
|
|
ifconfig $(ngctl msg 'wg_bridge0:link2' getifname | grep Args | cut -d '"' -f 2) name wg_link2
|
2022-10-29 21:45:06 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
setup_netgraph_stop() {
|
|
|
|
cleanup
|
|
|
|
}
|
|
|
|
|
|
|
|
if [ "$1" = "start" ]; then
|
|
|
|
setup_netgraph_start
|
|
|
|
elif [ "$1" = "stop" ]; then
|
|
|
|
setup_netgraph_stop
|
|
|
|
else
|
|
|
|
>&2 echo "Unrecognized command"
|
|
|
|
fi
|