สอบถามเรื่อง iptable forward host ครับ

สวัสดีครับ

รบกวนสอบถามเรื่อง technique การเขียน iptable เพื่อให้มีการ forward request ทุกอย่างผ่านไปยังเครื่องภายใน local network นะครับ ก่อนหน้านี้ใช้วิธีการ forward port ใช้งานได้ แต่ตอนนี้มี 3 เครื่องที่ต้องการใช้งาน port เดียวกันเลยกำลังหาวิธีที่จะ forward ไปใน lan โดยการใช้งาน host name ร่วมกับ dns ไม่ทราบว่าสามารถทำได้หรือเปล่าครับ

ไฟล์ doc ที่ผมวาดไว้คร่าวๆ ครับ

ใช้ iptables ไม่ได้ครับ คงต้องไปใช้ reverse proxy เอา จะ squid หรือว่า nginx ก็ได้ครับ

iptables ไม่รู้วิธีเขียนกฏอะครับ แต่ csf อะง่ายเลย

ทำ nat แล้ว forward โดยระบุ distination ip & port ครับ

หาก forward เป็น port ทำได้แล้วครับเช่น 80 ผมใช้ nginx ครับ แต่ตอนนี้คือเค้าอยากให้มี port อื่นด้วยเช่น ssh ซึ่งเค้าต้องการที่จะ forward ไปยังเครื่องใน vpn network โดยอยากจะใช้งาน X11 forward นะครับ ถ้าหากผม forward 22 ไปให้เครื่องใน vpn network ตัวเครื่อง server ก็จะไม่สามารถใช้งาน 22 ได้ครับ ผมเลยอยากหาวิธีในการ forward ไปเป็นเครื่องตาม host เลยไม่ทราบว่าได้หรือเปล่าครับ

ใช้ iptable ทำ nat ครับ

กำหนด port ของ public ip ให้ forward ไป private ip และ port อะไร

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.1.2:80

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 81 -j DNAT --to 192.168.1.3:80

ก่อนหน้านี้ผมทำแบบเนี่ยครับ แต่ว่าเกิดปัญหาคือมีหลายเครื่องตอนนี้เป็น 88 แล้วครับคาดว่ายังมีอีกหลายเครื่องเลยอยากทำการ forward โดยใช้ subdomain ได้ไหมครับ เช่นถ้าเป็น host11.machine.com ให้ไปยังเครื่องใน vpn network 10.8.0.11 เลยนะครับสามารถใช้งานได้ทุก port ไม่ทราบว่าพอจะทำได้ไหมหรือ หรือว่าสามารถทำได้เฉพาะการ forward port อย่างเดียว ขอบคุณครับ

^

^

^ แบบนั้นไม่ได้ครับ ตัว hostname ใช้งานเฉพาะใน Protocal HTTP ครับ ส่วน Protocal อื่น จะเป็นหมายเลข Port อย่างเดียวครับ

Public Port > Local Server

122 > 22 server 1

222 > 22 server 2

322 > 22 server 3

forward port แบบนั้น iptables จะทำงานที่ layer 4 ครับ

ส่วนที่คุณต้องการ ที่จจะใช้ hostname มนัต้องใช้ reverse proxy อย่างพวก nginx อะไรพวกนี้มาทำครับ

ขอบคุณทุกท่านครับ

หลังจากไปรื้อเรื่อง network layer ผมเข้าใจแล้วละครับว่าไม่สามารถทำได้ ตอนนี้คงยังใช้ reverse proxy เหมือนเดิมครับ