การติดตั้ง zeroshell ลงบน hard disk

จาก Wiki Opensource

บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 22-02-2555

ดูแลโดย WIPAT

ปรับปรุงเล็กน้อยเมื่อวันที่ 26-05-2559 โดย วิบูลย์


  • ต้นฉบับจากเวบ http://www.zeroshell.net
  • ทดสอบกับ sysresccd 2.5.0
  • การติดตั้งแบบนี้จะทำลายข้อมูลเดิมใน hard disk ทิ้งทั้งหมด


  1. ระวังข้อจำกัดของ zeroshell ที่พบคือ ไม่สามารถรับรหัสผ่านที่มีเครื่องหมาย $ ได้
  2. เตรียมความพร้อม ให้เสียบสาย LAN ไว้เพียงเส้นเดียว เป็น eth0 หรือ eth1 ก็ได้
    ตอนนี้ก็ยังไม่รู้เหมือนกันว่าระบบจะมองเห็น NIC ที่ต่อไว้เป็น eth0 หรือ eth1
  3. บูทด้วยแผ่นซีดี sysresccd ดาวน์โหลดได้จาก แผ่น sysresccd รุ่นล่าสุด
    ตั้งค่า network ด้วยคำสั่ง net-setup eth0 หรือ net-setup eth1
    หากระบบมี dhcp อยู่แล้ว ก็สามารถใช้คำสั่ง dhcpcd eth0 หรือ dhcpcd eth1 ได้เลย
  4. ตรวจสอบดูว่าสามารถเห็น hard disk ที่ต้องการติดตั้งลงไป ด้วยคำสั่ง fdisk -l
  5. ติดตั้งผ่าน network ตัวอย่างติดตั้งลงบน hard disk ลูกที่เป็น /dev/sda ให้ใช้คำสั่งว่า
    wget http://ftp.psu.ac.th/pub/zeroshell/ZeroShell-3.5.0-USB.img.gz -O- |gunzip -c > /dev/sda
    รอๆๆ จนเสร็จ ใช้เวลาไม่นาน
  6. เสร็จแล้วก็รีบูทเครื่องใหม่ ดึงแผ่นซีดี sysresccd ออก ให้บูทเข้า hard disk โดยตรง ใช้งานได้เลย
    ระบบจะบูททำงานไปจนได้หน้า ZeroHhell - Net Services ... มีเมนูให้เลือกทำงาน
    ให้เลือกเมนู <I> IP Manager เพื่อแก้ไข IP address ด้วยการกดแป้นอักษร i

    ได้หน้าใหม่แสดงผลข้อความตัวอย่างประมาณว่า ETH00 ... (1) 192.168.0.75 / 255.255.255.0 (up)
    ระบบได้ตั้งค่า IP address เป็น 192.168.0.75 ไว้ก่อนแล้ว

    ให้แก้ไขเป็น IP address ที่เราต้องการสมมติว่าเป็น 10.0.1.2 ด้วยการกดแป้นอักษร m
    ได้ข้อความถามประมาณว่า Interface [ETH00] ให้ป้อนข้อความว่า ETH00 แล้วกดแป้น Enter
    ได้ข้อความถามประมาณว่า ETH00 ... (1) 192.168.0.75 / 255.255.255.0 (up) ... IP to Modify [1]: ให้ป้อนอักษร 1 แล้วกดแป้น Enter
    ได้ข้อความถามประมาณว่า IP [192.168.0.75]: ให้ป้อนข้อความว่า 10.0.1.2 แล้วกดแป้น Enter
    ได้ข้อความถามประมาณว่า Netmask [255.255.255.0]: ให้ป้อนข้อความว่า 255.255.255.0 ให้กดแป้น Enter
    ได้ข้อความ IP status [up]: ไม่ต้องป้อนอะไร ให้กดแป้น Enter

    ให้แก้ไขเป็น Default Gateway address ที่เราต้องการสมมติว่าเป็น 10.0.1.1 ด้วยการกดแป้นอักษร g
    ได้ข้อความถามประมาณว่า Default Gateway: ให้ป้อนข้อความว่า 10.0.1.1 แล้วกดแป้น Enter

    กลับออกมาด้วยการกดแป้นอักษร q
    หน้าจอจะกลับมาที่เดิมคือหน้า ZeroHhell - Net Services ...
    ทำเพียงแค่นี้ก็พอแล้ว ค่อยไปปรับแต่งเพิ่มเติมจากผ่านเวบ
  7. ไปที่ PC ตัวอื่น ใช้ browser เปิดไปยัง server ตัวนี้
    ตัวอย่างประมาณว่า http://10.0.1.2 ระบบจะเปลี่ยนทางไปเป็น https://10.0.1.2

    หน้าแรกของเวบ ZeroShell Net Services
    ช่อง Username ให้ป้อนว่า admin
    ช่อง Password ให้ป้อนว่า zeroshell
    แล้วคลิกปุ่ม Login ก็จะเข้าหน้าเวบจัดการระบบ
  8. ตัวอย่างการปรับแต่งระบบผ่านทางหน้าเวบ

    การปรับแต่ง IP address และ GATEWAY
    ให้ไปหน้าแรก ที่ด้านซ้าย เลือกหัวข้อ SYSTEM -> Setup ได้หน้า SETUP ที่ด้านขวาให้เลือกแถบ Network

    การปรับแต่ง DNS
    ให้ไปหน้าแรก ที่ด้านซ้าย เลือกหัวข้อ NETWORK -> DNS ได้หน้า DOMAIN NAME SYSTEM ที่ด้านขวาให้เลือกแถบ Forwarders
    ได้หน้าต่างเวบใหม่ DNS FORWARDERS
    ที่ช่อง Domain ให้ป้อนว่า ANY ที่ช่อง Server ให้ป้อนเลข ip ของ DNS server ที่ต้องการ แล้วคลิกปุ่ม Add
  9. ตัวอย่างการใช้งานเป็น internet gateway ที่มีข้อกำหนดังนี้
    eth0 ยังคงเป็นเลข ip 10.0.1.2 ให้ eth1 มีเลข ip เป็น 10.0.3.1 netmask 255.255.255.0
    เครือข่ายภายใน 10.0.3.0 จะวิ่งผ่าน 10.0.3.1 -> 10.0.1.2

    จัดการเสียบสาย LAN ให้กับ eth1 ให้เรียบร้อย
    ปรับแต่ง IP address และ GATEWAY ให้กับ eth1
    ให้ไปหน้าแรก ที่ด้านซ้าย เลือกหัวข้อ SYSTEM -> Setup ได้หน้า SETUP ที่ด้านขวาให้เลือกแถบ Network
    ให้ติ๊กเลือก ETH01 แล้วไปด้านขวาคลิกปุ่ม AddIP ได้หน้าต่างเวบใหม่ IP Configuration (ETH01)
    ที่ช่อง IP ให้ป้อนข้อความว่า 10.0.3.1 ที่ช่อง Netmask ให้ป้อนเปลี่ยนเป็นว่า 255.255.255.0 แล้วคลิกปุ่ม OK
    ทำเพียงแค่นี้ก็เป็น internet gateway แล้ว
  10. ตัวอย่างการปรับปรุงเพิ่มให้เป็น internet gateway แบบ NAT
    เครือข่ายภายใน 10.0.3.0 จะวิ่งผ่าน 10.0.3.1 -> 10.0.1.2 แบบ NAT ด้วยเลข 10.0.1.2

    ให้ไปหน้าแรก ที่ด้านซ้าย เลือกหัวข้อ NETWORK -> Router ได้หน้า ROUTER ที่ด้านขวาให้เลือกแถบ NAT
    ได้หน้าต่างเวบใหม่ Network Address Translation ที่ส่วนของ Available Interfaces ให้เลือกเป็น ETH00
    แล้วคลิกปุ่มเครื่องหมาย >>> ที่ส่วนของ NAT Enabled Interfaces จะมี ETH00 เพิ่มขึ้นมา ให้คลิกปุ่ม Save
    ทำแค่นี้ก็เป็น internet gateway แบบ NAT ตามต้องการแล้ว
  11. ตัวอย่างการปรับปรุงเพิ่มให้เป็น DHCP server ด้วย
    โดยให้ eth1 เป็น dhcp server ด้วย สมมติว่าจ่ายเลข ip ระหว่าง 10.0.3.100 - 10.0.3.200 ให้ทำดังนี้

    ให้ไปหน้าแรก ที่ด้านซ้าย เลือกหัวข้อ NETWORK -> DHCP ได้หน้า DHCP SERVER ไปที่ด้านขวาให้คลิกปุ่ม New
    ได้หน้าต่างเวบใหม่ New DHCP Subnet definition
    ที่ช่อง Available ให้คลิกเลื่อนไปที่ตัวเลือกว่า 10.0.3.0/255.255.255.0(ETH01)
    ค่า Network ถูกเปลี่ยนเป็น 10.0.3.0 ค่า Netmask ถูกเปลี่ยนเป็น 255.255.255.0 โดยอัตโนมัติ ให้คลิกปุ่ม OK
    ได้กลับมที่หน้าเบ New DHCP Subnet definition ที่ด้านขวาช่อง Subnet ถูกเลือกให้เป็น 10.0.3.0/255.255.255.0
    ไปที่ส่วนของ Dynamic IP Configuration ที่ Range1 ช่องแรกให้ป้อนว่า 10.0.3.100 ช่องถัดไปให้ป้อนว่า 10.0.3.200
    ที่ส่วนของ Subnet Options ช่อง Default Gateway และ DNS 1 ยังคงเป็นค่าเดิม 10.0.3.1 แล้วคลิกปุ่ม Save
    ทำแค่นี้ก็สามารถเป็น internet gateway ที่เป็น DHCP server ด้วย
  12. ตัวอย่างการปรับปรุงเพิ่มให้มี captive portal ด้วย
    โดยให้ eth1 มีระบบ captive portal ที่ทำการ authen กับ radius server ภายนอก
    กำหนดให้ radius server มีเลข IP เป็น 10.0.3.56 มี secret key ว่า mytestkey ให้ทำดังนี้

    ให้ไปหน้าแรก ที่ด้านซ้าย เลือกหัวข้อ USERS -> Captive Portal ได้หน้า Captive Portal
    ให้เลือกแถบ Gateway ที่ช่อง GW ให้ติ๊กเลือก Active on
    ที่ด้านขวาช่อง Interface ให้เปลี่ยนไปเลือกเป็น ETH01 แล้วคลิกปุ่ม Save
    ได้กลับมาที่หน้า Captive Portal ให้เลือกแถบ Authentication
    ได้หน้าเวบ Web Login Authentication Server ที่ด้านขวา ส่วนของ Authorized Domains ให้คลิกปุ่ม Proxy RADIUS
    ได้หน้าต่างเวบใหม่ RADIUS PROXY DOMAINS ที่ช่อง Type ให้ยังคงเลือกเป็น Remote
    ที่ช่อง Domain ให้ตั้งตามใจชอบตัวอย่างนี้ใส่ว่า mynet ไม่ต้องติ๊กช่อง No Strip
    ที่ช่อง Proxy Server IP ให้ป้อนเลข 10.0.3.56 ไม่ต้องติ๊กช่อง LB ที่ช่อง Auth Port ให้ป้อนเลข 1812
    ไปขวาสุดที่ช่อง Accounting ให้เปลี่ยนไปเลือกเป็น Proxy แล้วกลับมาที่ช่อง Acct Port ป้อนว่า 1813
    ที่ช่อง Shared Secret ป้อนข้อความว่า mytestkey แล้วไปมุมขวาบน คลิกปุ่มเครื่องหมาย +
    จะปรากฎรายการ Realm ชื่อ mynet ที่ได้ตั้งค่าตามที่ป้อนเข้าไป เพิ่มขึ้นมาอีกรายการ คลิกปุ่ม Close
    ได้กลับมาที่หน้าเวบ Web Login Authentication Server ที่ด้านขวา ส่วนของ Authorized Domains ให้คลิกปุ่มเครื่องหมาย +
    ได้หน้าต่างเวบใหม่ Authorized Domain ที่ช่อง Domain Name ให้ป้อนว่า mynet (ให้เหมือนกับที่เคยสร้างไว้ก่อนแล้ว)
    ที่ช่อง Domain Type ยังคงให้เป็น RADIUS Proxy Domain... เหมือนเดิม ไม่ต้องแก้ไขอะไร แล้วคลิกปุ่ม Save
    ได้กลับมาที่หน้าเวบ Web Login Authentication Server
    ที่ส่วนของ X.509 อย่าติ๊ก Do not use HTTPS (Encryption) แล้วไปที่ด้านขวาให้คลิกปุ่ม Save
    ทำแค่นี้ก็จะได้ captive portal ใช้งานแล้ว ทดสอบผลงานได้เลย

    ลองใช้ PC บนเครือข่าย 10.0.3.0 ใช้งานอินเทอร์เนตผ่านเวบ
    ระบบ captive portal จะ redirect ไปยังหน้าเวบ https://10.0.3.1:12080
    ซึ่งเป็นหน้าเวบ Captive Portal Web Login
    ให้ป้อน Username Password และเลือก Domain เป็น mynet ให้ถูกต้อง แล้วคลิกปุ่ม Network Access
    หากไม่ถูกต้อง หน้าเวบจะถูก redirect ไปที่ Access Denied !!!
    หากถูกต้อง หน้าเวบจะถูก redirect ไปยังเวบที่ต้องการ
    และจะมีหน้าต่างเวบใหม่บอกสถานะ Network Access เพิ่มขึ้นมา
  13. ตัวอย่างการปรับปรุงให้ captive portal สามารถ authen กับ radius server ที่ ตั้งค่า REALM authen กับ @my.domain ทำดังนี้
    ให้ไปหน้าแรก ที่ด้านซ้าย เลือกหัวข้อ USERS -> Captive Portal
    ได้หน้า Captive Portal ให้เลือกแถบ Authentication
    ได้หน้าเวบ Web Login Authentication Server ที่ด้านขวา ส่วนของ Authorized Domains ให้คลิกปุ่ม Proxy RADIUS
    ได้หน้าต่างเวบใหม่ RADIUS PROXY DOMAINS ที่ช่อง Type ให้ยังคงเลือกเป็น Remote
    ที่ช่อง Domain ให้ใส่ว่า my.domain ต้องติ๊กช่อง No Strip ด้วย
    ที่ช่อง Proxy Server IP ให้ป้อนเลข 10.0.3.56 ไม่ต้องติ๊กช่อง LB ที่ช่อง Auth Port ให้ป้อนเลข 1812
    ไปขวาสุดที่ช่อง Accounting ให้เปลี่ยนไปเลือกเป็น Proxy แล้วกลับมาที่ช่อง Acct Port ป้อนว่า 1813
    ที่ช่อง Shared Secret ป้อนข้อความว่า mytestkey แล้วไปมุมขวาบน คลิกปุ่มเครื่องหมาย +
    จะปรากฎรายการ Realm ชื่อ mynet.domain ที่ได้ตั้งค่าตามที่ป้อนเข้าไป เพิ่มขึ้นมาอีกรายการ คลิกปุ่ม Close
    ได้กลับมาที่หน้าเวบ Web Login Authentication Server ที่ด้านขวา ส่วนของ Authorized Domains ให้คลิกปุ่มเครื่องหมาย +
    ได้หน้าต่างเวบใหม่ Authorized Domain ที่ช่อง Domain Name ให้ป้อนว่า my.domain ที่สร้างไว้แล้ว
    ที่ช่อง Domain Type ยังคงให้เป็น RADIUS Proxy Domain... เหมือนเดิม ไม่ต้องแก้ไขอะไร แล้วคลิกปุ่ม Save

    ทดสอบใช้งานได้เลย ต้องป้อน username ให้มี @my.domain ติดเข้าไปด้วย
  14. รอแก้ bug ที่ captive portal authen ที่ไม่รับอักษร $ ใน password
    ปัญหามาจากแฟ้ม kerbynet ที่เป็น java binary แปลงเครื่องหมาย $ กลายเป็น _

    แฟ้มที่เกี่ยวข้องคือ
    /root/kerbynet.cgi/scripts/radiusauth
    /cdrom/usr/local/apache2/cgi-bin/kerbynet
    /cdrom/usr/local/apache2/cp/cgi-bin/zscp