Sunday, January 19, 2025

Giải phóng port 53 trên server Ubuntu

-

Port 53 được sử dụng cho các dịch vụ phân giải tên miền. Nếu bạn có ý định vận hành một ứng dụng chạy port mặc định 53 ví dụ như dịch vụ phân giải tên miền như Bind9 thì bạn sẽ cần đến nó. Trên server Ubuntu, port này được chiếm dụng bởi dịch vụ systemd-resolve, nếu bạn cố gắng bind port 53, bạn sẽ nhận được thông báo listen tcp 0.0.0.0:53: bind: address already in use.

$ lsof -i :53
COMMAND   PID            USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
systemd-r 917 systemd-resolve   12u  IPv4  13267      0t0  UDP localhost:domain
systemd-r 917 systemd-resolve   13u  IPv4  13268      0t0  TCP localhost:domain (LISTEN)

Cách giải quyết là không có cách nào khác, cần vô hiệu hóa systemd-resolve một cách an toàn. Cụ thể, bước đầu tiên cần tắt daemon.

sudo systemctl stop systemd-resolved

Sau đó edit tập tin /etc/systemd/resolved.conf , bổ sung khóa DNS=127.0.0.1 hoặc DNS=1.1.1.1, tùy bạn muốn sử dụng DNS server nào; và đặt khóa DNSStubListener thành no. Nội dung đầy đủ của file  /etc/systemd/resolved.conf sau khi chỉnh sủa bạn xem ở dưới.

[Resolve]
DNS=127.0.0.1
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
DNSStubListener=no

Mồi tập tin này cho systemd-resolve bằng cách tạo một symbolic link tới /etc/resolv.conf

sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

Khởi động lại dịch vụ systemd-resolved.

systemctl restart systemd-resolved

Chạy thử sudo lsof -i :53 và kết quả không cho ra bất cứ output nào, thể hiện rằng port 53 không còn bị chiếm dụng nữa.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories