12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #!/bin/bash
- #
- # 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/qubesdb-read ] ; then
- echo "ERROR: /usr/bin/qubesdb-read not found!"
- exit 1
- fi
- type=$(/usr/bin/qubesdb-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/qubesdb-read /qubes-netvm-network 2>/dev/null)
- if [ "x$network" != "x" ]; then
- gateway=$(/usr/bin/qubesdb-read /qubes-netvm-gateway)
- netmask=$(/usr/bin/qubesdb-read /qubes-netvm-netmask)
- primary_dns=$(/usr/bin/qubesdb-read /qubes-netvm-primary-dns || echo $gateway)
- secondary_dns=$(/usr/bin/qubesdb-read /qubes-netvm-secondary-dns)
- modprobe netbk 2> /dev/null || modprobe xen-netback
- echo "NS1=$primary_dns" > /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
|