network: use qubes-primary-dns QubesDB entry if present
				
					
				
			For a long time the DNS address was the same as default gateway. This is still the case in R3.x, but using `qubes-gateway` configuration parameter for it is misleading. It should be up to dom0 to provide DNS address (whether the value is the same as gateway or not). Fixes QubesOS/qubes-issues#1817
This commit is contained in:
		
							parent
							
								
									d181cf5cff
								
							
						
					
					
						commit
						fb9b3b62c0
					
				| @ -13,6 +13,7 @@ ip=`/usr/bin/qubesdb-read /qubes-ip 2> /dev/null` | ||||
| if [ x$ip != x ]; then | ||||
|     netmask=`/usr/bin/qubesdb-read /qubes-netmask` | ||||
|     gateway=`/usr/bin/qubesdb-read /qubes-gateway` | ||||
|     primary_dns=`/usr/bin/qubesdb-read /qubes-primary-dns 2>/dev/null || echo $gateway` | ||||
|     secondary_dns=`/usr/bin/qubesdb-read /qubes-secondary-dns` | ||||
|     /sbin/ethtool -K $INTERFACE sg off | ||||
|     /sbin/ethtool -K $INTERFACE tx off | ||||
| @ -39,7 +40,7 @@ method=manual | ||||
| may-fail=false | ||||
| __EOF__ | ||||
|         if [ "x$disabledns" != "x1" ]; then | ||||
|             echo "dns=$gateway;$secondary_dns" >> $nm_config | ||||
|             echo "dns=$primary_dns;$secondary_dns" >> $nm_config | ||||
|         fi | ||||
|         if [ "x$disablegw" != "x1" ]; then | ||||
|             echo "addresses1=$ip;32;$gateway" >> $nm_config | ||||
| @ -58,7 +59,7 @@ __EOF__ | ||||
|         if ! grep -rq "^/etc/resolv[.]conf$" "${PROTECTED_FILE_LIST}" 2>/dev/null; then | ||||
|         echo > /etc/resolv.conf | ||||
|             if [ "x$disabledns" != "x1" ]; then | ||||
|                 echo "nameserver $gateway" > /etc/resolv.conf | ||||
|                 echo "nameserver $primary_dns" > /etc/resolv.conf | ||||
|                 echo "nameserver $secondary_dns" >> /etc/resolv.conf | ||||
|             fi | ||||
|         fi | ||||
| @ -67,8 +68,9 @@ __EOF__ | ||||
|     if [ "x$network" != "x" ] && [ "x$disabledns" != "x1" ]; then | ||||
|         gateway=$(qubesdb-read /qubes-netvm-gateway) | ||||
|         netmask=$(qubesdb-read /qubes-netvm-netmask) | ||||
|         primary_dns=$(qubesdb-read /qubes-netvm-primary-dns 2>/dev/null || echo $gateway) | ||||
|         secondary_dns=$(qubesdb-read /qubes-netvm-secondary-dns) | ||||
|         echo "NS1=$gateway" > /var/run/qubes/qubes-ns | ||||
|         echo "NS1=$primary_dns" > /var/run/qubes/qubes-ns | ||||
|         echo "NS2=$secondary_dns" >> /var/run/qubes/qubes-ns | ||||
|         /usr/lib/qubes/qubes-setup-dnat-to-ns | ||||
|     fi | ||||
|  | ||||
| @ -26,9 +26,10 @@ start() | ||||
| 	if [ "x$network" != "x" ]; then | ||||
| 		gateway=$(/usr/bin/qubesdb-read /qubes-netvm-gateway) | ||||
| 		netmask=$(/usr/bin/qubesdb-read /qubes-netvm-netmask) | ||||
| 		primary_dns=$(/usr/bin/qubesdb-read /qubes-netvm-primary-dns || echo $gateway) | ||||
| 		secondary_dns=$(/usr/bin/qubesdb-read /qubes-netvm-secondary-dns) | ||||
| 		modprobe netbk 2> /dev/null || modprobe xen-netback | ||||
| 		echo "NS1=$gateway" > /var/run/qubes/qubes-ns | ||||
| 		echo "NS1=$primary_dns" > /var/run/qubes/qubes-ns | ||||
| 		echo "NS2=$secondary_dns" >> /var/run/qubes/qubes-ns | ||||
| 		/usr/lib/qubes/qubes-setup-dnat-to-ns | ||||
| 		echo "1" > /proc/sys/net/ipv4/ip_forward | ||||
|  | ||||
| @ -12,9 +12,10 @@ if [ "x$network" != "x" ]; then | ||||
| 
 | ||||
|     gateway=$(qubesdb-read /qubes-netvm-gateway) | ||||
|     netmask=$(qubesdb-read /qubes-netvm-netmask) | ||||
|     primary_dns=$(qubesdb-read /qubes-netvm-primary-dns 2>/dev/null || echo $gateway) | ||||
|     secondary_dns=$(qubesdb-read /qubes-netvm-secondary-dns) | ||||
|     modprobe netbk 2> /dev/null || modprobe xen-netback || "${modprobe_fail_cmd}" | ||||
|     echo "NS1=$gateway" > /var/run/qubes/qubes-ns | ||||
|     echo "NS1=$primary_dns" > /var/run/qubes/qubes-ns | ||||
|     echo "NS2=$secondary_dns" >> /var/run/qubes/qubes-ns | ||||
|     /usr/lib/qubes/qubes-setup-dnat-to-ns | ||||
|     echo "1" > /proc/sys/net/ipv4/ip_forward | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Marek Marczykowski-Górecki
						Marek Marczykowski-Górecki