7027633e80
Apparently eth0 in ProxyVM can be configured using plain keyfile plugin, which is present on all distributions.
55 lines
1.7 KiB
Bash
Executable File
55 lines
1.7 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
|
|
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
|
|
if [ -f /var/run/qubes-service/network-manager ]; then
|
|
cat > /etc/NetworkManager/system-connections/qubes-uplink-$INTERFACE <<__EOF__
|
|
[802-3-ethernet]
|
|
duplex=full
|
|
|
|
[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__
|
|
fi
|
|
fi
|