ขณะนี้ฉันมีกล่อง NAS ที่ทำงานภายใต้พอร์ต 80 ในการเข้าถึง NAS จากภายนอกฉันได้แมปพอร์ต 8080 กับพอร์ต 80 บน NAS ดังต่อไปนี้:
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 10.32.25.2:80
มันใช้งานได้อย่างมีเสน่ห์ อย่างไรก็ตามสิ่งนี้ใช้ได้เฉพาะเมื่อฉันเข้าถึงเว็บไซต์จากนอกเครือข่าย (ที่ทำงานที่บ้านที่แตกต่างกัน ฯลฯ ) ดังนั้นเมื่อฉันพิมพ์mywebsite.com:8080
, IPTables ทำงานได้อย่างถูกต้องและทุกอย่างทำงานได้ดี
ตอนนี้ปัญหาที่ฉันมีคือฉันจะเปลี่ยนเส้นทางพอร์ตนี้จากภายในเครือข่ายได้อย่างไร ชื่อโดเมนของฉันmywebsite.com
ชี้ไปที่เราเตอร์ของฉัน (เซิร์ฟเวอร์ linux ของฉัน) จากด้านใน (10.32.25.1) แต่ฉันต้องการเปลี่ยนเส้นทางพอร์ต 8080 ไปยังพอร์ต 80 บน 10.32.25.2 จากด้านใน
เบาะแสใด ๆ
แก้ไข # 1
ความพยายามที่จะช่วยอำนวยความสะดวกให้กับคำถามนี้ฉันได้รวบรวมแผนภาพนี้ไว้ด้วยกัน โปรดอัปเดตหากไม่ถูกต้องหรือแสดงสิ่งที่คุณต้องการอย่างผิด ๆ
iptables
| .---------------.
.-,( ),-. v port 80 |
.-( )-. port 8080________ | |
( internet )------------>[_...__...°]------------->| NAS |
'-( ).-' 10.32.25.2 ^ 10.32.25.1 | |
'-.( ).-' | | |
| '---------------'
|
|
__ _
[__]|=|
/::/|_|
10.32.25.1:8080
10.32.25.2:80
กฎของฉันด้านบนใช้งานได้จากภายนอก แต่ไม่ใช่จากภายในเครือข่ายของฉัน ดังนั้นถ้าฉันอยู่ที่สำนักงานฉันสามารถเข้าถึง NAS ของฉันได้จากwebsite.com:8080และมันโปร่งใสอย่างสมบูรณ์ จากบ้านของฉัน website.com:8080 ชี้ไปที่ 10.32.25.1 เนื่องจากเป็นเราเตอร์เซิร์ฟเวอร์ Linux ของเรา ฉันต้องการเปลี่ยนเส้นทางพอร์ต 8080 ไปยัง NAS ด้วยบนพอร์ต 80 แต่อีกครั้งอย่างโปร่งใส
eth0 10.32.25.2
เพื่อให้เราสามารถเขียน iptables ใช้ขึ้นอยู่กับอินเทอร์เฟซขาเข้า