ใช้ตาราง IP เพื่อส่งต่อคำขอทั้งหมดไปยัง IP ภายในอื่นหรือไม่


0

ฉันมีเครือข่ายที่ตั้งค่าให้เป็น "มือถือ" มันมีเซิร์ฟเวอร์ที่แตกต่างกันไม่กี่ ทุกอย่างทำงานได้อย่างสมบูรณ์แบบจากภายนอก สิ่งที่ฉันพยายามกำหนดค่าคือการเชื่อมต่อภายใน

ฉันมีเราเตอร์ 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 ของ "WAN" ในaddress=บรรทัดแทน นี่อาจเป็นผลสำเร็จกับสคริปต์และaddn-hostsไฟล์บางตัว
Daniel B

mainผมค่อนข้างจะมีทุกอย่างใน อย่างไรก็ตามฉันพยายามทำเช่นนี้โดยใส่ IP แบบคงที่ของเราเตอร์ (10.0.0.1) ลงในช่องที่อยู่ นั่นไม่ได้ผล ฉันควรหลีกเลี่ยงการเปลี่ยนเป็น WAN IP (192.168.0.10) เพราะมันจะเปลี่ยนไปเมื่อเครือข่ายเคลื่อนที่
Allenph

ไม่คุณเข้าใจผิด คุณจะไม่เปลี่ยน WAN IP แต่เพียงใช้มัน และที่สำคัญที่สุดคืออย่าลืมติดตามข่าวสารล่าสุดเกี่ยวกับการเปลี่ยนแปลง อย่างไรก็ตามฉันไม่คุ้นเคยกับข้อเสนอของเบ็ด hooks DD-WRT ในการใช้กิ๊บ NAT บนmainคุณต้องมีที่อยู่ IP ของ WAN
Daniel B

WAN IP ของmainคือ IP แบบคงที่ที่กำหนดโดยgeneric.หากgenericจะต้องเปลี่ยนเป็นไปได้ว่า IP แบบคงที่ที่กำหนดโดยgenericและดังนั้นmainIP ของ WAN จะเปลี่ยนไปเช่นกัน
Allenph

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