8242e6fc5b
This is especially useful for proxy VMs that e.g. run some transparent proxy service such as tor, and need to rebind it upon IP change (of course this assumes iptables-based transparent redirection such as DNAT).
26 lines
1.0 KiB
Bash
Executable File
26 lines
1.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
ip=`/usr/bin/xenstore-read qubes_ip 2> /dev/null`
|
|
if [ x$ip != x ]; then
|
|
netmask=`/usr/bin/xenstore-read qubes_netmask`
|
|
gateway=`/usr/bin/xenstore-read qubes_gateway`
|
|
secondary_dns=`/usr/bin/xenstore-read qubes_secondary_dns`
|
|
/sbin/ifconfig $INTERFACE $ip netmask 255.255.255.255
|
|
/sbin/ifconfig $INTERFACE up
|
|
/sbin/route add default dev $INTERFACE
|
|
/sbin/ethtool -K $INTERFACE sg off
|
|
echo "nameserver $gateway" > /etc/resolv.conf
|
|
echo "nameserver $secondary_dns" >> /etc/resolv.conf
|
|
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)
|
|
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
|
|
fi
|
|
|
|
fi
|