मैं कुछ उपकरणों के लिए DNS को मजबूर करने के लिए iptables का उपयोग करने की कोशिश कर रहा हूं (Asus RT-N66U पर शिब्बी टमाटर)। मुझे इस तरह के कॉन्फ़िगरेशन का वर्णन करने वाले ऑनलाइन कुछ भी नहीं मिला है। निकटतम मैं यह पा सकता था:
# For the Samsung TV, use WAN DNS (i.e., Comcast).
# #############################################################
iptables -t nat -A PREROUTING -i br0 -s samsung-tv.home.lan -p tcp --dport 53 -j DNAT --to $(nvram get wan_get_dns | awk -F' ' '{print $1}')
iptables -t nat -A PREROUTING -i br0 -s samsung-tv.home.lan -p udp --dport 53 -j DNAT --to $(nvram get wan_get_dns | awk -F' ' '{print $1}')
# For every other client, use LAN DNS.
# #############################################################
iptables -t nat -A PREROUTING -i br0 -p udp --dport 53 -j DNAT --to $(nvram get lan_ipaddr)
iptables -t nat -A PREROUTING -i br0 -p tcp --dport 53 -j DNAT --to $(nvram get lan_ipaddr)
यह करीब है, लेकिन कुछ समस्याएं हैं।
1) मैं इसे होस्टनाम के बजाय मैक पते से करना पसंद करूंगा। क्या यह संभव है?
2) यह केवल क्लाइंट के लिए एक एकल DNS सर्वर की अनुमति देता है। क्या इस (या समान) पद्धति का उपयोग करके प्राथमिक और द्वितीयक DNS असाइन करने का कोई तरीका है?