Skip to main content

Posts

Showing posts with the label DNS

Máy không có IPv6, ai query DNS record AAAA?

Đa phần các máy tính vào cuối 2023 đều đã sử dụng IPv6, đặc biệt là các Linux server. Nhưng khi đã tắt IPv6, disable qua sysctl: # sysctl -w net.ipv6.conf.all.disable_ipv6=1 bật tcpdump vẫn thấy các ứng dụng query AAAA record (lấy địa chỉ IPv6 tương ứng với domain), tại sao? Thí nghiệm Mở 1 cửa sổ chạy tcpdump port 53: root@box:~# tcpdump port 53 tcpdump: verbose output suppressed, use -v[v]... for full protocol decode listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes ... Mở cửa sổ khác, bật Python3, import socket và gọi các function để lấy địa chỉ IP từ tên miền: >>> import socket >>> socket.gethostbyname("pymi.vn") '104.21.61.168' >>> socket.gethostbyname("pymi.vn") '172.67.212.45' >>> socket.getaddrinfo("familug.org") Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: getaddrinfo() missing 1 required positional a...

Run Unbound DNS resolver on OpenBSD 6.8 on a Laptop

OpenBSD 6.8 comes with default installed Unbound daemon. Using Unbound, you would not longer depends on other DNS provider, keep what domain you access to yourself. Enable and start unbound # rcctl enable unbound # rcctl start unbound It now listens on port 53, on localhost address - good, sane default: $ netstat -nl | grep 53 tcp 0 0 127.0.0.1.53 *.* LISTEN udp 0 0 127.0.0.1.53 *.* tcp6 0 0 ::1.53 *.* LISTEN udp6 0 0 ::1.53 *.* Now check using dig : $ dig pymi.vn @127.0.0.1 ; <<>> dig 9.10.8-P1 <<>> pymi.vn @127.0.0.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7832 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;pymi.vn. IN ...

Cài Unbound làm caching DNS resolver trên máy ảo OpenBSD 6.6

 DNS Server ( recursive name server) Người dùng máy tính đặc biệt ở Việt Nam đã từng biết đổi DNS để vào Facebook những ngày mạng còn "chậm". Những con số như 8.8.8.8 (Google DNS), 208.67.222.222 (OpenDNS) hay 1.1.1.1 (Cloudflare DNS) không còn lạ gì. Những địa chỉ IP này có chạy 1 DNS server làm nhiệm vụ trả lời IP tương ứng của các domain được hỏi. Ví dụ facebook.com có (những) IP là gì? $ nslookup facebook.com 8.8.8.8 Server:        8.8.8.8 Address:    8.8.8.8#53 Non-authoritative answer: Name:    facebook.com Address: 31.13.95.36 Name:    facebook.com Address: 2a03:2880:f102:83:face:b00c:0:25de authoritative name server vs recursive resolver Chương trình chạy ở 8.8.8.8 sẽ tìm địa chỉ IP tương ứng với domain facebook.com như bạn đã yêu cầu. Đây là một dịch vụ "trung gian", nó sẽ đi hỏi các "root nameservers" (.com, .org...) để tìm câu trả lời, bản thân nó không có câu trả lời. ...

Service Discovery với Consul - từ con tới sồ

### Consul là gì https://www.consul.io/ Cách đọc: / ˈkänsəl/ /ˈkɑnsəl / - không phải con sun ``` $ apt-cache search consul | grep ^consul consul - tool for service discovery, monitoring and configuration ``` Consul là một phần mềm còn khá mới (bản 1.0 từ 2017 https://github.com/hashicorp/consul/tree/v1.0.0), được ra đời ban đầu như một giải  pháp cho "Service Discovery", kèm KeyValue storage. Sau này phát triển thêm nhiều tính năng khác như Service Mesh.   #### Service Discovery là gì

File /etc/resolv.conf chỉ chứa được 3 nameserver

File /etc/resolv.conf trên các hệ điều hành dùng nhân Linux dùng để chứa thông tin về DNS server mà máy sẽ sử dụng. Ví dụ muốn dùng Public DNS server của Google thì viết vào file này nội dung: nameserver 8.8.8.8 nameserver 8.8.4.4 # thêm dòng nữa cho chắc, nhỡ cái đầu toi ta dùng cái 2 😎 nameserver 208.67.222.222 # đây là OpenDNS server nameserver 9.6.6.9 # dòng này không có tác dụng, chỉ 3 dòng nameserver đầu tiên có tác dụng. Đây là bug được report từ năm 2005 nhưng tới nay vẫn chưa được giải quyết, xem tại RedHat Đây là nội dung file /etc/resolv.conf của 1 server bình thường: root@81023a4b3012:/# cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) #     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 8.8.8.8 nameserver 8.8.4.4 Chú ý là nameserver chứ không phải servername . như NGINX là HTTP server, Postfix là SMTP server thì đây là nameserver (DNS server).

Cấu hình hệ thống email để không bị quẳng vào Spam

Mail spam và OpenDKIM Cài đặt và vận hành 1 hệ thống email là một trong những thứ lằng nhằng nhất khi làm sysadmin . Một hệ thống email hoàn chỉnh hoạt động sẽ cần đến khoảng một chục thành phần khác nhau, nhưng hoạt động là chưa đủ, để email gửi ngon lành, không bị vào Spam thì phải hiểu thêm một đống thứ nữa. Khi gửi mail đến Gmail, hệ thống Gmail sẽ coi mail của bạn là spam nếu email đó chưa authenticated. Xem đầy đủ tại đây: https://support.google.com/mail/answer/81126?hl=en#authentication Google yêu cầu hệ thống của bạn khi gửi mail phải - "Sign message" bằng DKIM - Phải có SPF DNS record tương ứng với hệ thống mail - Phải có DMARC policy (DNS record) Một hệ thống mail chỉ có mỗi mail server (MTA-E.g: postfix) thì khả năng vào sọt rác là rất cao, thậm chí còn bị Gmail reject , không nhận mail. Cài đặt OpenDKIM Xem tại Ubuntu wiki và ArchLinux wiki chú ý: khi dùng với postfix, mặc dù đã config cho postfix đọc từ UNIX socket trong /var/run/opendkim nhưng sẽ báo ...

DNS và DSN

là 2 thứ chẳng liên quan đến nhau. DNS : domain name system - hệ thống tên miền.  các DNS phổ biến như: 8.8.8.8 (google DNS), 208.67.222.222 (OpenDNS) DSN : data source name. Là một cái trông kiểu thế này: mysql://user@passwd:hostname/dbname Wiki định nghĩa nó là: một cấu trúc dữ liệu dùng để mô tả một kết nối đến nguồn dữ liệu Hết :v

Popular posts from this blog

Tài liệu và hướng dẫn học Python

Để tiết kiệm thời gian, tốt nhất là đi học PyMI Updated: 130617 Sau đây là các tài liệu khuyên dùng: Vì nhiều lý do, nên học python2.7 tại thời điểm hiện tại (giờ là tháng 6/2013 - muốn biết tại sao thì tự tìm hiểu) python 3.5+ (giờ là tháng 2/2017) Chuẩn bị: 1. biết bật tắt máy 2. biết cài python 3. tập gõ 10 ngón - gõ 2 ngón hay 1 ngón cũng không sao, nhưng 10 ngón là cách dễ nhất để gõ nhanh nhất. Tài liệu - Nên dùng tài liệu tại trang chủ của Python làm chính, tham khảo thêm các tài liệu khác tại http://www.familug.org/2016/12/free-ebook.html Căn bản, mới học 1.1 Python PyMI.vn https://pymi.vn/tutorial/ 1.2. Python offical tutorial kết hợp làm bài tập trên HackerRank  (đề bài bằng tiếng Anh, nhưng Google translate 1 lúc cũng ra vì có nhiều ví dụ mẫu đi kèm). Học viên của Pymi.vn có rất nhiều học viên đã tự học với Learn Python the hard way nhưng chưa thấy ai thành công cả. Hai link dưới nên đọc sau khi đã nắm được những phần cơ bản của ngôn ngữ pytho...

The PyMiers

New FAMILUG