Month: September 2024

  • Firewalld, firewall management tool for RedHat-based distributions

    แบบด่วนๆ เลยนะ

    1. ล็อคอินเข้าระบบด้วยบัญชีผู้ใช้ root
    2. ปกติติดตั้งมาให้ตั้งแต่เริ่มต้น
    3. หากยังไม่ได้ติดตั้ง สามารถติดตั้งด้วยคำสั่ง
      • yum install firewalld firewall-config
    4. สั่งให้ firewalld ทำงานด้วยคำสั่ง
      • systemctl enable firewalld.service
      • systemctl start firewalld.service
    5. ดูสถานะการทำงานของ firewalld ด้วยคำสั่ง
      • systemctl status firewalld.service
    6. ต้องได้ประมาณว่า
    1. สถานะต้องเป็น active หากเป็นอย่างอื่นให้ reboot เครื่องดูก่อน
    2. เพิ่มกฎการเข้าถึงตัวอย่างเช่น
    firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.26.0.1" port protocol="tcp" port="631" accept' --permanent

    อธิบายได้ว่า ยอมรับการเข้าถึงจากไอพี 192.26.0.1 มายัง tcp port 631 ไปที่ zone public แบบถาวร zone public เป็น zone ที่ถูกเลือกไว้โดย default

    1. เมื่อเพิ่มกฎการทำงานต้องให้ firewalld โหลดกฎใหม่ทุกครั้งด้วยคำสั่ง
    firewall-cmd --reload
    1. ยากพิมพ์เยอะมีเครื่องมือให้ใช้งาน คือ firewall-config แต่ต้องมี xwindows นะครับ เรียกใช้งานด้วยคำสั่ง
    firewall-config &
    1. จะได้ดังภาพ
    1. ให้เลือก zone ชื่อ public แล้วเลือก Rich Rules ทางขวามือ ได้ดังภาพ (จริง ๆ หน้าต่างเริ่มต้นมันแคบนะครับต้องขยายออกไปทางขวาจึงจะเห็นทั้งหมด)
    1. สามารถคลิกปุ่ม Add จะได้ดังภาพ
    1. ก็เลือก ๆ ตามที่ต้องการได้เลยตัวอย่างเช่น

    แปลว่าอนุญาต ไอพี 192.100.33.12 ให้เข้ามาที่บริการ ssh ได้ คลิก Ok เพิ่มเพิ่มกฎ จะได้

    1. สามารถเพิ่มกฎได้ตามต้องการ และให้สังเกตตรง Configuration ด้านบนจะเห็นว่าเลือกไว้ว่า Runtime ถ้าลองคลิกเลือกจะมี Permanent จะได้ดังภาพ
    1. ถ้ารีสตาร์ท firewalld กฎที่อยู่ที่ Runtime จะหายไปดังนั้นหากต้องการให้กฎยังอยู่ต้องย้ายกฎที่ Runtime มาที่ Permanent ด้วยการคลิกที่ Options แล้วเลือก Runtime To Permanent
    1. กฎจะถูกก็อปปี้ไปยัง Permanent เมื่อรีบูตหรือรีสตาร์ท firewalld กฎก็ยังอยู่ หรือหากต้องการทำครั้งเดียวก็เพิ่มกฎใน Permanent ได้เลยเช่นกันแต่กฎเหล่านั้นจะยังไม่ทำงานจนกว่าจะ Reload Firewalld
    2. เมื่อเพิ่มกฎเป็นที่พอใจและ copy จาก runtime มา permanent แล้วสามารถปิด firewall-config ได้เลยแต่เพื่อความแน่ใจ ให้ Reload Firewalld ใน Options อีกครั้งแล้วค่อยปิด จะได้ไม่ลืมครับ
    3. หรือหากไม่ชอบแก้ไขใน Windows สามารถแก้ไขแฟ้ม /etc/firewalld/zone/public.xml ได้เช่นกัน เมื่อเปิดไฟล์เข้าไปจะได้ว่า
    <?xml version="1.0" encoding="utf-8"?>
    <zone>
      <short>Public</short>
      <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
      <rule family="ipv4">
        <source address="192.26.0.1"/>
        <port protocol="tcp" port="631"/>
        <accept/>
      </rule>
      <rule family="ipv4">
        <source address="192.100.33.12"/>
        <service name="ssh"/>
        <accept/>
      </rule>
    </zone>
    1. สามารถก็อปปี้ 5 บรรทัดเริ่มตั้งแต่ <rule family=”ipv4″> ไปจนถึง </rule> นี้จะเป็น 1 กฎหากมีซ้ำๆ กันเยอะๆ ก็สามารถก็อปปี้แล้ววางแล้วแก้เฉพาะเลขไอพีได้เลย
    2. เมื่อแก้ไขแฟ้มเสร็จ save แล้วออกมาสั่งด้วยคำสั่ง
    firewall-cmd --reload
    1. แก้ไขแฟ้ม /etc/firewalld/firewalld.conf
      • เปลี่ยน AllowZoneDrifting จากเดิม yes เป็น no
      • restart firewalld ด้วยคำสั่ง systemctl restart firewalld
    2. ยังมีอีกมากที่ยังใช้ไม่เป็น ด่วนๆ เอาเท่านี้ก่อน
    3. จบขอให้สนุก

  • [บันทึกกันลืม] AnythingLLM with Claude.ai

    AnythingLLM เป็นเครื่องมือทำ RAG (retrieval-augmented generation) โดยอาศัย LLM (Large Language Model) ต่าง ๆ เช่น Llama, Mistral, Gemma ซึ่งสามารถใช้แบบ Local LLM ได้ ผ่าน Ollama หรือ LM Studio และกลุ่มที่เป็น Cloud LLM อย่าง GPT-4o, Gemini และ Claude Sonet เป็นต้น

    RAG ต่างจากการใช้ Chatbot คือ เราสามารถให้ LLM ทำความเข้าใจ Context หรือ บริบท ของข้อมูลในองค์กรเราได้ ซึ่งแน่นอนว่า Local LLM ย่อมเป็นส่วนตัวกว่า แต่ ในบางกรณี เราก็ต้องการพลังที่เหนือกว่าของ Cloud LLM

    ในที่นี้จะ Claude.ai ซึ่งเราต้องมี API key โดยทำตามขั้นตอนดังนี้

    0. เริ่มจาก Getting started – Anthropic แล้วคลิกที่ Console

    1. จากนั้นเข้าสู่ระบบ ของผมใช้ Google Account จากนั้น กรอก Organization เพื่อ Create Account

    2. คลิกที่ Get API keys แล้วก็ Create API

    3. ใส่ API Key name ก็จะได้ API Key มา, เก็บในที่ที่ปลอดภัย แล้วก็เอาไปใส่ใน AnythingLLM ดังภาพ (เลือก LLM Provider ให้ตรงกับที่ต้องการ ในที่นี้เป็น Anthropic) และเลือกตัว Model ที่ต้องการใช้ จากนั้นกด Save Change

    4. ลองกลับมาใช้ AnythingLLM ซึ่งตอนนี้จะเชื่อมกับ Anthropic Claude.ai แล้ว แต่เป็นบริการที่ต้องเสียตังค์อ่ะนะ ไปเติมเงินแล้วค่อยมาใช้ 555

    หวังว่าจะเป็นประโยชน์ครับ