มูลนิธิสื่อเพื่อเยาวชน
ว่าที่ร้อยตรี จิรศักดิ์ กรรเจียกพงษ์

Firewall DMZ


FreeBSD

ว ณ สุราษฎร์ธานี
ได้ยินคำนี้บ่อยๆ ไปลองดูที่เขาแนะนำไว้ เท่าที่ดูก็ใช่ว่าจะยุ่งยากอะไร มากมาย เพราะ DMZ ก็คือการควบคุม จำกัด การเข้าถึงจากภายนอก เปิดบริการเท่าที่จำเป็น และแยกการใช้งานออกจากส่วนอื่นๆ จากภาพข้างล่างแสดงการแยกจาก PF ไปใช้งาน สองส่วน

internet
|
|
PF--------------------->DMZ ( HTTP, FTP, NNTP, SMTP )
|
hub switch
|
(screen lan)

โฮสใน screen lan สามารถออกสู่อินเทอร์เน็ตได้ สามารถเข้าไปยังส่วน bastile host ใน DMZ เพียงบาง โฮสใน DMZ ไม่สามารถออกไปยัง screen และออกสู่ internet ได้เพียงบางส่วน (บาง service)

ดังนั้นการทำ DMZ ก็ไม่น่าจะยุ่งยากอะไร มันขึ้นอยู่กับกฏที่เราจะใส่ใน firewall มากกว่า


kittipong TIPS: Port Redirection บน FreeBSD
เราสามารถใช้หลักการนี้ในการ redirect port ตามความต้องการของเราได้ครับ การ config นี้เราจะต้องทำการติดตั้ง NAT Server และ compile ให้เรียบร้อยก่อนนะครับ จากนั้นให้เราทำการแก้ไขไฟล์ /etc/rc.conf ซึ่งดูจากตัวอย่างดังนี้

ก่อนลุย
=====
เมื่อ natd_interface ของเราคือ 192.168.1.10

1. ในไฟล์ /etc/rc.conf ให้เราแก้ไขหรือเพิ่มเติมบรรทัด natd_flags ซึ่งคำสั่งนี้เป็นการเพิ่มเติม option ของ natd service ดังนี้

natd_flags="-redirect_port tcp 192.168.1.2:25 25"
หมายถึง ให้ทำการ redirect port ไปยัง ip : 192.168.1.2 ที่ port 25 ครับ เมื่อมีการเรียกใช้บริการเข้ามายัง ip ของเราคือ 192.168.1.10 ที่ port 25

หรืออีกลักษณะหนึ่งคือ
natd_flags="-redirect_address 192.168.1.2 xxx.xxx.xxx.xxx"
หมายถึง เมื่อที่การขอใช้บริการ all service and all port ให้ทำการ redirect ไปยัง ip 192.168.1.2 ทั้งหมดครับ

*** ความรู้นี้เราสามารถนำไปประยุกต์ใช้ในการทำ DMZ ได้ครับ หรืออีกอย่างเป็น การ redirect หรือบังคับเส้นทางของการทำงานบนเครือข่ายตามที่เราต้องการ

จริง ๆ แล้วก็ใช้เป็นบางโอกาสครับ แต่เห็นว่ามันทำได้ก็มาแนะนำกันครับผม ipf pf ก็แจ๋วนะ

koob natd สำหรับหลายท่านที่ตามหามานาน
ผมเคยเจอปัญหากับการ forward port จาก ไอพีจริงไปสู่ ip class C
เมื่อก่อนผมเป็นคอ linux แต่เมื่องได้จับ freebsd ทำให้ติดใจในเรื่องการลงโปรแกรมเร็ว ไม่เปลืองทรัพยากร
================
มาว่าเรื่องการ forward port กันต่อดีกว่า
1. จัดการเจ้าแก่นให้เรียบร้อยซะก่อน ถ้าเคยทำมาแล้วก็ผ่านขั้นตอนนี้ไป
options IPFIREWALL
options IPDIVERT
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_VERBOSE
------------------------
2. จัดการกับเจ้า autoexec.bat เอ้ย ไม่ใช่พิมพ์ผิด เจ้า /etc/rc.conf สังเกตไฟล์ที่ชื่อ natd.conf ให้ดีนะครับเราต้องสร้างและแก้ไขมัน
natd_flags="-f /etc/natd.conf"
------------------------------------------------
3.เพิ่มคำสั่งนี้ลงไปใน /etc/natd.conf จะ forward เท่าไหร่ก็ตามสบาย
redirect_port udp 192.168.0.4:53 53
redirect_port tcp 192.168.0.3:80 80
redirect_port tcp 192.168.0.2:25 25
redirect_port tcp 192.168.0.2:110 110
redirect_port tcp 192.168.0.2:143 143
==============================
จากการใช้งานผลปรากฎว่า
1. เครื่องลูกภายในออกเน็ตได้ปกติ
2. เครื่องภายนอกสามารถเรียกใช้งานได้ตามปกติ เช่น ไฟร์วอล์ ip xx.xx.xx.xx (จริง)หรือ www.xxx.com ก็จะ forward ไปหา ip Class C ได้ปกติ
3. เครื่องลูกไม่สามารถเรียก www.xxx.com ได้อาจจะเป็นเพราะ ipfw ป้องกันไว้(อันนี้ไม่รู้ครับ) วิธีแก้ก็ ทำ DNS เจ้า ip Class C ไว้ครับ เช่น web.xxx.com แทน เวลาเครื่องจะใช้เว็บภายในก็ไม่ต้องเรียกผ่าน www.xxx.com แต่เรียก web.xxx.com แทน
============
สรุปครับ
forward port ได้ผลครับ ติดขัดเล็กน้อยตรงที่เครื่องลูกเรียกผ่านเครื่องไฟร์วอลแล้วมันไม่ตีกลับมาห าเจ้าไอพี Clacc C ให้แค่นั้นแหละครับ
==============
ได้ผลยังไง ก็รายงานด้วยนะครับ


ที่มา : http://www.thaibsd.com/webboard/show.php?Category=thaibsd&No=6331

 

http://www.thaibsd.com/webboard/show.php?Category=thaibsd&No=5855

http://www.thaibsd.com/webboard/show.php?Category=thaibsd&No=5872


 

หมายเลขบันทึก: 34207เขียนเมื่อ 15 มิถุนายน 2006 10:34 น. ()แก้ไขเมื่อ 18 มิถุนายน 2012 20:59 น. ()สัญญาอนุญาต: จำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (0)

ไม่มีความเห็น

พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท