วิธีกำหนดค่าโดเมนย่อยไวด์การ์ดแบบคงที่ด้วย dnsmasq


14

ฉันมีเครือข่ายที่อยู่เบื้องหลัง NAT ด้วยเครื่องไม่กี่เครื่อง

เครื่องคือ:

  • เราเตอร์ - NAT, dnsmasq, การส่งต่อ - เชื่อมต่อโดยตรงกับ inet
  • เซิร์ฟเวอร์ - ที่ทำงาน ssh, www และสิ่งอื่น ๆ
  • ลูกค้า - สิ่งที่ทำบนเซิร์ฟเวอร์

ฉันยังมี mydomain.com
server.mydomain.com ชี้ไปที่ IP ของการเชื่อมต่อของฉัน (IP เดียว) ซึ่งเป็นเราเตอร์ซึ่งส่งต่อพอร์ตไปยังเซิร์ฟเวอร์

เซิร์ฟเวอร์มี httpd ที่ทำงานซึ่งให้บริการเว็บไซต์ต่าง ๆ ตาม vhosts
ดังนั้นฉันมี site1.server.mydomain.com, site2 ..

ปัญหาคือการรับส่งข้อมูลทั้งหมดจะผ่านเราเตอร์และเมื่อฉันตรวจสอบบันทึกฉันมักจะเห็น IP ของเราเตอร์สำหรับทุกสิ่ง (ดังนั้นจึงยากที่จะดูว่าใครกำลังเรียกใช้สคริปต์ในขณะที่ (1))

ฉันต้องการ ServerAlias ​​site1.server.local แต่ไซต์ส่วนใหญ่มี URL รากที่บันทึกไว้ที่ใดที่หนึ่งที่ URL อื่นถูกสร้างขึ้นดังนั้นฉันจึงไม่สามารถทำเช่นนั้นได้

ทางออกสำหรับฉันจะบอก dnsmasq อย่างใดเพื่อตอบ *. mydomain.com ด้วย IP ของเซิร์ฟเวอร์

เป็นไปได้อย่างใด?

คำตอบ:


13

ฉันทำสิ่งเดียวกันบนเซิร์ฟเวอร์ dev ของฉันเพื่อที่ฉันจะได้มิรเรอร์ rsynced ในเครื่องและบนเซิร์ฟเวอร์นอกไซต์ที่มี configs เหมือนกัน

นี่คือสิ่งที่คุณต้องการใน dnsmasq.conf ของคุณ (ให้แน่ใจว่าคุณเริ่มต้นใหม่) สมมติว่าอินเทอร์เฟซภายในของเว็บเซิร์ฟเวอร์ของคุณคือ 192.168.0.3:

address=/.server.mydomain.com/192.168.0.3

สิ่งนี้จะสร้างรายการไวด์การ์ดสำหรับ * .server.mydomain.com และตราบใดที่ไคลเอนต์ของคุณกำลังใช้ DNSMasq สำหรับ DNS ของพวกเขา (และเซิร์ฟเวอร์ของคุณฟังในอินเทอร์เฟซภายใน) คุณตั้งค่าไว้


THAAAAAAAAAAAAANANKS
Prody

ยอดเยี่ยม มีปัญหาเดียวกันและวิธีแก้ปัญหาเดียวกันก็ใช้ได้ดีสำหรับฉันเช่นกัน! ;) ขอบคุณมาก.
mnemosyn

0

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

สิ่งที่คุณควรทำคือการเชื่อมต่อขาเข้า DNAT และการเชื่อมต่อขาออก SNAT บนเราเตอร์ซึ่งจะรักษา ip ต้นทางของแต่ละการเชื่อมต่อ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.