diff --git a/set-tap.sh b/set-tap.sh index 3e27512..1ede8f5 100755 --- a/set-tap.sh +++ b/set-tap.sh @@ -18,7 +18,6 @@ PARAMETTER available OPTION available --bridge-id= Set the name for the new bridge interface, usually it is br0, br1, etc - --tap-id= Set the tap id. Usually it is tap0, tap1, tap2, etc --addr=
Set an external address on the bridge. The external address have to be on the same network as one of the host network interface. e.g. if eth0, wlan0, etc is on 192.168.0.2/24, you should put the address on the network 192.168.0.0/24. Please not that the CIDR notation have to be use. #TODO --replace= In case you want to replace the main connexion of your computer so that only the vm will be able to reach the external network, replace interface by the interface you want to replace, and make sure that the --addr is set to one of the ip on the interace. Please not that it will be possible for your host to lost all connection to the external internet with this parametter. " @@ -30,20 +29,22 @@ main() { echo "add bridge interface ${bridge}" read -p "use ctrl-C to cancel, or any other key to continue." jaaj ${rooter} ip link add ${bridge} type bridge - echo "add tap interface ${tap}" - read -p "use ctrl-C to cancel, or any other key to continue." jaaj - ${rooter} ip tuntap add dev ${tap} mode tap - - echo "link bridge ${bridge} to tap ${tap}" - read -p "use ctrl-C to cancel, or any other key to continue." jaaj - ${rooter} ip link set dev ${tap} master ${bridge} echo "no interface to link with bridge ${bridge}" #$rooter ip link set dev wlan0 master br0 + + echo "authorise qemu to use as interface ${bridge} as bridge" + if cat /etc/qemu/bridge.conf | grep -q "${bridge}" + then + echo "pass, bridge already authorised" + else + echo "allow ${bridge}" | doas tee -a /etc/qemu/bridge.conf + echo "entry added to /etc/qemu/bridge.conf" + fi - echo "activate ${bridge}" + echo "activate bridge ${bridge}" read -p "use ctrl-C to cancel, or any other key to continue." jaaj - $rooter ip link set dev ${bridge} up + ${rooter} ip link set dev ${bridge} up } @@ -71,10 +72,6 @@ for i in $@; do bridge="${i#*=}" echo "${bridge}" ;; - "--tap-id") - tap="${i#*=}" - echo "${tap}" - ;; "--addr") address="${i#*=}" echo "${address}" @@ -90,9 +87,9 @@ for i in $@; do esac done -if [ "${bridge}" == "" ] || [ "${tap}" == "" ] +if [ "${bridge}" == "" ] then - echo "Error, --bridge-id and --tap-id have to be both specified to make the tap address" >&2 + echo "Error, --bridge-id have to be specified to make the bridge" >&2 exit fi diff --git a/vm-start.sh b/vm-start.sh index b9cf1a5..5226683 100755 --- a/vm-start.sh +++ b/vm-start.sh @@ -94,6 +94,7 @@ NPROC="${NPROC}" MEMORY="${MEMORY}" FORWARD="${FORWARD}" LOCATION="\${NAME}-sandbox" +mac="00:00:00:00:00:00" EOF chmod +x "conf/$NAME-vm_var.sh"