ฉันมีเครือข่ายที่ตั้งค่าให้เป็น "มือถือ" มันมีเซิร์ฟเวอร์ที่แตกต่างกันไม่กี่ ทุกอย่างทำงานได้อย่างสมบูรณ์แบบจากภายนอก สิ่งที่ฉันพยายามกำหนดค่าคือการเชื่อมต่อภายใน
ฉันมีเราเตอร์ DD-WRT ที่เราสามารถใช้ชื่อเล่นmainและเราเตอร์อื่นที่เราสามารถโทรหาgenericได้ แนวคิดในที่นี้คือmainมีโฮสต์ของพอร์ตต่อไปและการจัดสรร IP แบบคงที่สำหรับเซิร์ฟเวอร์ของฉันในเซิร์ฟเวอร์ DHCP อิสระ Genericเป็นเราเตอร์ใด ๆ ที่ฉันต้องการmainเข้าถึงอินเทอร์เน็ตผ่าน ( Mainเชื่อมต่อกับgenericWiFi และใช้ IP ภายนอก)
ในกรณีปัจจุบันของฉันGenericคือเราท์เตอร์ / โมเด็มที่ทำงานได้เต็มประสิทธิภาพจาก ISP ของฉัน พอร์ตทั้งหมดบนจะถูกส่งต่อไปยังgeneric mainวิธีนี้ใช้ได้ผล จากภายนอกทุกอย่างเชื่อมต่ออย่างถูกต้อง
อย่างไรก็ตามเนื่องจากgenericอยู่ระหว่างmainและอินเทอร์เน็ตการทำเส้นทางกิ๊บจึงไม่ทำงาน
เพื่อแก้ปัญหานี้ฉันมีบางการตั้งค่า DNSMasq ในmainคู่ที่มีmyDomain.com 10.0.0.101ดูเหมือนว่า ...
address=/mydomain.com/10.0.0.101
ทั้งสอง10.0.0.101และ10.0.0.102เป็นเซิร์ฟเวอร์ Debian 10.0.0.101เป็นเซิร์ฟเวอร์ "การดูแลระบบ" ในเครือข่ายของฉัน จัดการกับอีเมลและอื่น ๆ สำหรับผู้ดูแลระบบ
ฉันกำลังพยายามใช้ IP Tables 10.0.0.101เพื่อจำลองผลกระทบของการอยู่นอกเครือข่าย (พอร์ตใด ๆ บน myDomain.com ควรทำสิ่งเดียวกันโดยไม่คำนึงว่าฉันอยู่ภายในหรือภายนอก LAN)
พอร์ตที่ต้องไป10.0.0.102เป็น80, 8080, 3000, 22, 9090, 9091, และ9092 9093ฉันไม่คุ้นเคยกับ IP Tables แต่พบบทช่วยสอนนี้
ฉันลงชื่อเข้าใช้ด้วยรูทและรัน ...
echo "1" > /proc/sys/net/ipv4/ip_forward
จากนั้นฉันก็รันการแทนที่ต่อไปนี้(MY_LOCAL_PORT)ด้วยพอร์ตที่ฉันระบุไว้ข้างต้นแต่ละรายการ ...
iptables -t nat -A PREROUTING -p tcp -s 0/0 -d 10.0.0.101 --dport (MY_LOCAL_PORT) -j DNAT --to 10.0.0.102:(MY_LOCAL_PORT)
จากนั้นฉันก็วิ่ง ...
iptables -t nat -A POSTROUTING -o eth0 -d 10.0.0.102 -j SNAT --to-source 10.0.0.101
สิ่งนี้ไม่ทำงาน tracerouteสำหรับอัตราผลตอบแทนmydomain.com:22 10.0.0.101ฉันไม่สามารถดูเว็บเซิร์ฟเวอร์myDomain.comได้แม้ว่าฉันจะสามารถดูได้โดยป้อน10.0.0.102ในแถบที่อยู่ของเบราว์เซอร์
มีปัญหาอะไร? ฉันจะบรรลุผลนี้ได้อย่างไร? และเป็นโบนัส ... สามารถทำได้mainมากกว่านี้10.0.0.101หรือไม่?
mainผมค่อนข้างจะมีทุกอย่างใน อย่างไรก็ตามฉันพยายามทำเช่นนี้โดยใส่ IP แบบคงที่ของเราเตอร์ (10.0.0.1) ลงในช่องที่อยู่ นั่นไม่ได้ผล ฉันควรหลีกเลี่ยงการเปลี่ยนเป็น WAN IP (192.168.0.10) เพราะมันจะเปลี่ยนไปเมื่อเครือข่ายเคลื่อนที่
mainคุณต้องมีที่อยู่ IP ของ WAN
mainคือ IP แบบคงที่ที่กำหนดโดยgeneric.หากgenericจะต้องเปลี่ยนเป็นไปได้ว่า IP แบบคงที่ที่กำหนดโดยgenericและดังนั้นmainIP ของ WAN จะเปลี่ยนไปเช่นกัน
mainที่อยู่ IP ของ "WAN" ในaddress=บรรทัดแทน นี่อาจเป็นผลสำเร็จกับสคริปต์และaddn-hostsไฟล์บางตัว