 8242e6fc5b
			
		
	
	
		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
 |