통신사 모뎀에서 바로 유선으로 랜 케이블을 연결하여 외부 IP를 할당 받은 Ubuntu 20.04가 설치된 데스크톱을 배경으로 한다. ( 공유기를 거치지 않는다. )

기존 Ubuntu 18.04 버전에서는 확인되지 않았던 문제로 20.04 Server 버전으로 서버 구성 시 일정 시간이 지나면 네트워크 인터페이스까지 대기모드로 들어가는 현상이 발생한다.

 

#### 일정 시간이 지나고나서 해당 IP에 ping을 보내더라도 응답이 돌아오지 않는다.

 

- 해당 문제를 해결하려면  hibernate라 불리는 대기모드에 관련된 서비스를 mask 처리를 해야한다.

## 슬립 모드에 관련된 서비스 확인 명령어

$ sudo systemctl status sleep.target suspend.target hibernate.target hybrid-sleep.target
 
- 슬립 모드 결과 확인
## 슬립 모드에 관련된 서비스를 체크하면 아래와 같이 결과를 반환한다.


sleep.target - Sleep
     Loaded: loaded (/lib/systemd/system/sleep.target; static; vendor preset: enabled)
     Active: inactive (dead) since Thu 2021-12-23 08:21:42 UTC; 1min 41s ago
       Docs: man:systemd.special(7)

Dec 23 07:30:04 jakr systemd[1]: Reached target Sleep.
Dec 23 08:21:42 jakr systemd[1]: Stopped target Sleep.

 suspend.target - Suspend
     Loaded: loaded (/lib/systemd/system/suspend.target; static; vendor preset: enabled)
     Active: inactive (dead)
       Docs: man:systemd.special(7)

Dec 23 06:39:33 jakr systemd[1]: Reached target Suspend.
Dec 23 06:39:33 jakr systemd[1]: Stopped target Suspend.
Dec 23 07:09:35 jakr systemd[1]: Reached target Suspend.
Dec 23 07:09:35 jakr systemd[1]: Stopped target Suspend.
Dec 23 08:21:42 jakr systemd[1]: Reached target Suspend.
Dec 23 08:21:42 jakr systemd[1]: Stopped target Suspend.

 hibernate.target - Hibernate
     Loaded: loaded (/lib/systemd/system/hibernate.target; static; vendor preset: enabled)
     Active: inactive (dead)
       Docs: man:systemd.special(7)

 hybrid-sleep.target - Hybrid Suspend+Hibernate
     Loaded: loaded (/lib/systemd/system/hybrid-sleep.target; static; vendor preset: enabled)
     Active: inactive (dead)
       Docs: man:systemd.special(7)

 

- 대기모드에 관련된 서비스 유닛들을 mask 처리하지 않고 disable 처리를 하게 되면 다른 유닛과 의존관계를 가지는 경우에는 해당하는 유닛들이 동작하지 않게되는 경우가 발생하게 된다.

- 그래서 이러한 경우를 방지하기 위해 mask 옵션을 이용해서 서비스 유닛의 심볼릭 링크를 /dev/null로 수정시켜서 문제를 해결한다.

 

## mask 처리를 통해 해당 서비스 유닛들의 심볼릭 링크를 /dev/null로 변경처리한다.

$ sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target


Created symlink /etc/systemd/system/sleep.target  -> /dev/null.
Created symlink /etc/systemd/system/suspend.target  -> /dev/null.
Created symlink /etc/systemd/system/hibernate.target  -> /dev/null.
Created symlink /etc/systemd/system/hybrid-sleep.target  -> /dev/null.

  

- mask 처리 후 시스템을 **재부팅** 한다.

 

## 슬립 모드 서비스 mask 처리 확인
$ sudo systemctl status sleep.target susspend.target hibernate.target hybrid-sleep.target
 

Unit susspend.target could not be found.
sleep.target
     Loaded: masked (Reason: Unit sleep.target is masked.)
     Active: inactive (dead)

hibernate.target
     Loaded: masked (Reason: Unit hibernate.target is masked.)
     Active: inactive (dead)

hybrid-sleep.target
     Loaded: masked (Reason: Unit hybrid-sleep.target is masked.)
     Active: inactive (dead)
 

- 이후 일정 시간이 지나더라도 Ping 응답이 문제 없이 오는 것을 확인할 수 있다.

+ Recent posts