Sử dụng Domain Information Groper (dig) và cách debug cơ bản dnsmasq


Tối nay sẽ có một bài thú vị như thế này, như trên Linux muốn dùng DNS vs DHCP thì có nhiều DNS vs DHCP software như BIND, PowerDNS,Dnsmasq. Hôm nay sẽ dùng Dnsmasq để dùng cho bài lab này, vì sao ? nó dễ cài và nhanh nữa. Cách cài đặt như thế nào thì tham khảo bài sau : Hướng dẫn cài đặt Dnsmasq trên centos 8


Sử dụng Domain Information Groper (dig) và cách debug cơ bản dnsmasq



OK, nếu nói cài đăt thì khá là đơn giản, hiểu vài cú pháp là giải quyết ok, nhưng để hiểu nó chạy như thế nào và debug để biết mới là vấn đề quan trọng.


dig : là Domain Information Groper nó sử dụng giống nslookup, mục tiêu dùng để  truy vấn tên miền.


dnsmasq : Là opensource miễn phí hỗ trợ cung cấp DNS, DHCP..


Giờ làm sao để debug nó, sau đây vài ví dụ cơ bản :


Dnsmasq phải stop service đi mới debug được


[root@dns ~]# systemctl stop dnsmasq.service 


Mở terminal 1 chạy debug và Mở terminal 2 test debug


Sử dụng Domain Information Groper (dig) và cách debug cơ bản dnsmasq


A (Host address)

Giờ test thử khi query host add thì dnsmasq nó sẽ làm gì


Sử dụng Domain Information Groper (dig) và cách debug cơ bản dnsmasq


ALIAS (Auto resolved alias)



Sử dụng Domain Information Groper (dig) và cách debug cơ bản dnsmasq



CNAME (Canonical name for an alias)



Sử dụng Domain Information Groper (dig) và cách debug cơ bản dnsmasq


MX (Mail eXchange)



Sử dụng Domain Information Groper (dig) và cách debug cơ bản dnsmasq


NS (Name Server)



Sử dụng Domain Information Groper (dig) và cách debug cơ bản dnsmasq


PTR (Pointer)



Sử dụng Domain Information Groper (dig) và cách debug cơ bản dnsmasq


dig google.com @localhost  +noall +answer redhat.com ns +noall +answer




Sử dụng Domain Information Groper (dig) và cách debug cơ bản dnsmasq



Có rất nhiều cách query có thểm tham khảo thêm phần help để show nhiều cái mong muốn hơn nữa...

Kiểm tra  file config đã đúng chưa ...


Sử dụng Domain Information Groper (dig) và cách debug cơ bản dnsmasq



Script Debug DHCP nếu muốn dùng


#!/bin/sh
 case "$reason" in
         BOUND|RENEW|REBIND|REBOOT)
         echo Received variables:
         echo "  Hostname: $new_host_name";
         echo "  IP address: $new_ip_address";
         echo "  Network: $new_network_number";
         echo "  Netmask: $new_subnet_mask";
         echo "  Router: $new_routers";
         echo "  Domain Name: $new_domain_name";
         echo "  DNS server: $new_domain_name_servers";
         ;;
 esac


Qua những ví dụ này sẽ hiểu rằng dns cài đặt dễ vậy, ta hay dùng vậy nhưng thực chất nó làm việc như thế nào, cách debug đơn giản trên giúp hình dung ra cách làm việc của nó :)






Nhãn:

LPIC-System Administrator - Cài đặt Preboot eXecution Environment (PXE) để deployPop!_OS 19.10 qua LAN trên Centos 8


Preboot eXecution Environment (PXE) là gì ? Nếu nói theo nguyên bản tiếng anh là : The Preboot Execution Environment (PXE) is an industry standard client/server interface that allows networked computers that are not yet loaded with an operating system to be configured and booted remotely by an administrator.






LPIC-System Administrator - Cài đặt Preboot eXecution Environment (PXE) để deploy linux qua LAN trên Centos 8



Nói đơn giản nôm na là môi trường thực thi tương tác giữa server và client, trong quá trình boot của client sẽ load hệ điều hành từ máy chủ , và hệ điều hành này đã cài đặt sẵn bởi quản trị viên. fuck :)


OK, giờ ví dụ thực tiễn nhé,  ví dụ một công ty khi cài đặt OS hay gì đó, thì cần có một OS chính gốc và sẽ dùng nó để cải đặt, nào là Server, nào là client ... Như trên windowns thì link chính gốc của Microsoft và được certificate đàng hoàn, và như luật bất thành văn yêu cầu phải dùng đúng. Không phải download đại đại về là sai, chơi vậy hơi đâu não nhưng .... :)


OK, như trên windowns thì mình dùng Microsoft Deployment Toolkit (MDT) và giờ mình sẽ chuyển nó sang Linux, trên môi trường Centos 8 và OS PopOS 19.10, và OS này có giả lập custom theo yêu cầu có thể tham khảo bài Hướng dẫn cài đặt nhanh Systemback và tạo file linux iso trên Pop!_OS 19.10.


Mục đích đưa ra là có một OS PopOS 19.10 mang tính đặc thù riêng, mọi wks cần phải dùng nó để cài đặt, yêu cầu cài xong là dùng không đụng chạm bất cứ thứ gì bên ngoài. Và là một System Admin bạn cấu hình sao để team của bạn hỗ trợ bạn trên WKS chỉ vác mạng không lên cafe cà pháo xong vào chọt chọt 1 tiếng xong 4 5 máy :) nhưng vẫn đáp ứng được công việc mà không cần mang theo bất cứ thứ gì như USB, CD, ổ cứng :) mà vẫn đáp ứng yêu cầu của bạn.


Đầu tiên cần chuần bị 1 con server Centos 8, yêu cầu trong hệ thống mạng LAN phải đáp ứng tốt như GB, Bandwidth ...

Đây là quá trình mô phỏng nên trên Centos 8 này sẽ bao gồm PXE và DHCP chung, nên phân nhỏ server ra để hoạt động trơn tru và hiểu quả hơn, tốc độ network LAN cũng là phần quan trọng vì client sẽ boot qua mạng LAN.

Cài đặt những gói cần thiết sau :

Nếu muốn cài đơn lẻ từng dịch vụ thì cài dhcp, dns ... thì có thể cài các dịch vụ đơn lẻ, ở đây gọp chung những cái cần thiết chính và dùng

Dnsmasq : là một công cụ chuyển tiếp DNS nhẹ, dễ cấu hình, được thiết kế để cung cấp các dịch vụ DNS (và tùy chọn DHCP và TFTP) cho một mạng quy mô nhỏ. Nó có thể phục vụ tên của các máy cục bộ không có trong DNS toàn cầu.


Syslinux : là một bộ các trình tải khởi động bản ghi khởi động chính nhẹ để khởi động các máy tính tương thích với PC của IBM với nhân Linux. Được phát triển chủ yếu bởi H. Peter Anvin, gói SYSLINUX bao gồm một số hệ thống riêng biệt được sử dụng cho các mục đích khác nhau, bao gồm ISOLINUX, PXELINUX và EXTLINUX


Tftp-server : để chuyển tập tin mạng đáng tin cậy và an toàn

Server IP : 192.168.1.50

Bắt đầu quất thôi : Chỉnh hostname pxe.domain.local  tiếp cài các món sau.


[root@pxe ~]# yum install dnsmasq syslinux tftp-server nfs-utils -y



LPIC-System Administrator - Cài đặt Preboot eXecution Environment (PXE) để deploy linux qua LAN trên Centos 8



Chỉnh sửa các file :


dnsmasq : tham khảo link sau để hiểu rõ hơn, đây là config gợi ý nhưng chúng ta chỉ cần sử dụng vài option.


https://github.com/imp/dnsmasq/blob/master/dnsmasq.conf.example


Cứ dựa theo file mẫu trên xem trước và vào edit cho nhanh và phù hợp


vi /etc/dnsmasq.conf


interface=enp0s3
domain=pxe.domain.local
dhcp-range= 192.168.1.200,192.168.1.210,255.255.255.0,12h
dhcp-option=3,192.168.1.1
dhcp-boot=pxelinux.0,192.168.1.50
pxe-prompt="Press F12 for menu.", 30
pxe-service=x86PC, "Boot from server PXE with IP : 192.168.1.50",pxelinux
enable-tftp
tftp-root=/var/lib/tftpboot



LPIC-System Administrator - Cài đặt Preboot eXecution Environment (PXE) để deploy linux qua LAN trên Centos 8



LPIC-System Administrator - Cài đặt Preboot eXecution Environment (PXE) để deploy linux qua LAN trên Centos 8


systemctl enable dnsmasq.service


systemctl start dnsmasq.service



Như trên sau khi disable firewalld đi hoặc open port trên server đi là đã có DHCP ngon lành rồi, tiếp theo xử mục sau


SYSLINUX : nãy đã cài rồi giờ làm giao diện boot thôi, chú ý giữa syslinux vs grub nhé.


Vậy cài xong thì làm gì với nó, sau khi cài sẽ có đủ đồ nghề để làm menu boot khá là tiện, hiện tại không cần quan tâm nó làm gì, chỉ nhớ đường dẫn của nó là ok rồi, đợi lát tính sau


LPIC-System Administrator - Cài đặt Preboot eXecution Environment (PXE) để deploy linux qua LAN trên Centos 8



tftp-server : Như ở trên, gói này đã cài đặt ok rồi, giờ tiến hành config cho nó, giờ làm gì cho nó đây.


Mục đích của nó khi boot vào nó sẽ nhảy vào ngay thằng này vì ở trên dnsmasq đã chỉ định nó là tftp root. Giờ thì quăng hết mọi cái của syslinux vào đây và ta làm menu theo ý mình.

/var/lib/tftpboot/


LPIC-System Administrator - Cài đặt Preboot eXecution Environment (PXE) để deploy linux qua LAN trên Centos 8



NFS: Giờ đến lượt config NFS để lưu trữ OS và client kéo về cài đặt. Tạo thư mục lưu trữ và kéo source vào.


mkdir -p /var/nfs/popos


mount -o loop /dev/cdrom /mnt/


cp -r /mnt/* /var/nfs/popos/


chmod -R 775 /var/nfs/popos/



LPIC-System Administrator - Cài đặt Preboot eXecution Environment (PXE) để deploy linux qua LAN trên Centos 8



Tiếp theo copy thư mục casper vào thư mục tftpboot , với mục đích mồi để OS boot.


cp -r /mnt/casper/ /var/lib/tftpboot/



LPIC-System Administrator - Cài đặt Preboot eXecution Environment (PXE) để deploy linux qua LAN trên Centos 8


Mọi thứ đều có đầy đủ rồi là giờ config menu boot nữa là xong.


mkdir -p /var/lib/tftpboot/pxelinux.cfg

touch /var/lib/tftpboot/pxelinux.cfg/default

vi /var/lib/tftpboot/pxelinux.cfg/default


LPIC-System Administrator - Cài đặt Preboot eXecution Environment (PXE) để deploy linux qua LAN trên Centos 8


Tạo menu boot trỏ về nfs, để  sau khi chạy boot mồi lên nó sẽ tự nhận ra OS và cài đặt. Tại sao lại biết cài đặt này để mà chạy, rất đơn giản là ngoài những cái chính yêu cầu mount nfs ra thì tham khảo file config có sẵn ở file iso OS :)

Hầu như syslinux nó làm menu ngon lành hết rồi, lỗi ra mà dùng thôi. Tuyệt vời.


LPIC-System Administrator - Cài đặt Preboot eXecution Environment (PXE) để deploy linux qua LAN trên Centos 8



Tiếp theo cấu hình thêm cho nfs như sau và trước khi làm start service lên nhé


systemctl enable tftp

systemctl start tftp


vi /etc/exports


/var/nfs/popos/ *(rw,no_root_squash,no_all_squash)


[root@pxe ~]#exportfs -a



OK và cuối cũng check xem nfs đã ok chưa, ah nhìn thấy đúng thư mục chứ OS và mọi network có thể acccess, có thể nhập network cho hợp lý cũng ok, đây * cho nhanh.


LPIC-System Administrator - Cài đặt Preboot eXecution Environment (PXE) để deploy linux qua LAN trên Centos 8


Mọi thứ đã ngon lành rồi


LPIC-System Administrator - Cài đặt Preboot eXecution Environment (PXE) để deploy linux qua LAN trên Centos 8


Cuối cùng : Đem một wks cho nó boot qua network, sau khi nhận ip từ dhcp xong là mọi thứ sẽ chạy ok hết.


LPIC-System Administrator - Cài đặt Preboot eXecution Environment (PXE) để deploy linux qua LAN trên Centos 8


LPIC-System Administrator - Cài đặt Preboot eXecution Environment (PXE) để deploy linux qua LAN trên Centos 8




LPIC-System Administrator - Cài đặt Preboot eXecution Environment (PXE) để deploy linux qua LAN trên Centos 8




LPIC-System Administrator - Cài đặt Preboot eXecution Environment (PXE) để deploy linux qua LAN trên Centos 8






Nhãn:

Reference - Wi-Fi channel là gì và cách tính toán để có hiệu năng tốt nhất


Tối nay sẽ chém gió về Wifi channel, nói chém gió thì cũng đúng thôi vì nói về Wifi mà nói thì có muôn vàng cái để nói, rất là nhiều thứ. 



Reference - Wi-Fi channel là gì và cách tính toán để có hiệu năng tốt nhất


Nhưng chém gió thì chém cũng có chút đỉnh gì gọi là kinh nghiệm , cũng như chuẩn bị lượng kiến thức khi đụng chuyện còn biết đường đem ra sài với anh em.


Hôm nay nói về channel để làm sao chọn lựa số kênh trên mạng wifi và phân bố wifi sao cho họ lý để có thể truy cập đạt hiệu xuất ngon lành nhất. Nói đến đây sẽ có câu chuyện vui như thế này. :)


Có một anh IT làm cho một doanh nghiệp giàu, chỉ cần ho một cái là thiết bị mua ào ào, chơi lớn luôn như thế này, tiền thì anh không thiếu chơi lơn luôn mua Access point wifi lắp 10 con trên 3M2, chơi lấy tiếng luôn :) Chớ trêu thay mạng sài như shit, rớt lên rớt xuống, căng đầu bức óc. Giàu mà cũng không vui hehe. Tạm thời ví dụ vậy đi để thấy rằng mật độ băng tầng và cách phân bố thiết bị khá là quan trọng, quá ít cũng không tốt mà quá nhiều cũng không nên.


Cái ở đây cần nói đến là gì, đôi lúc trong quá trình tính toán có thể lượng thiết bi hơi nhiều và setup hơi dày nó ảnh hường đến chất lượng sóng của wifi rất nhiều và để một phần nào tính toán hợp lý, đôi lúc tương đối hài lòng chứ không thể tuyệt đối 100%.


Khi setup Access point wifi thông thường channel mọi người hay để Auto, để nó tự động phân chia với nhau, theo cá nhân cảm nhận đôi lúc Auto nó không hiệu quả, nếu vị trí thoáng thì ok, nhưng đôi lúc phụ thuộc vào địa hình có thể gần nhau hay vấn đề gì vân vân nó không được như ý muốn.


Reference - Wi-Fi channel là gì và cách tính toán để có hiệu năng tốt nhất



Các băng tần khác nhau (2.4GHz, 5 GHz) có phạm vi kênh riêng và  các bộ định tuyến sẽ sử dụng băng tần 2.4GHz với tổng số 14 channel, tuy nhiên trên thực tế, nó có thể là 13 channel hoặc thậm chí ít hơn được sử dụng trên toàn thế giới.


Như hình trên là mô tả của một băng tầng 2.4GHz, nó chia là 14 channel, nhưng chúng ta chỉ cần quan tâm chanel 1 đến 13 là quan trọng. và điểm chú ý là sự giao thoa giữa channel 1, channel 6 và channel 11 sẽ không đè lên nhau, có nghĩa là chúng không trùng lập.


Vậy điều đó nói lên điều gì, quá trình giao thoa của các sóng với nhau, channel 1, channel 6 và channel 11 không trùng nhau và không đè lên nhau thì khả năng sự ảnh hưởng của channel sẽ không có về lý thuyết, nhưng thực tế có ảnh hưởng xíu ít nếu thiết bị cùng channel 1 or channel 6 hoặc 11 của các thiết bị trong 1 vùng dùng cùng channel này...


Vậy quá trình setup nhiều thiết bị nên chọn channel 1 , 6 và 11 là trung tâm và phân bổ các kênh còn lại cho phù hợp, có thể bị đè nhưng mục độ nó sẽ ít hơn. Vậy sẽ nên làm gì, hiện giờ có khá nhiều tool hỗ trợ có giao diện cụ thể nó support tận răng nhưng vấn đề quan trọng bạn cần hiểu về lý thuyết trước để vận dụng nó linh hoạt hơn.


Sau đây là những ví dụ minh họa quá trình chọn channel phù hợp sau: 


Tôi có một AP năm Channel 1  - 2.412 GHz , giờ làm sao 3 AP kia phân channel phù hợp để ít bị đè và ảnh hưởng nhất.



Reference - Wi-Fi channel là gì và cách tính toán để có hiệu năng tốt nhất




Kết quả sẽ chọn 2.432 GHz, 2.452 GHz và 2.473 GHz, như hình ta thấy sự chồng lắp và đè lên nhau của nó có mức hạn chế nhất, có thể bạn cho channel 5 không đè lên channel 1 cũng đúng, nhưng đảm bảo sự giao thoa của nó cân đối nhau.



Reference - Wi-Fi channel là gì và cách tính toán để có hiệu năng tốt nhất




Tiếp theo nếu tôi có AP nằm channel 4 - 2.427 thì sao, ok tôi sẽ sắp xếp các channel còn lại sao cho phù hợp nhất, giảm chồng chéo nhất có thể, hoặc tốt hơn không bị ảnh hưởng.



Reference - Wi-Fi channel là gì và cách tính toán để có hiệu năng tốt nhất



Với điều kiện như như trên, điều bất khả thi khi muốn 4 AP ngon lành cành đào, tôi sẽ hy sinh channel 4 sẽ bị đè bởi channel 1, bạn nên nhớ channel mức độ giao thoa và ảnh hưởng sẽ tốt hơn các channel khác vì nằm trong (channel 1, 6, 11) và ưu tiên cho channel và 13 ít ảnh hưởng hơn.



Reference - Wi-Fi channel là gì và cách tính toán để có hiệu năng tốt nhất



Cứ nói channel trong danh sách channel 1,6,11 nó như thế nào hen, AP đầu tiên sẽ nằm ở channel 6. Khi nó năm ở channel 6 là vị sẽ không bị đụng chạm trong các channel, vậy có thêm 3 AP nữa thì làm thế nào




Reference - Wi-Fi channel là gì và cách tính toán để có hiệu năng tốt nhất



OK, như vậy sẽ cho channel 1 nó an phận một nơi xem như channel này không bị ảnh hưởng, tiếp theo ưu tiên channel 9 và 12 nó chồng lấp nhâu ít để tránh ảnh hưởng gì nhiều, hy sinh channel 6 tốt hơn nên cho channel đè lên cũng không đáng kể.



Reference - Wi-Fi channel là gì và cách tính toán để có hiệu năng tốt nhất




OK, Giờ AP nằm ở channel 10, thoạt nhìn nó hơi lưng lưng, vậy giải quyết sao sẽ thỏa đáng



Reference - Wi-Fi channel là gì và cách tính toán để có hiệu năng tốt nhất



Sẽ chọn AP channel 1, cho channel 5 chồng lấp lên với mức độ đáng kể, vậy đã tối ưu được channel 1 và 5. Channel 13 sẽ đè lên channel 10 nhưng không quá lớn, vậy đã tối ưu được vấn đề.



Reference - Wi-Fi channel là gì và cách tính toán để có hiệu năng tốt nhất



Ví dụ tiếp theo là AP đang nằm channel 11 thì sao, trong danh sách khá ngon lành, vậy tối ưu hóa nó như thế nào



Reference - Wi-Fi channel là gì và cách tính toán để có hiệu năng tốt nhất




Channel 11 nằm trong danh sách ít ảnh hưởng sẽ cho channel 13 đè lên nó, nếu đè lên 2 channel còn lại sẽ ảnh hưởng khá là lớn. Như vậy ta đã có 2 channel 1 và channel 6 hoàn hảo.



Reference - Wi-Fi channel là gì và cách tính toán để có hiệu năng tốt nhất



Cuối cùng nếu bạn phân channel không hợp lý thì sao :


Nếu sự chồng chéo quá lớn thì tất cả các channel của bạn sẽ bị ảnh hưởng khá lớn, làm chập chờn, gián đoạn và sẽ không có tín hiệu tốt.



Reference - Wi-Fi channel là gì và cách tính toán để có hiệu năng tốt nhất



Nhãn: