ใช้ dnsmasq เพื่อแก้ไขโฮสต์ทั้งหมดเป็นที่อยู่เดียวกัน


29

ฉันใช้เซิร์ฟเวอร์ Ubuntu บนคอมพิวเตอร์ที่ใช้เป็น AP แบบไร้สาย แต่ AP นี้ควรแก้ไขคำขอ DNS ทั้งหมดไปยังที่อยู่ IP ภายในแทนที่จะทำการค้นหาจริง

ฉันต้องการทำสิ่งเดียวกันกับฮอตสปอต WiFi สาธารณะที่จ่ายเงิน - คุณสามารถเชื่อมต่อได้ แต่หากคุณพยายามโหลดเว็บไซต์ใด ๆ พวกเขาจะแสดงหน้าเริ่มต้น ฉันสังเกตเห็นว่าพวกเขาทำเช่นนี้โดยแก้ไขโดเมนทั้งหมดเป็นที่อยู่ IP ภายใน

ฉันได้เพิ่มบรรทัดเหล่านี้ไปที่/etc/dnsmasq.conf:

# Add domains which you want to force to an IP address here.
# The example below send any host in double-click.net to a local
# web-server.
address=/com/192.168.2.1
address=/uk/192.168.2.1
address=/org/192.168.2.1
address=/gov/192.168.2.1
address=/net/192.168.2.1
address=/us/192.168.2.1

ซึ่งใช้งานได้ดีสำหรับ TLD เหล่านั้น แต่ฉันต้องการที่จะทำกับโดเมนทั้งหมดเพื่อให้ฉันสามารถนอนในเวลากลางคืน


4
ทำไมไม่ใช้พอร์ทัลเชลยอย่างสปุตนิกหรือที่คล้ายกัน คุณวางแผนที่จะเปลี่ยน DNS หลังจากพวกเขาเข้าสู่ระบบได้อย่างไร
พอลแอคเคอร์แมน

พยายามที่จะบรรลุสิ่งนี้? หากคุณแก้ไข dhcpd ของคุณจากนั้นทำ iptables -A PREROUTING -s 192.168.0.0/255.255.255.0 -p tcp -j DNAT - ไปยังปลายทาง 192.168.2.1
ผู้ใช้

@PaulAckerman ฉันใช้ WiFi สาธารณะเป็นตัวอย่าง AP นี้จะไม่อนุญาตให้ทำการร้องขอ DNS ที่แท้จริง ฉันจะลองสิ่งที่ iptables
Matt

คำตอบ:


53

ตามdnsmasqคู่มือบอกว่า ...

…เพียงใช้#สัญลักษณ์แทน:

ที่อยู่ = / # / 192.168.2.1


7
rtfm แน่นอน แต่พระเจ้าอวยพรคุณอยู่ดี: D
Pitto

4
คู่มือใด 'man dnsmasq' ให้ตัวเลือกบรรทัดคำสั่งแก่ BOAT LOAD แต่ไม่มีข้อมูลเกี่ยวกับโครงร่างไฟล์กำหนดค่า
Avian00

8
ฉันรู้ว่ามันสาย แต่ในกรณีที่บางคนพบว่ามีประโยชน์: ตัวเลือกแบบยาวทั้งหมดในหน้า man ของ dnsmasq นั้นใช้ได้ในไฟล์ config เช่นกัน - สิ่งที่คุณต้องทำคือวางเครื่องหมายขีดกลางก่อนหน้านี้ ) เหตุการณ์ไวยากรณ์ของอาร์กิวเมนต์ยังคงเหมือนเดิม
jaymmer - Reinstate Monica
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.