Latest Entries »

Update Pi-hole

หลังจากที่ได้ใช้ Pi-hole เพื่อบล็อคโฆษณามาซักพัก ก็ทำงานได้ดี แล้วก็ลืมไปเลยว่าเคยมีอยู่ พอวันนี้มาเปิดดูพบว่ามีเวอร์ชั่นใหม่ออกมาอีกเยอะเลย งั้นมาอัพเกรดกันดีกว่า

ขั้นตอนการอัพเกรดสามารถทำได้โดย
1. SSH ไปที่ Linux ที่ลง Pi-hole ด้วยคำสั่ง putty pi-hole.domain.com
2. รันคำสั่ง pihole -v เพื่อตรวจสอบเวอร์ชั่น

3. สั่งอัพเกรดด้วยคำสั่ง pihole -up (อาจต้องใส่ sudo ข้างหน้าด้วย ขึ้นอยู่กับ user ที่ล็อกอิน)

4. รอซัก 1-2 นาทีก็อัพเกรดเสร็จ

5. ถ้าลองมาตรวจสอบในหน้า web admin ก็จะแสดงเป็นเวอร์ชั่นใหม่เช่นกัน

6. แล้วเราก็จะได้หน้ากราฟสวยๆ กลับมาแล้ว ว่าแต่ 5.2.4 กับ 5.0 มันต่างกันตรงไหนหว่า ขอไปอ่าน releases note ก่อนนะ

สิ่งที่เราอาจจะเจอเมื่อหิ้ว Apple TV มาใช้งานกับ Wifi โรงแรมคือต้องทำ authentication เช่นกรอกเลขห้องและนามสกุล (ชื่ออย่างเป็นทางการคือ captive portal authentivation) ซึ่งปัญหานี้จะไม่เกิดกับอุปกรณ์ทั่วไปที่มี web browser แต่กับ Apple TV จะไม่สามารถ ทำงานได้ เพราะลุงทิมและลุงจ๊อบไม่ยอมใส่ web browser น่ะซิ ปัญหาก็เลยเกิด

แต่เราก็มีวิธีแก้ปัญหาเหมือนกัน แต่อาจจะเหนื่อยนิดนึง วิธีที่สามารถทำได้คือ

  1. จด mac address ของ Apple TV แล้วถอดปลั๊กไฟซะ
  2. เอา mac address ดังกล่าวมาใส่ Macbook หรือ Windows
  3. authenticate ผ่าน web browser ด้วย mac address ตามปกติ
  4. เปลี่ยน mac address กลับเป็นของเดิม
  5. เสียบสายไฟที่ Apple TV แล้วก็ใช้งานได้เลย

การเปลี่ยน mac address ใน OSX สามารถทำได้โดยรันคำสั่ง

sudo ifconfig en0 ether 08-66-98-xx-xx-xx

เรื่องที่แปลกคือ OSX Big Sur ต้องรันคำสั่งดังกล่าว 3 ครั้งรัวๆ ถึงจะได้ผล ทำไม่น่ะเหรอ ไม่รู้เหมือนกันครับ ใครรู้ช่วยบอกที

การอัพเกรด ESXi สามารถทำได้หลายวิธี ปกติผมจะใช้วิธีสร้าง USB Boot ESXi Installer แต่วันนี้จะมาใช้วิธี online upgrade ผ่าน cli

โดยเริ่มจาก
1) SSH หรือ console ที่ ESXi ขอละไม่พูดถึงวิธีเปิด service ดังกล่าวนะครับ
2) จากนั้นพิมพ์ vmware -v เพื่อตรวจสอบเวอร์ชั่นก่อนอัพเกรด

[root@NUC-1:~] vmware -v
VMware ESXi 6.0.0 build-3620759
[root@NUC-1:~]

3) เปิดไฟร์วอลล์ด้วยคำสั่ง

[root@NUC-1:~] esxcli network firewall ruleset set -e true -r httpClient
[root@NUC-1:~]

4) list เวอร์ชั่นอัพเกรดที่มี

[root@NUC-1:~] esxcli software sources profile list -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml | grep -i ESXi-6.5 | sort

จะได้ผลลัพธ์เป็น

ESXi-6.5.0-20170104001-no-tools VMware, Inc. PartnerSupported
ESXi-6.5.0-20170104001-standard VMware, Inc. PartnerSupported
ESXi-6.5.0-20170301001s-no-tools VMware, Inc. PartnerSupported
ESXi-6.5.0-20170301001s-standard VMware, Inc. PartnerSupported
ESXi-6.5.0-20170304001-no-tools VMware, Inc. PartnerSupported
ESXi-6.5.0-20170304001-standard VMware, Inc. PartnerSupported
ESXi-6.5.0-20170304101-no-tools VMware, Inc. PartnerSupported
ESXi-6.5.0-20170304101-standard VMware, Inc. PartnerSupported
ESXi-6.5.0-20170404001-no-tools VMware, Inc. PartnerSupported
ESXi-6.5.0-20170404001-standard VMware, Inc. PartnerSupported
ESXi-6.5.0-20170701001s-no-tools VMware, Inc. PartnerSupported
ESXi-6.5.0-20170701001s-standard VMware, Inc. PartnerSupported
ESXi-6.5.0-20170702001-no-tools VMware, Inc. PartnerSupported
ESXi-6.5.0-20170702001-standard VMware, Inc. PartnerSupported
ESXi-6.5.0-20171004001-no-tools VMware, Inc. PartnerSupported
ESXi-6.5.0-20171004001-standard VMware, Inc. PartnerSupported
ESXi-6.5.0-4564106-no-tools VMware, Inc. PartnerSupported
ESXi-6.5.0-4564106-standard VMware, Inc. PartnerSupported
[root@NUC-1:~]

no-tools หมายถึงไม่รวม VMware Tools
standard จะรวม VMware Tools มาด้วย แต่จำนวนข้อมูลที่ต้องดาวโหลดก็มาขึ้นอีกนิดหน่อย

5) สั่งอัพเกรด ด้วยเวอร์ชั่นที่ต้องการ

[root@NUC-1:~] [root@NUC-1:~] esxcli software profile update -p ESXi-6.5.0-20170104001-standard -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml

จะได้ผลลัพธ์ยาวมาก ตัวยย่างข้างล่างตัดมาแค่บางส่วน แต่ตอนต้นๆ จะมีบอกว่า “Reboot Required: true”

Update Result
   Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
   Reboot Required: true
   VIBs Installed: VMW_bootbank_ata-libata-92_3.00.9.2-16vmw.650.0.0.4564106, VMW_bootbank_ata-pata-amd_0.3.10-3vmw.650.0.0.4564106, VMW_bootbank_ata-pata-atiixp_0.4.6-4vmw.650.0.0.4564106, VMW_bootbank_ata-pata-cmd64x_0.2.5-3vmw.650.0.0.4564106, VMW_bootbank_ata-pata-hpt3x2n_0.3.4-3vmw.650.0.0.4564106, VMW_bootbank_ata-pata-pdc2027x_1.0-3vmw.650.0.0.4564106, VMW_bootbank_ata-pata-serverworks_0.4.3-3vmw.650.0.0.4564106, VMW_bootbank_ata-pata-sil680_0.4.8-3vmw.650.0.0.4564106, VMW_bootbank_ata-pata-via_0.3.3-2vmw.650.0.0.4564106, VMW_bootbank_block-cciss_3.6.14-10vmw.650.0.0.4564106, VMW_bootbank_char-random_1.0-3vmw.650.0.0.4564106, VMW_bootbank_ehci-ehci-hcd_1.0-

6) เสร็จแล้วก็ปิดไฟร์วอลล์ ที่เปิดไว้ด้วยคำสั่ง

[root@NUC-1:~] esxcli network firewall ruleset set -e false -r httpClient


7) แล้วก็ reboot

[root@NUC-1:~] reboot

8) ถ้าอยากตรวจสอบก็ SSH เข้าไปรัน vmware -v อีกครั้ง

[root@NUC-1:~] vmware -v
VMware ESXi 6.0.0 build-4887370
[root@NUC-1:~]

อ้างอิงจาก
How to Upgrade ESXi 6.0 to 6.5 via CLI [On Line]

โดยค่ามาตรฐาน VMware vSphere ESXi สามารถทำงานร่วมกับ Synology NAS ได้ทั้ง iSCSI และ NFS แต่จะมีเฉพาะ iSCSI เท่านั้นที่สามารถทำ hardware acceleration เป็นค่าดีฟอล์ท ซึ่งหากใช้เป็น NFS จะทำให้มีปัญหา performance ได้ ต้องติดตั้งเพิ่มต่างหาก

เริ่มต้นสังเกตุที่ NFS datastore จะบอกว่า Unsupported

ดังนั้นจึงจำเป็นต้องติดตั้งไดรเวอร์หรือ vib ของ Synology NFS เสียก่อน โดยสามารถดาวน์โหลดได้ที่นี่ synonfs-vaai-plugin-1.1-1004.vib และ esx-nfsplugin.vib

แล้วก็อัพโหลดเข้าไปใน ESXi (อย่าลืมไป enable SSH service ก่อนนะครับ) ในรูปผมอัพโหลดด้วย FileZilla ง่ายดี

แล้วก็ connect ด้วย SSH ไปที่ ESXi

[root@NUC-3:~] esxcli software vib install -v /tmp/esx-nfsplugin.vib --no-sig-check

Installation Result
    Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
    Reboot Required: true
    VIBs Installed: Synology_bootbank_esx-nfsplugin_1.0-1
    VIBs Removed:
    VIBs Skipped:
[root@NUC-3:~]
[root@NUC-3:~] esxcli software vib install -v /tmp/synonfs-vaai-plugin-1.1-1004.vib --no-sig-check
Installation Result
    Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
    Reboot Required: true
    VIBs Installed: Synology_bootbank_synonfs-vaai-plugin_1.1-1004
    VIBs Removed:
    VIBs Skipped:
[root@NUC-3:~]

หลังจากนั้น reboot ESXi ก็จะใช้งานได้ หากต้องการตรวจสอบหลังจาก reboot สามารถเข้าไปดูได้ที่

[[root@NUC-3:~] esxcli software vib list | grep 'nfs'
esx-nfsplugin 1.0-1 Synology VMwareAccepted 2017-10-22
synonfs-vaai-plugin 1.1-1004 Synology VMwareAccepted 2017-10-22
[root@NUC-3:~]

เมื่อตรงสอบผ่าน vSphere Web Client ก็จะเห็นเป็น Supported แบบนี้

อ้างอิงจาก
How do I install Synology NFS VAAI Plug-in on an ESXi host?
Synology NFS Plug-in for VMware VAAI

ในวินโดวส์รุ่นใหม่ๆ เราสามารถคำนวณ file integrity checking โดยที่ไม่ต้องติดตั้งโปรแกรมอื่นเพิ่มเติมเพียงใช้คำสั่ง Get-FileHash ดังนี้

PS D:\Software> Get-FileHash .\VMware-VCSA-all-6.5.0-5178943.iso

Algorithm Hash Path
--------- ---- ----
SHA256 328B6842A980287E5268CF657152C7D4746DBE2EF2DCE999E759BB9BB0DA3119 D:\Software\VMware-VCSA-all-6.5.0-5178943.iso

ซึ่งถ้าดูลำบากอาจเพิ่ม Format-List แบบนี้

PS D:\Software> Get-FileHash .\VMware-VCSA-all-6.5.0-5178943.iso | Format-List

Algorithm : SHA256
Hash : 328B6842A980287E5268CF657152C7D4746DBE2EF2DCE999E759BB9BB0DA3119
Path : D:\Software\VMware-VCSA-all-6.5.0-5178943.iso

ถ้าอยากได้ MD5 หรือ hash algorithm อื่นๆ ก็ระบุลงไปตามต้องการ

PS D:\Software> Get-FileHash .\VMware-VCSA-all-6.5.0-5178943.iso -Algorithm MD5 | Format-List

Algorithm : MD5
Hash : 59B457E5FFC1A59D3E784CCFC2DF1745
Path : D:\Software\VMware-VCSA-all-6.5.0-5178943.iso

แต่ถ้าวินโดวส์เก่าๆ ที่ไม่มี PowerShell ก็สามารถไปดาวน์โหลด utility Microsoft File Checksum Integrity Verifier (FCIV) ได้ ที่นี่ เช่นเดิมครับ

อ้างอิงจาก Microsoft MSDN Get-FileHash

ไลเซ่นของบริษัทไมโครซอร์ฟจะมีการขายขาดอยู่ 3 ลักษณะ

    1) OEM License – เป็นชนิดที่มีราคาถูกที่สุด แต่มีเงื่อนไขคือต้องซื้อพร้อมกับเครื่องคอมพิวเตอร์ที่ส่งมาจากผู้ผลิตมาซื้อทีหลังไม่ได้ และถ้าเครื่องคอมพิวเตอร์หาย ถูกขโมย หรือหมดอายุไม่สามารถย้ายไปใช้ที่เครื่องอื่นได้
    2) Open License – เป็นลักษณะที่ซื้อเป็นจำนวนมาก 5 ข้อดีคือสามารถใช้คีย์เดียวกันในการ activate ได้ สามารถย้ายเครื่องได้ แต่ราคาจะแพงกว่า OEM
    3) FPP – เป็นการซื้อซอร์ฟแวร์ที่อยู่ในกล่อง มีคู่มือการใช้และคำอธิบายมาด้วย ราคาจะแพงที่สุด

โดยปกติการขายให้กับหน่วยงานและบริษัทจะเป็นแบบ Open License ยกเว้นต้องการราคาที่ถูกอาจขายเป็นแบบ OEM ครับ ทั้งนี้ไม่รวมไลเซ่นชนิดที่เป็น subscription base เช่น Office 365 หรือ MSDN นะครับ

ดังนั้นถ้าเห็นแก่ว่าของถูกแม้จะ activate Windows ได้ แต่ถ้าใช้ผิดชนิดก็มีโอกาสที่ BSA จะมาเยี่ยมและถูกปรับอยู่ดีครับ

ถ้าข้อมูลที่ผมผิดหรือไม่ครบ รบกวนช่วยแจ้งด้วยนะครับ เนื่องจากไม่ได้ขายไมโครซอร์ฟมาหลายปีแล้ว

โดยปกติ VMware ESXi ที่เป็นเวอร์ชันฟรีที่ไม่มี license ของ vCenter Server ๗ะไม่สามารถใช้คำสั่ง clone ได้ แต่อย่างไรก็ตามเรายังสามารถ copy vmdk file ผ่านทาง command line ได้ แล้วค่อยสร้าง VM ตัวใหม่ให้มาเรียกใช้ vmdk file ทีหลังก็ได้ ซึ่งสามารถทำได้โดยใช้คำสั่ง vmkfstools

เริ่มจาก
1) สร้าง directory สำหรับ VM ใหม่ ชื่อว่า Server2

[root@ESXi-1:~] cd /vmfs/vmfs/volumes/volume_A
[root@ESXi-1:/vmfs/volumes/volume_A] mk Server2

2) ใช้คำสั่ง vmkfstools แล้วตามด้วย -i source_vmdk destination_vmdk และระบุชนิดของดิสก์ด้วย -d thin ดังนี้

[root@ESXi-1:/vmfs/volumes/volume_A] vmkfstools -i ./Server1/Server1.vmdk ./Server2/Server2.vmdk -d thin

3) รอจนครบ 100% ระยะเวลาขึ้นอยู่กับขนาดของไฟล์ vmdk และความเร็วของ datastore

[Destination disk format: VMFS thin-provisioned
Cloning disk './Server1/Server1.vmdk'...
Clone: 100% done.

สำหรับ syntax และ option อื่นๆ ของ vmkfstools สามารถดูได้ที่ Cloning or Converting a Virtual Disk or RDM

ในการทำระบบ Active Directory เรามักจะสร้าง domain controller อย่างน้อย 2 เครื่องเพื่อให้ระบบมี high availability ที่สูงขั้น เผื่อเครื่องหนึ่งหยุดทำงานระบบจะได้ไม่หยุดชะงัก และในบางครั้งที่หน่วยงานมีการทำ security ในคอนเซป least privilege คือไม่ยอมให้ account Administrator แต่ให้สร้างเป็น account ธรรมดาที่มีสิทธิ์ขั้นต่ำแค่ promote domain controller ได้เท่านั้น สามารถทำได้โดยเพิ่ม account ดังกล่าวเข้าในกรุ๊ปดังต่อไปนี้

  • Domain Admins
  • Enterprise Admins
  • Schema Admins

แต่อย่างไรก็ตาม account ดังกล่าวก็ยังไม่สามารถ login เข้าไปในเครื่อง domain controller เพื่อตรวจสอบการทำงานหลังจาก promote ได้ เพื่อให้ login ได้จำเป็นต้องเพิ่มอีก 1 กรุ๊ปคือ

  • Administrators

สังเกตุว่าถ้าเป็นกรุ๊ปจะมี “s” ต่อท้าย แต่ถ้าเป็นผู้ใช้งาน (คน) จะไม่มี “s” เช่น Administrators กับ Administrator

รูปข้างล่างแสดง tab Member Of ซึ่งจะบอกได้ว่าอยู่ในกรุ๊ปไหนบ้างMinimum_Privilege_to_Promote_Domain_Controller_1
สำหรับ Domain Users จะเป็นกรุ๊ปที่ถูกเพิ่มโดยอัตโนมัติเวลาสร้างผู้ใช้งานใหม่

สำหรับคนที่ใช้ VMware ESXi ตั้งแต่เวอร์ชั่น 6.0 Update 2 ขึ้นไป (ตอนนี้ยังไม่มีใหม่กว่านี้ แต่เขียนเผื่อไว้ก่อน) สามารถบริหารจัดการ VMware ESXi ได้โดยไม่จำเป็นต้องติดตั้ง vSphere Client ก่อนใช้งาน โดยสามารถเปิดใช้งานผ่านเวปบราวเซอร์ได้เหมือนกับ vSphere Web Client แบบไม่ต้องมี vCenter Server ด้วย

วิธีการใช้งานคือ
1) เปิดเวปบราวเซอร์ แล้วกรอก IP หรือ name ของ ESXi จะพบว่ามีเมนูใหม่เพิ่มมาคือ Open the VMware Host Client คลิ๊กได้เลยVMware_Host_Client_1

2) จะพบหน้าให้ login ก็ใช่ user กับ password แล้วก็ login
VMware_Host_Client_2

3) เราสามารถบริหารจัดการได้เหมือนกับ vSphere Client เลย เพียงแค่เมนูอยู่คนละที่เท่านั้น โดยมีฟีเจอร์ที่น่าสนใจคือสามารถเปิด console ของ VM ภายในเหน้าเดิมได้ ไม่ต้องติดตั้ง plugin ใดๆ เพิ่มด้วย
VMware_Host_Client_3

ใครที่ดูแลระบบ Active Directory แล้วรันคำสั่ง dcdiag อาจจะเจอ error เกี่ยวกับ NCSsecDesc ตามตัวอย่างด้านล่าง

Starting test: NCSecDesc
  Error NT AUTHORITY\ENTERPRISE DOMAIN CONTROLLERS doesn't have
      Replicating Directory Changes In Filtered Set
  access rights for the naming context:
  DC=ForestDnsZones,DC=company,DC=co,DC=th
  Error NT AUTHORITY\ENTERPRISE DOMAIN CONTROLLERS doesn't have
      Replicating Directory Changes In Filtered Set
  access rights for the naming context:
  DC=DomainDnsZones,DC=company,DC=co,DC=th
  ......................... SERVER01 failed test NCSecDesc

อ้างอิงจาก Microsoft KB967482 ไม่ต้องตกใจนะครับ มันเป็น error ที่จะเกิดขึ้นเมื่อไม่ได้รัน adprep /rodcprep ซึ่งถ้าคุนไม่ได้ใช้ read only domain controller (RODC) ก็สามารถปล่อยข้าม error นี้ได้

แต่ถ้าไม่สบายใจอยากให้มันหายไปเลยก็สามารถทำได้โดย เพิ่ม permission ให้กับ ENTERPRISE DOMAIN CONTROLLERS ให้มีสิทธิ์ Replicating Directory Changes In Filtered Set ที่ DC=ForestDnsZones,DC=company,DC=co,DC=th และ DC=DomainDnsZones,DC=company,DC=co,DC=th ได้ตามรูปข้างล่างครับ

1) เปิด ADSI Edit แล้วใส่ Connection Point ไปที่ DC=ForestDnsZones,DC=company,DC=co,DC=th จากนั้นกด OK
DCDIAG_NCSecDesc_Fail_1

2) ขยาย แล้วคลิ๊กขวาที่ ForestDnsZones เลือก Properties
DCDIAG_NCSecDesc_Fail_2

3) ไปที่ tab Security เลื่อนกรุ๊ปลงมาจนเจอ ENTERPRISE DOMAIN CONTROLLERS แล้วเลื่อน permission ลงมาจนเจอ Replicating Directory Changes In Filtered Set ให้ติ๊กถูกด้านหน้า
DCDIAG_NCSecDesc_Fail_3

4) ทำซ้ำข้อ 1-3 กับ DC=DomainDnsZones,DC=company,DC=co,DC=th

5) เมื่อรัน dcdiag อีกครั้งก็จะไม่พบ error แล้ว

Starting test: NCSecDesc
  ......................... SERVER01 passed test NCSecDesc

Credit: Microsoft TechNet Social DCDIAG – NCSecDesc error