혹시나 해서 말씀드리는 건데, 자신의 컴퓨터에 dns 를 조작하거나,
우회하는 프로그램(ex:시크릿dns
) 같은게 활성화 되어있으면
먼저 해당 프로그램을 비활성화해서 다시 테스트해보시 바랍니다.
그래도 안되면 아래 방식을 따르면 됩니다.
어느날 집이 아닌 카페에 와서 wsl2
환경의 ubuntu
에서 git clone
명령어를
쓰니까 갑자기 could not resolve host: github.com
라는 에러 문구가 나왔습니다.
뭔가 여러 이유 때문에 안되는 거 같은데, 일일이 찾아볼 시간도 없어서
그냥 빠른 해결법을 찾아보기로 했고 검색해보니 아래 방법을 통해 가능했습니다.
출처: https://github.com/orgs/community/discussions/31567
This solution helped me. Here is the link
Inside WSL2, create or append file: /etc/wsl.conf
Put the following lines in the file in order to ensure the your DNS changes do not get blown away
sudo tee /etc/wsl.conf << EOF
[network]
generateResolvConf = false
EOF
In a cmd window (!!), run wsl --shutdown
Start WSL2
Run the following inside WSL2 (line with search is optional)
sudo rm -rf /etc/resolv.conf
sudo tee /etc/resolv.conf << EOF
search yourbase.domain.local
nameserver 8.8.8.8
nameserver 1.1.1.1
EOF
위 글에서는 다음과 같이 3가지 작업을 하라고 합니다.
/etc/wsl.conf
에 generateResolvConf = false
를 추가합니다.
이건 wsl
이 기동될 때 /etc/resolv.conf
파일을 생성하고
적절하게 내용을 채우는 자동 작업을 방지하는 겁니다.
wsl --shutdown
을 통해서 wsl 위에 기동되는 모든 리눅스 종료합니다.
이렇게 해야 /etc/wsl.conf
내용이 적용됩니다. 단! 8초 이상 기다려야 합니다.
공식문서 에서도 그렇게 하라고 합니다.
이후 커스텀한 /etc/resolve.conf
파일을 생성(또는 수정)합니다.
위에서는 뭐 여러가지 넣는데, 저는 그냥 아래 2줄만 추가했습니다.
nameserver 8.8.8.8
nameserver 8.8.4.4
제가 적용한 내용은 아래와 같고, 이렇게 하니 잘되는 걸 확인했습니다.
generateResolveConf = false
설정 추가.참고: wsl.conf 파일에 대해 더 알고 싶다면?
https://learn.microsoft.com/ko-kr/windows/wsl/wsl-config#wslconf
필요하시면 참고하세요.