ฉันมีเครือข่ายที่ตั้งค่าให้เป็น "มือถือ" มันมีเซิร์ฟเวอร์ที่แตกต่างกันไม่กี่ ทุกอย่างทำงานได้อย่างสมบูรณ์แบบจากภายนอก สิ่งที่ฉันพยายามกำหนดค่าคือการเชื่อมต่อภายใน
ฉันมีเราเตอร์ DD-WRT ที่เราสามารถใช้ชื่อเล่นmain
และเราเตอร์อื่นที่เราสามารถโทรหาgeneric
ได้ แนวคิดในที่นี้คือmain
มีโฮสต์ของพอร์ตต่อไปและการจัดสรร IP แบบคงที่สำหรับเซิร์ฟเวอร์ของฉันในเซิร์ฟเวอร์ DHCP อิสระ Generic
เป็นเราเตอร์ใด ๆ ที่ฉันต้องการmain
เข้าถึงอินเทอร์เน็ตผ่าน ( Main
เชื่อมต่อกับgeneric
WiFi และใช้ 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
และดังนั้นmain
IP ของ WAN จะเปลี่ยนไปเช่นกัน
main
ที่อยู่ IP ของ "WAN" ในaddress=
บรรทัดแทน นี่อาจเป็นผลสำเร็จกับสคริปต์และaddn-hosts
ไฟล์บางตัว