#!/bin/sh # # chkconfig: 345 90 90 # description: Executes Qubes core scripts at NetVM boot # # Source function library. . /etc/rc.d/init.d/functions start() { if ! [ -x /usr/bin/xenstore-read ] ; then echo "ERROR: /usr/bin/xenstore-read not found!" exit 1 fi type=$(/usr/bin/xenstore-read qubes_vm_type) if [ "$type" == "NetVM" ]; then /usr/lib/qubes/network-manager-prepare-conf-dir /sbin/service NetworkManager start fi echo -n $"Executing Qubes Core scripts NetVM:" # Setup gateway for all the VMs this netVM is serviceing... network=$(/usr/bin/xenstore-read qubes_netvm_network 2>/dev/null) if [ "x$network" != "x" ]; then gateway=$(/usr/bin/xenstore-read qubes_netvm_gateway) netmask=$(/usr/bin/xenstore-read qubes_netvm_netmask) secondary_dns=$(/usr/bin/xenstore-read qubes_netvm_secondary_dns) modprobe netbk 2> /dev/null || modprobe xen-netback echo "NS1=$gateway" > /var/run/qubes/qubes-ns echo "NS2=$secondary_dns" >> /var/run/qubes/qubes-ns /usr/lib/qubes/qubes-setup-dnat-to-ns echo "1" > /proc/sys/net/ipv4/ip_forward fi success echo "" return 0 } stop() { return 0 } case "$1" in start) start ;; stop) stop ;; *) echo $"Usage: $0 {start|stop}" exit 3 ;; esac exit $RETVAL