การติดตั้ง internet gateway + NAT ด้วยโปรแกรม Shorewall


การติดตั้ง internet gateway + NAT ด้วยโปรแกรม Shorewall

การติดตั้ง internet gateway + NAT ด้วยโปรแกรม Shorewall

วิธีติดตั้ง internet gateway ด้วยโปรแกรม Shorewall
*** แหล่งข้อมูลต้นฉบับ shorewall คือ http://www.shorewall.net

  1. ตัวอย่างข้อกำหนดที่จัดทำ
    • PC นี้มี Lan card 2 ใบ
    • Lan card ใบแรกเป็น eth0 หมายเลข IP 172.20.0.1
      ต่อเชื่อมอยู่กับเครือข่ายอินเทอร์เนตภายนอก
      ตั้งชื่อเครือข่ายว่า net
    • Lan card ใบที่สองเป็น eth1 หมายเลข IP 10.0.0.1
      ต่อเชื่อมอยู่กับเครือข่ายอินเทอร์เนตภายใน
      ตั้งชื่อเครือข่ายว่า loc
    • ต้องการให้ PC ภายในเครือข่ายภายใน(loc)
      สามารถต่อออกไปเชื่อมกับเครือข่ายภายนอก(net)ได้
      โดยใช้วิธี NAT ที่สวมรอยใช้หมายเลข IP 172.20.0.1 ของ eht0
      เชื่อมออกไปหาเครือข่ายภายนอกอื่นๆเพียงเลขเดียว

  2. ติดตั้งโปรแกรม shorewall ด้วยคำสั่ง
    yum  install  shorewall

  3. ต้องมีการแก้ไขแฟ้มใน /etc/shorewall เพื่อให้เหมาะสมกับการใช้งาน

  4. ตรวจสอบหรือแก้ไขแฟ้มชื่อ /etc/shorewall/zones ให้มี zone ชื่อ net และ loc
    ***โดย default ถ้าแฟ้มนี้จะมี zone ชื่อ net และ loc อยู่แล้ว ไม่ต้องเพิ่ม
    ***ชื่อ Zone ว่า dmz ตั้งเผื่อเกินไว้  ไม่มีผลกระทบต่อการทำงาน
    ถ้าเป็นดังตัวอย่าง ก็ไม่ต้องแก้ไขอะไร
    #ZONE                   DISPLAY         COMMENTS
    fw     firewall
    loc  ipv4
    net    ipv4
    dmz  ipv4
    #LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE

  5. แก้ไขแฟ้มชื่อ /etc/shorewall/interfaces ให้มีค่าดังนี้
    • interface eth0 เป็นของ zone ชื่อ net
    • interface eth1 เป็นของ zone ชื่อ loc
    ***การปรับแก้ไขข้อมูลต้องอยู่บรรทัดก่อนบรรทัดสุดท้ายที่ขึ้นต้นว่า #LAST LINE
    ดังตัวอย่าง
    #ZONE    INTERFACE      BROADCAST       OPTIONS
    net     eth0    detect
    loc     eth1    detect
    #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
    *** หมายเหต ถ้าเป็น dhcp server ด้วย ให้เพิ่มคำว่า dhcp เข้าไปในส่วนของ OPTIONS สำหรับ interface ใบนั้น เช่นให้ eth1 เป็น dhcp server ตามตัวอย่าง
    loc     eth1            detect          dhcp


  6. แก้ไขแฟ้มชื่อ /etc/shorewall/policy ให้มีค่าดังนี้
    • อนุญาติให้ PC ตัวนี้ที่เป็น firewall(fw) เชื่อมต่อได้ทุกเครือข่าย
    • อนุญาติให้ PC ในเครือข่าย loc เชื่อมต่อกับไปหาทุกเครือข่ายได้
    • ไม่อนุญาติให้ PC ในเครือข่าย net ติดต่อกับเครือข่ายอื่น
    • การติดต่อในลักษณะอื่นๆจากที่กล่าวมา จะถูกปฏิเสธทิ้งหมด

    ให้ตรวจสอบและแก้ไขเพิ่มเติมตามความจำเป็น
       
    ***โปรดระวังตอนเติมข้อความว่า  fw              all             ACCEPT
        ต้องเติมให้เป็นเงื่อนไขลำดับแรกสุดก่อนเงื่อนไขอื่นๆด้วย

    ***การปรับแก้ไขข้อมูลต้องอยู่บรรทัดก่อนบรรทัดสุดท้ายที่ขึ้นต้นว่า #LAST LINE
    ดังตัวอย่าง
    #SOURCE         DEST            POLICY          LOG             LIMIT:BURST
    #                                               LEVEL
    fw              all             ACCEPT
    loc             all             ACCEPT
    net             all             DROP            info
    #
    # THE FOLLOWING POLICY MUST BE LAST
    #
    all             all             REJECT          info
    #LAST LINE -- DO NOT REMOVE

  7. แก้ไขแฟ้มชื่อ /etc/shorewall/masq ให้มีค่าดังนี้
    • ให้ PC ในเครือข่าย loc บน interface eth0 สวมรอยหมายเลข IP ของเครือข่าย net บน interface eth0
    ***การปรับแก้ไขข้อมูลต้องอยู่บรรทัดก่อนบรรทัดสุดท้ายที่ขึ้นต้นว่า #LAST LINEดังตัวอย่าง
    #INTERFACE              SUBNET          ADDRESS
    eth0            eth1
    #LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE

  8. ในการติดตั้งครั้งแรก
    • สำหรับ shorewall เวอร์ชั่น 2.2.x และ 3.x
      ต้องแก้ไขแฟ้ม /etc/shorewall/shorewall.conf
      ตั้งค่า STARTUP_ENABLED เปลี่ยนจาก no เป็น yes ดังตัวอย่าง
      STARTUP_ENABLED=yes

    • สั่งให้ shorewall ทำงานทุกครั้งที่บูทเครื่องด้วยคำสั่ง
      chkconfig  shorewall  on

  9. ตรวจสอบและแก้ไขแฟ้ม /etc/shorewall/shorewall.conf
    ว่ามีการกำหนดให้มีการ ip forward
    *** โดย default จะกำหนดค่าให้ทำงานคุณสมบัตินี้อยู่แล้ว ดังตัวอย่าง
    IP_FORWARDING=On

  10. สั่งให้ทำงานด้วยคำสั่งว่า
    servcie  shorewall  start
    Starting shorewall:                                         [  OK  ]

  11. สั่งให้ shorewall หยุดทำงานด้วยคำสั่ง
    service  shorewall  stop
    มีผลทำให้ shorewall หยุดทำงานเท่านั้น
    ไม่สามารถเคลียร์ firewall ที่ทำงานค้างอยู่ได้
    ต้องเคลียร์ firewall ที่ตกค้างอยู่ด้วยคำสั่ง
    service  shorewall  clear
    Restarting shorewall:                                       [  OK  ]

  12. ข้อกำหนดอนุญาติใช้งานตามลักษณะ protocol ต่างๆ
    ให้แก้ไขแฟ้ม /etc/shorewall/rules ดังตัวอย่าง

    • อนุญาติให้ทุก ip สามารถติดต่อกับ server นี้ ด้วยคำสั่ง ping
      ACCEPT  all                     fw      icmp    8

    • อนุญาติให้บาง ip สามารถติดต่อกับ server นี้ ผ่าน sshd (tcp port 22)
      ACCEPT  net:10.0.2.0/24      fw      tcp     22
      ACCEPT  net:172.16.4.0/24      fw      tcp     22

  13. หากแก้ไขแฟ้มต่างๆใน /etc/shorewall แล้ว ให้ระบบอ่านค่าที่ปรับใหม่ได้ด้วยคำสั่ง
    service  shorewall  reload
    Restarting shorewall:                                       [  OK  ]

อ้างอิงจาก :  Research and Development Division  psu

หมายเลขบันทึก: 107642เขียนเมื่อ 30 มิถุนายน 2007 17:30 น. ()แก้ไขเมื่อ 6 มิถุนายน 2012 11:02 น. ()สัญญาอนุญาต: จำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (1)

มั่ยรู้เรื่องเลยอะจะ

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