![Joanna Rutkowska](/assets/img/avatar_default.png)
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
|