Prefer ipv6.

This commit is contained in:
Tom Alexander
2024-07-12 19:58:50 -04:00
parent f6152d92f1
commit 0e2c7adaf9
9 changed files with 50 additions and 9 deletions

View File

@@ -23,11 +23,15 @@ function start_jail {
jail_interface_name=$(sanitize_interface_name "$2")
ip_range="$3"
local mac_address
mac_address=$(calculate_mac_address "$jail_interface_name")
assert_bridge "$host_interface_name" "$bridge_name" "$ip_range"
bridge_link_name=$(detect_available_link "${bridge_name}")
ngctl -d -f - <<EOF
mkpeer ${bridge_name}: eiface $bridge_link_name ether
msg ${bridge_name}:$bridge_link_name set $mac_address
name ${bridge_name}:$bridge_link_name $jail_interface_name
EOF
ifconfig $(ngctl msg "${jail_interface_name}:" getifname | grep Args | cut -d '"' -f 2) name "${jail_interface_name}" up
@@ -121,4 +125,11 @@ function sanitize_interface_name {
echo "${1:0:15}"
}
function calculate_mac_address {
local name="$1"
local source
source=$(md5 -r -s "$name" | awk '{print $1}')
echo "06:${source:0:2}:${source:2:2}:${source:4:2}:${source:6:2}:${source:8:2}"
}
main "${@}"