
The same variables are reused to configure downlink in ProxyVM, so create NM config before they got overrided.
59 lines
1.8 KiB
Bash
Executable File
59 lines
1.8 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
if [ -x /usr/sbin/xenstore-read ]; then
|
|
XENSTORE_READ="/usr/sbin/xenstore-read"
|
|
else
|
|
XENSTORE_READ="/usr/bin/xenstore-read"
|
|
fi
|
|
|
|
ip=`$XENSTORE_READ qubes-ip 2> /dev/null`
|
|
if [ x$ip != x ]; then
|
|
netmask=`$XENSTORE_READ qubes-netmask`
|
|
gateway=`$XENSTORE_READ qubes-gateway`
|
|
secondary_dns=`$XENSTORE_READ qubes-secondary-dns`
|
|
/sbin/ifconfig $INTERFACE $ip netmask 255.255.255.255
|
|
/sbin/ifconfig $INTERFACE up
|
|
/sbin/route add -host $gateway dev $INTERFACE
|
|
/sbin/route add default gw $gateway
|
|
/sbin/ethtool -K $INTERFACE sg off
|
|
/sbin/ethtool -K $INTERFACE tx off
|
|
echo "nameserver $gateway" > /etc/resolv.conf
|
|
echo "nameserver $secondary_dns" >> /etc/resolv.conf
|
|
if [ -f /var/run/qubes-service/network-manager ]; then
|
|
cat > /etc/NetworkManager/system-connections/qubes-uplink-$INTERFACE <<__EOF__
|
|
[802-3-ethernet]
|
|
duplex=full
|
|
|
|
[ethernet]
|
|
mac-address=`ip l show dev $INTERFACE |grep link|awk '{print $2}'`
|
|
|
|
[connection]
|
|
id=VM uplink $INTERFACE
|
|
uuid=de85f79b-8c3d-405f-a652-cb4c10b4f9ef
|
|
type=802-3-ethernet
|
|
|
|
[ipv6]
|
|
method=ignore
|
|
|
|
[ipv4]
|
|
method=manual
|
|
dns=$gateway;$secondary_dns
|
|
address1=$ip/32,$gateway
|
|
may-fail=false
|
|
__EOF__
|
|
chmod 600 /etc/NetworkManager/system-connections/qubes-uplink-$INTERFACE
|
|
fi
|
|
network=$($XENSTORE_READ qubes-netvm-network 2>/dev/null)
|
|
if [ "x$network" != "x" ]; then
|
|
gateway=$($XENSTORE_READ qubes-netvm-gateway)
|
|
netmask=$($XENSTORE_READ qubes-netvm-netmask)
|
|
secondary_dns=$($XENSTORE_READ qubes-netvm-secondary-dns)
|
|
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
|
|
[ -x /rw/config/qubes-ip-change-hook ] && /rw/config/qubes-ip-change-hook
|
|
# XXX: Backward compatibility
|
|
[ -x /rw/config/qubes_ip_change_hook ] && /rw/config/qubes_ip_change_hook
|
|
fi
|
|
fi
|