ipmasq กับการสลับราง (DNAT)
หลัง จากบทความเกี่ยวกับ ipmasq ที่ผ่าน ๆ มา ทำให้เราเห็นถึงความมีประิสิทธิภาพ และความง่ายในการตั้งค่าของเจ้าโปรแกรมนี้ ทำให้เรื่องบางเรื่องที่เคยยากลำบาก กลายเป็นเรื่องกล้วย ๆ ไปในพริบตา คราวนี้มาดูความง่ายอื่น ๆ ที่ ipmasq มีให้เราใช้ คือ DNAT
DNAT หรือ Destination Network Address Translation ชื่อก็บอกแล้วว่าเกี่ยวกับเครื่องปลายทาง เพราะปกติ การเชื่อมต่อกันภายในเครือข่าย จะต้องกำหนดเครื่องต้นทาง(Source) และปลายทางเสมอ(Destination) และในขณะนี้เครื่องเราทำหน้าที่เป็นเครื่องเชื่อมต่อระหว่างเครือข่าย (Gateway) ข้อมูลเหล่านี้จำเป็นต่อเราที่จะส่งต่อข้อมูลให้ใครต่อไปหลังจากนี้ ทำให้เราสามารถวิเคราะห์ข้อมูล และส่งต่อไปยังที่ที่เราต้องการให้ไปได้ หรือพูดง่าย ๆ คล้ายกับการสลับราง(DNAT) ก็เราเป็นใหญ่นี่ครับในตอนนี้
อาจจะยังไม่ค่อยเห็นภาพ งั้นก็ลองสร้างภาพดูละกันนะครับ
Internet 203.xxx.xxx.xxx/192.168.1.1 192.168.1.2
[ CLIENT ] ==============> [ GATEWAY ] ================> [LOCAL SERVER]
Request: {DNAT} Serve with:
GATEWAY:80 LOCAL SERVER:80
จากภาพจะเห็นได้ว่า การร้องขอของ CLIENT มาที่ GATEWAY พอร์ต 80 ถูกวิเคราะห์และจัดการเปลี่ยนเส้นทางให้ไปที่เครื่อง LOCAL SERVER พอร์ต 80 และในการกระทำครั้งนี้ CLIENT สามารถเข้าถึงเครื่อง LOCAL SERVER จากการเปลี่ยนเส้นทางให้ของเครื่อง GATEWAY
** ระหว่าง CLIENT (Internet) ติดต่อมาที่ GATEWAY นี้ จริง ๆ
แล้วถ้าเป็นเครื่องที่ต่อ ADSL จะต้องผ่าน ADSL Router ก่อนนะครับ
และจะต้องตั้งที่ ADSL Router ให้ Forward port ที่เรากำหนดมาที่เครื่อง
GATEWAY ด้วย รูปข้างบนถึงจะเป็นจริง และทำงานได้
วิธี Forward port ที่ ADSL Router: www.portforward.com
เริ่มกันเลยดีกว่า
ที่ผมเกริ่นไว้ว่าง่าย เพราะ ipmasq ได้เตรียม Rule script ไว้ให้แล้ว
# cp /usr/share/doc/ipmasq/examples/dnat/C50dnat.rul /etc/ipmasq/rules
หลังจากนั้นก็เข้าไปแก้ไข
# vi /etc/ipmasq/rules/C50dnat.rul
เพิ่มเข้าไปตอนท้ายดังนี้
forward tcp 80 192.168.1.2 80
รูปแบบคำสั่ง
forward [protocol] [port] [dest] [dest-port]
protocol: tcp|udp
port: GATEWAY Port
dest: ip|hostname ของเครื่องปลายทาง
dest-port: Port เครื่องปลายทาง
หลังจากนั้น
# /etc/init.d/ipmasq restart
เป็นอันเรียบร้อยครับผม









Recent comments
1 day 18 hours ago
2 days 11 hours ago
1 week 4 days ago
2 weeks 6 days ago
3 weeks 5 days ago
3 weeks 6 days ago
4 weeks 18 hours ago
4 weeks 19 hours ago
4 weeks 1 day ago
4 weeks 3 days ago