IT일상

우분투 20.04 사용중인 53번 포트 끄기 본문

인프라

우분투 20.04 사용중인 53번 포트 끄기

solo5star 2020. 8. 21. 17:57
리뉴얼 된 블로그로 보기: https://solo5star.dev/posts/4/

 

pi-hole을 설치하려고 했으나 53번 포트가 사용중이라고 뜬다.

$ sudo netstat -nap | grep LISTEN
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      633/systemd-resolve 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      819/sshd: /usr/sbin 
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      835/smbd            
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      835/smbd            
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1409/nginx: master  
tcp6       0      0 :::51413                :::*                    LISTEN      1233/docker-proxy   
tcp6       0      0 :::22                   :::*                    LISTEN      819/sshd: /usr/sbin 
tcp6       0      0 :::445                  :::*                    LISTEN      835/smbd            
tcp6       0      0 :::8000                 :::*                    LISTEN      1193/docker-proxy   
tcp6       0      0 :::9091                 :::*                    LISTEN      1278/docker-proxy   
tcp6       0      0 :::9098                 :::*                    LISTEN      1365/grafana-server 
tcp6       0      0 :::9099                 :::*                    LISTEN      1397/prometheus     
tcp6       0      0 :::139                  :::*                    LISTEN      835/smbd            
tcp6       0      0 :::9100                 :::*                    LISTEN      1368/node_exporter  
tcp6       0      0 :::9101                 :::*                    LISTEN      1194/docker-proxy 

sudo를 붙이면 특정 포트를 어떤 서비스에서 쓰는지 확인할 수 있다

 

53번 포트를 쓰는 서비스를 설치한 적이 없는데... 왜 그런가 알아보니 systemd-resolved 서비스에서 DNSStubListener가 53포트를 쓴다고 한다.

 

53번엔 다른 DNS 서비스를 설치할 것이기 때문에, 끌려고 한다.

 

먼저 systemd-resolved 서비스를 멈춘다.

$ sudo systemctl stop systemd-resolved
$ sudo vi /etc/systemd/resolved.conf

 

DNS 서버는 8.8.8.8로, DNSStubListener는 no로 설정하여 꺼준다.

[Resolve]
DNS=8.8.8.8
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#DNSOverTLS=no
#Cache=yes
DNSStubListener=no
#ReadEtcHosts=yes

 

링크를 만들어준다.

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

 

이렇게 하면 53번 포트를 정상적으로 사용할 수 있다.

 

그런데 sudo로 명령어를 치면 아래와 같이 에러 메세지가 뜨는데...

$ sudo
sudo: unable to resolve host Home-NAS: Name or service not known

 

서버의 hostname을 Home-NAS로 설정해두었다.

 

기존엔 우분투에서 Home-NAS를 알아서 localhost로 인식해주었지만 지금은 DNSStubListener를 거치지 않고 바로 8.8.8.8에 질의하기 때문에 이러한 문제가 생긴 것 같다.

 

관련 문제를 검색해보니... /etc/hostname 과 /etc/hosts에 적혀있는 hostname이 달라서 발생한다고 한다.

# /etc/hostname
Home-NAS
# /etc/hosts
127.0.0.1 localhost
127.0.1.1 Home-NAS

 

이렇게 수정해주니 오류가 뜨지 않는다.

 

$ sudo netstat -nap | grep LISTEN
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      798/smbd            
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1381/nginx: master  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      782/sshd: /usr/sbin 
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      798/smbd            
tcp6       0      0 :::8000                 :::*                    LISTEN      1174/docker-proxy   
tcp6       0      0 :::9091                 :::*                    LISTEN      1247/docker-proxy   
tcp6       0      0 :::9098                 :::*                    LISTEN      1380/grafana-server 
tcp6       0      0 :::9099                 :::*                    LISTEN      1360/prometheus     
tcp6       0      0 :::139                  :::*                    LISTEN      798/smbd            
tcp6       0      0 :::9100                 :::*                    LISTEN      1372/node_exporter  
tcp6       0      0 :::9101                 :::*                    LISTEN      1194/docker-proxy   
tcp6       0      0 :::51413                :::*                    LISTEN      1196/docker-proxy   
tcp6       0      0 :::22                   :::*                    LISTEN      782/sshd: /usr/sbin 
tcp6       0      0 :::445                  :::*                    LISTEN      798/smbd            

 

드디어 53번 포트를 쓸 수 있게 되었다.

Comments