ทำ web server หลัง router ได้ไหมครับ

Monday, March 19, 2012


ปกติเข้า router มันก็จะเป็นหน้า config ครับ

ใช้ forward port ได้หรือไม่ครับ แล้วครั้งต่อไปเราจะเข้า ไป config router ได้อย่างไรครับ

ทำได้ครับ ต้อง telnet ไปที่ไอพีของเราเตอร์ แล้วเปลี่ยน web server port ของ rounter เป็นเลขอื่นเช่น 81

เปลี่ยน port router โดย telnet
Start > run > พิมพ์ cmd > Enter > พิมพ์ telnet 192.168.1.1 (สมมุติว่าเป็น ip ของ rounter) > Enter
มันจะขึ้นให้ใส่รหัสผ่าน ก็ใส่ไปครับ แล้ว กด Enter จากนั้น ใช้คำสั่งตามนี้ ครับ

> sys server load กด enter
> sys server port web 81 (สมมติต้องการเปลี่ยนเป็น port 81) กด enter
> sys server save กด enter

เป็นอันเสร็จครับ ที่นี้ก็ forward port ของ web server เป็น 80 ครับ
เวลาจะเข้าหน้าคอนฟิกของ rounter ก็แค่ระบุเลข port ต่อท้าย ip เช่น 192.168.1.1:81

ประมาณนี้ครับ

เราท์เตอร์บางรุ่นบางยี่ห้อก็สามารถเปลี่ยนพอร์ตได้ในหน้าเว็บคอนฟิกซ์เลยครับ ตามแต่สะดวก

ว่าแต่วา เน็ตของท่าน Fixed IP หรือเปล่าหละครับ ถ้า Fixed ก็โอเค

แต่ถ้าไม่ คงต้องพึ่งพา Free DNS host ต่างๆ นาๆ เข้าได้บ้าง ไม่ได้บ้าง ( ถ้าจ่ายตังค์ จะดีหรือเปล่านั้น ไม่เคยลอง ไม่กล้าฟันเฟิร์ม )

หรือ ถ้าเป็น เว็บเซอร์เวอร์ภายในหน่วยงานเท่านั้น ก็ลุยเลยครับ

ถ้าเน็ตไม่ได้เป็นแบบฟิกไอพี ก็อาจใช้บริการพวก ไดนามิค ดีเอ็นเอส เช่น dyndns หรือ no-ip
ก็ได้ครับ ไว้สำหรับเข้าใช้งานจากภายนอก เช่น
เวลาเข้าเว็บก็แค่พิมพ์ testweb.no-ip.info
จะเข้าคอนฟิกเราเตอร์ ก็ testweb.no-ip.info:81


ผมก็ใช้อยู่ครับ เป็นกล้องวงจรปิด ออนไลน์

ถ้าของ no-ip จะมีโปรแกรมสำหรับส่งค่า ip ไปที่ server ครับ สมัครเสร็จมันจะใหเโหลดมาติดตั้ง

เพิ่มเติมนิดนึง ถ้าจะเทสว่าได้หรือไม่ ให้ลองเข้าจากเน็ตข้างนอกนะครับ ถ้าเข้าผ่านเครื่องในวงแลน
หรือเครื่องที่ทำเป็น server ให้ผ่าน ip ที่เซ็ตไว้ อย่าเข้าผ่าน URL มันจะบอกว่าไม่เจอ server ดังกล่าว .

Wake On Lan คืออะไร

Sunday, March 18, 2012

Wake-On-Lan (WOL)
         เป็นคุณสมบัติที่ทำให้เครื่องที่อยู่ในสภาพ standby หรือ sleep อยู่สามารถตื่น (wake up) ขึ้นมาได้เมื่อมีสัญญาณเข้ามาทางการ์ด LAN ซึ่งคล้ายกับ wake-on-modem ที่พอมีสัญญาณโทรศัพท์เข้ามาทางโมเด็มก็จะปลุกให้เครื่องตื่นขึ้นมาทำงานต่อ ได้ ทำให้สามารถปล่อยให้เครื่องที่ต่อกับ LAN อยู่สามารถเปิดทิ้งไว้ตลอดเวลา ซึ่งเครื่องจะเข้าสู่โหมดประหยัดพลังงานเมื่อไม่มีใครใช้ และจะตื่นกลับขึ้นมาทำงานทันทีที่มีผู้ติดต่อผ่าน LAN เข้ามา ทั้งนี้การ์ด LAN โดยทั่วไปจะต้องมีสายสัญญาณพิเศษสำหรับทำหน้าที่นี้มาให้ โดยเสียบเข้าที่คอนเน็คเตอร์เล็ก ๆ บนเมนบอร์ด (มักอยู่ข้างสล็อตที่เสียบการ์ด LAN นั่นเอง) ถ้าไม่เสียบ คุณสมบัตินี้ก็จะไม่ทำงาน

คอมพิวเตอร์ PC จะมี Function WOL  (Wake on LAN) แปลเป็นไทยได้ว่า ปลุกให้ตื่นด้วยระบบ LAN  หมายถึงเปิดผ่าน lan นั่นเอง
โดยปกติเราจะต้องไปเปิด function wol ใน bios ของ client ด้วยครับ  เวลาเราปิดเครื่องแต่เสียบสาย lan กับ power supply ไว้
ปกติ power Supply จะจ่ายไฟ 5V ออกมาเพื่อเลี้ยงอุปกรณ์ตลอดเวลา   ดังนั้นระบบของ mainboard ก็ยังคงทำงานอยู่
หากมี ข้อมูล Packet ส่งมาในรูปแบบที่ถูกต้อง  คือ MAC Address  และ Magic String  จะทำให้เครื่องนั้นเปิดขึ้นมาได้

พบว่าอุปกรณ์ “Wake On LAN” ทำความเสียหายต่อเพาเวอร์ซัพพลาย
           สิ่งนี้บางทีเนื่องมาจากว่าเพาเวอร์ซัพพลายไม่มีกระแสสำรอง (standby current)มากเพียงพอในการเลี้ยงอุปกรณ์นั้นไว้ (เช่น การ์ด LAN) คุณจำเป็นต้องใช้เพาเวอร์ซัพพลาย ATX ที่มี 800mA บน +5 Vsb (standby) power line สิ่งนี้จำเป็นสำหรับ “Wake On LAN” network cards ส่วนใหญ่ ซึ่งจะใช้ +5V@750 mA ใน Sleep mode ดังนั้นต้องใช้ ATX power supply ที่จ่ายได้อย่างน้อย 800 mA ที่ +5 Vsb output เพื่อหลีกเลี่ยงการก่อความเสียหายต่อเพาเวอร์ซัพพลาย ซึ่งหมายถึงต้องอัปเกรดเพาเวอร์ซัพพลาย

download โปรแกรมสำหรับ WOL ได้ที่นี่ >Download<

1:1 NAT

Friday, March 16, 2012


1:1 (อ่านว่า วัน ทู วัน) NAT, แม็ป 1 public IP กับ 1 private IP , traffic จาก private IP จะถูกแม็ปเป็น public IP ตามที่ได้ทำ 1:1 NAT ไว้และจะแทนที่ outbound NAT ในทางตรงกันข้าม traffic ที่มาจากอินเตอร์เน็ตจะถูกแปลงเป็น private IP และถูกตรวจสอบโดย WAN firewall ruleset ถ้า Firewall Rule นั้นอนุญาตให้ traffic ผ่าน traffic นั้นก็จะผ่านไปยัง internal host ตามต้องการ
ความเสี่ยงของการทำ 1:1 NAT
ความเสี่ยงของการทำ 1:1 NAT มีมากมายเหมือนกับการทำ port forward  ถ้าคุณอนุญาตให้ traffic นั้นผ่านมายังโฮสต์ Firewall Rules ใน WAN เมื่อใดก็แล้วแต่ที่คุณอนุญาคให้ traffic เข้ามา ก็เป้นการอนุญาติให้ traffic ที่เป็นอัตรายเข้ามาด้วยเช่นกัน แต่มีความเสียงที่เพิ่มขึ้นมาอีกนิดสำหรับการทำ 1:1 NAT กล่าวคือ ถ้าคุณใช้ port forward และสร้าง rule สำหรับ port forward นั้น หากมีความผิดพลาดเกิดขึ้นเกี่ยวกับ rule เช่น อนูญาตให้ทุก port เข้ามายัง internal host ได้, traffic ที่ผ่านไปยัง internal host ก็จะมีเพียงแค่ port ที่ได้สร้างไว้ใน port forward เท่านั้น แต่หากเป็น 1:1 NAT , traffic ทั้งหมดก็จะไปยัง internal host นั้นทั้งหมด
การ config 1:1 NAT
อย่างแรกคือ การเพิ่ม Virtual IP สำหรับ public IP ที่จะใช้ทำ 1:1 NAT ตามที่ได้กล่าวมาแล้วในหัวข้อ Virtual IP หลังจากนั้นให้บราวซ์ไปที่ Firewall --> NAT แล้วคลิกที่แท็บ 1:1 คลิกที่ add-button เพื่อเพิ่ม 1:1 NAT ดังรูปที่ 1

edit-1-1-nat
รูปที่ 1 หน้าเว็บสำหรับแก้ไข 1:1 NAT

Interface

เป็นที่สำหรับ external subnet ส่วนใหญ่คือ WAN หรือ OPT WAN interface สำหรับ multi-WAN

External Subnet

IP หรือช่วงของ IP ที่ได้กำหนดไว้แล้วใน Virtual IP คุณสามารถใช้ช่วงของ IP หรือ IP เดียวโดยใช้ Subnet mask เป็นตัวแยก  ถ้าเป็น IP เดียวให้ใช้ subnet mask เป็น 32

Internal Subnet

เป้นที่ที่คุณจะระบุ internal IP address หรือ ช่วงของ IP ที่อยู่ในเน็ตเวิร์คภายในของคุณ IP หรือ ช่วงของ IP สามารถเข้าถึงได้โดยหนึ่งใน internal interface ไม่ว่าจะด้วยการเข้าถึงได้โดยตรงหรือ static route

Description

ส่วนนี้ไม่มีผลอะไรกับการ config แต่ควรจะใส่อะไรที่มีความหมายเพื่อสะดวกต่อการอ้างอิงในอนาคต

nat-entry
รูปที่ 2 การสร้าง 1:1 NAT สำหรับ Mail Server
nat-example
รุปที่ 3 ตัวอย่างการทำ 1:1 NAT
ตัวอย่างช่วง IP ของการทำ 1:1 NAT
1:1 NAT สามารถ config เป็นหลาย IP โดยใช้ CIDR (Classless Inter-Domain Routing) ตามตัวอย่างข้างล่างเป็นการใช้ /30 CIDR
External IPs Internal IPs
10.0.0.64/30 192.168.2.64/30
10.0.0.64 192.168.2.64
10.0.0.65 192.168.2.65
10.0.0.66 192.168.2.66
10.0.0.67 192.168.2.67
ตารางที่ 1 การแม็ปช่วง IP ของ Subnet mask 30 (/30) สำหรับตัวเลขตัวท้ายเหมือนกัน
External IPs Internal IPs
10.0.0.64/30 192.168.2.200/30
10.0.0.64 192.168.2.200
10.0.0.65 192.168.2.201
10.0.0.66 192.168.2.202
10.0.0.67 192.168.2.203
ตารางที่ / การแม็ปช่วง IP ของ Subnet mask 30 (/30) สำหรับตัวเลขตัวท้ายไม่เหมือนกัน

1-1-nat-30-cidr
รูปที่ 4 1:1 NAT สำหรับ /30 CIDR

การ Config Firewall Rules



ในส่วนนี้จะกล่าวถึงแต่ละ option ในหน้าเว็บ Firewall - Rules

Action

ที่ซึ่งคุณสามารถกำหนดให้ Rule นี้ผ่าน (pass), ไม่ให้ผ่าน (Block) หรือ ปฏิเสธ (Reject) ซึ่งผมได้กล่าวไปแล้วในหัวข้อที่ผ่านมา

Disable

ถ้าต้องการปิดการใช้งาน (disable) โดยที่ไม่ต้องลบ Rule นี้ออกจากระบบ ให้ทำเครื่องหมายถูกที่กล่องนี้ มันยังคงแสดงอยู่ใน Firewall Rule แต่เป็นสีเทา ซึ่งหมายถึงอยู่ในสถานะปิดการใช้งาน

Interface

เป็น interface ที่ Firewall Rule นี้ถูกนำไปใช้งาน (Apply) จำไว้ว่า traffic ที่จะถูก filter จะต้องมาจากที่เดียวกันกับที่ที่ interface นั้นอยู่ เช่น การ filter traffic ที่ LAN interface, traffic นั้นต้องมาจากที่ที่ LAN interface นี้ต่ออยู่ traffic ที่มาจาก LAN ปลายทางที่อินเตอร์เน็ตหรือที่ื่อื่น ต้อง filter ที่ LAN interface

Protocol

เป้นที่ที่คุณระบุโปรโตคอลซึ่งตรงกับ Rule นี้ option ส่วนใหญ่ก็มีความหมายในตัวมันเอง เช่น TCP/UDP ก้จะตรงกับ traffice ทั้ง TCP และ UDP ถ้าคุณระบุโปรโตคอลเป็น ICMP  ก็จะมี drop down list อื่นเพิ่มขึ้นมาให้คุณเลือกประเภทของ ICMP โปรโตคอลอื่นๆที่ใช้งานกันทั่วไปก็มีให้เลือกมากมาย

Source

ตรงนี้เป็นที่ที่คุณจะระบุ Source IP, Subnet หรือ Alias ให้ match กับ Firewall Rule คุณสามารถเช็คบ็อกที่ not เพื่อให้เป็นตรงกันข้าม (negate)
ในส่วนของ Type คุณสามารถระบุเป้น any ซึ่งหมายถึง IP Address ใดก้ได้  Single host or alias  จะ match กับ IP หรือ host เดี่ยวๆ หรือ alias Network ซึ่งจะ match ทั้งที่เป็นช่วงของไอพีและ subnet mask อย่างสุดท้ายคือ WAN address, LAN address, LAN subnet, PPTP client and PPoE user
สำหรับ Rule ที่ใช้ TCP และหรือ UDP คุณสามารถระบุ Source port ได้ที่นี่ โดยการคลิกที่ปุ่ม Advance, Source port ซ่อนอยู่ในปุ่ม Advance โดยปกติแล้วเราจะเซ็ตค่านี้เป็น any เพราะว่า TCP และ UDP จะสุ่มพอร์ตจากหมายเลขพอร์ตตั้งแต่ 1024 - 65535 ช่วงพอร์ตจริงอาจจะมีการเปลี่ยนแปลง ขึ้นอยู่กับ OS ของเครื่อง client, Source port ส่วนใหญ่แล้วจะไม่เหมือนกับ Destination port

Source OS

คุณสมบัติหนึ่งของ pfSense คือ ความสามารถในการ Filter ระบบปฏิบัติการ (Operating System) ทำให้คุณสามารถกำหนด Rule เพื่อ Filter ระบบฏิบัติการโดยการเปรียบเทียบ TCP SYN packet  ในช่วงเริ่มต้นของการเชื่อมต่อเน็ตเวิร์คจาก fingerprint ของไฟล์

Destination

เป้นที่ที่คุณระบุไอพีปลายทาง (Destination IP), subnet, alias ที่จะ match กับ Rule ที่จะสร้างขึ้น โปรดดูรายละเอียดเพิ่มเติมของ Source
สำหรับ Rule ที่เป้น TCP และ UDP คุณสามารถระบุพอร์ต ช่วงของพอร์ต (port range) หรือ alias ก็สามารถระบุได้ที่นี่

Log

ถ้า packet ที่ตรงกับ Rule น้ก็ให้เก็บ log ไว้ใน firewall log

Advance Options

ในส่วนนี้เป้นการ config ความสามารถพิเศษของ rule เพื่อจำักัดจำนวน state ต่อ Rule โดยปกติจะไม่มีการระบุค่าไว้ ดังนั้นจึงไม่มีการจำกัดจำนวน state

Limultaneous client connection limit

เป้นการจำหนดจำนวน state  ที่จะเกิดขึ้นกับ Rule นี้ ถ้าเซ็ตไว้ที่ 10 และมี 10 connection สำหรับ Rule นี้แล้ว connection ที่ 11 ก็จะถูก drop  การเชื่อมต่อ 10 connection อาจจะต่างโฮสต์กัน หรือโฮสต์เดียวก็ได้แต่รวมแล้วต้องไม่เกิน 10 connection

Maximum state entry per host

ถ้าคุณต้องการจำกัดจำนวน state ต่อโฮสต์ นี่คือส่วนที่คุณต้องการ คุณสามารถเซ็ตเป็น 10 connection ต่อ source โฮสต์แทนที่จะเป็นทั้งหมด

Maximum new connection / second

วิธีการนี้เป้นการจำกัดอัตราการเพิ่มของจำนวน connection เพื่อไม่ให้เซิร์ฟเวอร์ทำงานหนักเกินไป ตัวอย่างเช่น การจำกัดจำนวน incoming connection มายังเมล์เซิร์ฟเวอร์เพื่อลดจำนวน connection ของ spambot  สามารถใช้กับ outbound traffic rule เพือจำกัดการเพิ่มจำนวน state อย่างรวดเร็ว ของไวรัสคอมพิวเตอร์ คุณสามารถเซ็ทได้ทั้งจำนวน connection และจำนวนช่วงเวลาเป็นวินาที คอมพิวเตอร์เครื่องใดก็แล้วที่มีจำนวนการเชื่อมต่อที่มากเกินตามเวลาที่ตั้ง ไว้ เบื้องหลังของการทำอย่างนี้ก็เพื่อใช้จัดการกับไวรัส

State Timeout in seconds

คุณสามารถกำหนด state timeout สำหรับ traffic ที่ตรงกับ rule นี้เพื่อแทนที่ค่า state timeout ของระบบ connection ใดๆก็แล้วแต่ที่ไม่มีการใช้งาน (idle) ตามช่วงเวลาที่กำหนดก็จะถูกปิด

State Type

มีอยู่สามตัวเลือกที่ pfSense สามารถเลือกได้ตามแต่ละ Rule

Keep State

นี่เป็นค่า default และคุณควรจะเลือกค่านี้

Synproxy state

ตัวเลือกนี้ทำให้ pfSense ทำ proxy TCP connection ที่เชื่อมต่อเข้ามา TCP Connection เริ่มต้นการเชื่อมต่อโดย Three way handshake, packet แรก  คือ SYN from source หลังจากนั้นก็เป็นการตอบกลับจากปลายทาง (ACK response) ซึ่งเป็นการป้องกันการถูกโจมตีแบบ Denial of Service และ SYN floods โดยทั่วไป Rule นี้ก็จะถูกใช้ที่ WAN

none

ตัวเลือกนี้จะไม่รักษา State ของการเชื่อมต่อ ไม่แนะนำให้ใช้

No XML-RPC Sync

การเช็กตัวเลือกนี้ทำให้ rule นี้ทำการ Synchronizing ไปยังสมาชิก CARP ตั่วอื่นๆ CARP จะกล่าวถึงในหัวข้อต่อๆไป

Schedule

คุณสามารถกำหนดตารางการทำงาน (shedule) ของ Rule นี้ได้จากที่นี่ ถ้าเลือกเป้น none หมายถึง Rule นี้มีการใช้งานตลอดเวลา

Gateway

คุณสามารถเลือกเป้น WAN interface หรือ Load balance pool ที่ตรงกับ rule นี้ได้

Description

ใส่รายละเอียดของ Rule นี้ได้ที่นี่เพื่อใช้ในการอ้างอิง ส่วนนี้ไม่มีผลอะไรกับ Rule คุณควรกรอกข้อมูลลงไปเพื่ออธิบาย Rule นี้ ความยาวสูงสุดคือ 52 ตัวอักษร

Virtual IP



pfSense สามารถใช้งานกับหลายๆ public IP ได้ โดยนำไอพีเหล่านี้ไปใช้งานกับ NAT
มีการทำ Virtual IP อยู่ด้วยกัน 3 แบบ คือ Proxy ARP, CARP และ other แต่ละประเภทมีประโยชน์แตกต่างกันตามแต่ละสถานการณ์ ในสภาพแวดล้อมส่วนใหญ่ pfSense จำเป็นต้องใช้ ARP สำหรับ VIP ดังนั้น คุณต้องเซ็ตให้เป็น Proxy ARP หรือ CARP แต่ในสถานการณ์ที่ไม่ต้องการ ARP เช่น เมื่อมีการ route มาจาก ISP มายัง WAN IP ของคุณ คุณต้องใช้ other

Proxy ARP

Proxy ARP ทำงานเฉพาะเลเยอร์ 2 กล่าวคือ จะมีการตอบกลับด้วย ARP Reply เฉพาะไอพีหรือช่วงไอพีที่ได้กำหนดไว้เท่านั้น ทำให้ pfSense forward traffic ที่มายัง IP address ที่ได้ทำ NAT ไว้ ไอพีหรือช่วงของไอพีไม่ได้กำหนดไว้ที่ interface ใดๆของ pfSense เนื่องจากไม่จำเป็น ดังนั้น จึงไม่มี Service ใดๆที่เกี่ยวข้องกับไอพีนี้ใน pfSense ประโยชน์โดยทั่วไป คือ การเพิ่ม public IP ที่ใช้สำหรับ NAT

CARP

CARP ส่วนใหญ่ใช้กับการทำ Redundant หรือมีไฟร์วอลล์มากกว่าหนึ่งตัวทำงานร่วมกัน โดยใช้ CARP แต่บางคนก็ใช้ CARP VIP กับไฟร์วอลล์ตัวเดียว เนื่องจากทำให้สามารถ ping ได้ แต่ต้องกำหนด Firewall Rule ให้ด้วย (ค่าปกติของ Firewall Rule บน WAN คือ ไม่อนุญาตให้ ping) สถานการณ์อื่นๆที่ต้องใช้ CARP VIP คือ FTP Server
pfSense จะไม่ตอบกลับกับการ ping มายัง Proxy ARP และ Other ดังนั้น คุณต้องทำ NAT มายัง internal IP ของคุณถึงจะทำให้ ping ได้

Other

Other VIP ใช้สำหรับไอพีที่ไม่จำเป็นต้องใช้ ARP Reply การเพิ่ม Other VIP ทำให้สามารถนำไอพีไปใช้ได้เมื่อมีการทำ NAT ประโยชน์ที่ได้

การทำ Port Forward ใน pfSense

Port forwards เป้นการอนุญาตให้พอร์ต ช่วงของพอร์ต หรือโปรโตคอลให้สามารถเข้าถึงอุปกรณ์ที่อยู่ในเน็ตเวิรคภายในของคุณ คำว่า port forward เป็นคำที่คนส่วนใหญ่ใช้และเข้าใจกัน แต่ในทางเทคนิคแล้วคำว่า Inbound NAT น่าจะเหมาะสมกว่า เพราะว่าโปรโตคอลที่ใช้ไม่ใช้เพียงแค่ TCP หรือ UDP เท่านั้น ยังรวมไปถึง GRE และ ESP ด้วย การทำ NAT ส่วนใหญ่ใช้กับเซิร์ฟเวอร์ หรือ application อื่นๆที่จำเป็นต้องมีการเข้าถึงจากอืินเตอร์เน็ต

ความเสี่ยงของการทำ Port forward

โดยปกติ pfSense จะไม่อนุญาตให้มีการเชื่อมต่อจากอินเตอร์เน็ตเข้ามา เพื่อป้องกันไม่ให้ใครก็แล้วแต่ที่จะสแกนระบบเพื่อหาช่องว่างในการโจมตี เมื่อคุณเพิ่ม port forward เข้าไป pfSense จะอนุญาตให้ traffic ใดก็แล้วแต่ที่ตรงกับ Firewall Rule มันไม่สามารถแยกความแตกต่างกับ packet ที่เป็นอันตรายได้ ถ้าตรงกันมันก็อนุญาตให้ผ่านไป

Port Forwarding and Local Services

Port forward มีความสำคัญสูงสุดในการทำงานบน pfSense สำคัญกว่า Web interface, SSH และ Service อื่นๆที่คุณสั่งให้ทำงาน ตัวอย่างเช่น ถ้าคุณอนุญาตให้เข้า Web interface ของ pfSense เพื่อจัดการ pfSense ผ่านทาง WAN โดยใช้ HTTPS, TCP port 443 ถ้าคุณเพิ่ม port forward เข้าไปใน WAN สำหรับ TCP port 443 คุณจะไม่สามารถเข้าหน้าเว็บของ pfSense ได้อีก แต่จะไม่ส่งผลกระทบต่อ interface อื่นๆ ส่งผลเฉพาะ interface ที่มี port forward เท่านั้น

การเพิ่ม Port Forwards

Port Foward สามารถจัดการได้จาก Firewall --> NAT แท็บ Port Forward, Rule ในหน้านี้มีวิธีการจัดการเหมือนกับ การ Config Firewall Rules
เริ่มต้นการเพิ่ม port forward ด้วยการคลิกที่ add-button ด้านบนสุดหรือล่างสุดของลิสต์ ดังรูปที่ 1

port-forward
รูปที่ 1 การเพิ่มรายการ port forward

คุณจะได้เห้นหน้าของการแก้ไข port forward ดังรูปที่ 2

edit-port-forward
รูปที่ 2 หน้าสำหรับแก้ไข Port Forward

หลังจากคลิกปุ่ม Save คุณจะกลับไปที่หน้าลิสต์ของ port forward แล้วคุณจะได้เห็น

port-forward-list
รูปที่ 3 รายการ port forward

เพื่อ ให้แน่ใจ คุณอาจจะตรวจสอบที่ Firewall Rule ยน interface ที่ได้ทำ port forward ไว้ ดังรูปที่ 4 คุณอาจจะกำหนด Source ที่อาจจะเข้ามาโดยใช้ Firewall Rule นี้ สำหรับเมล์เซิร์ฟเวอร์ที่มีการส่งเข้ามาจากทั่วโลก การกำหนด Source ดูจะใช้ไม่ได้ในทางปฏิบัติ แต่ SSH หรือ VNC การระบุโฮสต์ที่จะเข้าถึงเซิร์ฟเวอร์ที่ต้องการจึงเป็นสิ่งสำคัญ ดังนั้น จึงควรสร้าง alias สำหรับโฮสต์ดังกล่าวและเปลี่ยน Source จาก any เป็น alias ที่ได้สร้างไว้จึงมีความปลอดภัยมากกว่าการเปิดให้เครื่องใดๆก็ได้เข้ามา ตอนแรกคุณอาจจะทดสอบจากโฮสต์ทั่วๆไปก่อน หลังจากสำเร็จแล้วให้กำหนดโฮสต์ที่จะเข้าถึงตามต้องการ ถ้าทุกอย่างถูกต้อง port forward ควรจะใช้งานได้จากเน็ตเวิร์คภายนอก

ข้อจำกัดของการทำ Port Forward

คุณสามารถ forward 1 port ของ public IP ไปยัง 1 port ของโฮสต์ภายใน (internal host)  ตัวอย่างเช่น คุณมีหนึ่ง public IP คุณสามารถมีหนึ่งเว็บเซิร์ฟเวอร์ที่ใช้ TCP port 80 เพื่อให้บริการเว็บ เซิร์ฟเวอร์อื่นจำเป็นต้องใช้พอร์ตอื่น เช่น 8080 แต่ถ้าคุณมี 5 public IP คุณสามารถมีเว็บเซิร์ฟเวอร์ที่ทำงานที่ TCP port 80 ได้ 5 เซิร์ฟเวอร์ ดูรายละเอียดเพิ่มเติมเกี่ยวกับการทำ Virtual IP
เพื่อให้เครื่องที่อยู่ภายในเข้าถึงเซิร์ฟเวอร์ที่ได้ทำ port forward (เครื่องภายใน) จาก WAN Address อย่างเหมาะสม จำเป้นต้องทำ NAT Reflection ซึ่งจะได้อธิบายในหัวข้อ NAT Reflection คุณควรจะทดสอบ port forward ของคุณอินเตอร์เน็ตที่ต่างที่กัน ไม่ใช่จากเน็ตเวิร์คภายในของคุณ

การ Redirect Port ด้วย Port Forward

ประโยชน์อีกอย่างของการทำ port forward คือการ redirect traffic จาก internal network, port forward ที่ได้ระบุไว้ LAN interface หรือ internal interface อื่นๆ จะ redirect traffic ที่ตรงกันไปยังปลายทางที่ต้องการ เหมือนกับการทำ web transparent proxy ที่คนส่วนใหญ่ทำกัน หรือการทำ SMTP redirect outbound ไปยังเซิร์ฟเวอร์เดียว
หมายเหตุ
ระบบที่คุณจะทำ redirect ต้องอยู่ต่าง interface กันแต่ในไฟร์วอลล์เดียวกัน ในกรณีของ HTTP Proxy Server  ที่มีการทำ redirect port บน LAN, traffic จะออกไปใหนไม่ได้ถ้าไม่มี OPT interface
ตัวอย่าง NAT ใน รูปที่ 5 เป็นการ config ให้ HTTP traffic ทั้งหมดที่เข้ามายัง LAN ทำการ redirect ไปยัง 192.168.10.10 port 3129

redirect http to squid
รูปที่ 5 ตัวอย่างการทำ Redirect โดย Port Forward

โปรดจำไว้ว่าเซร์ฟเวอร์ที่จะทำ redirect ต้องอยู่ต่าง interface กันกับ interface ที่ทำ port forward ตามที่ได้อธิบายไปแล้วข้างต้น
 

Pfsense Thailand Copyright © 2011-2012 | Powered by Blogger