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.

Bài viết gần đây

spot_img

Related Stories

Leave A Reply

Please enter your comment!
Please enter your name here

Đăng ký nhận thông tin bài viết qua email