여튼 실행 결과를 보면 현재 server가 사용하는 네임 서버의 IP 주소는 127.0.0.53 인 것을 확인 할 수 있다. 또한 네이버 웹 서버의 주소는 223.130.200.107 이며, 구글은 142.250.196.100, 깃허브는 20.200.245.247 이다.
이제 이렇게 확인 네임 서버인 127.0.053 을 확인해 보자.
cat /etc/resolv.conf
확인완료!!!!!!
웹 브라우저에서 ( 파이어 폭스 ) www,naver,com 이 잘 접속 되는지 확인한다.
정상적으로 접속완료된 모습
만약 네임서버에 문제가 생기거나 주소를 잘못 입력했을 때 어떻게 작동하는 지 확인해본다.
nano 나 gedit으로 /etc/resolv.comf를 열어서 nameserver부분을 주석( # ) 처리하고 저장한 후 닫아본다.
주석처리 완료!
수정을 완료했다. 이것은 뭐 재부팅하거나 네트워크가 재시작한다면 다시 초기화된다. 걱정말자. 웹 브라우저를 닫았다가 다시 실행해서 보면 다음과 같이 오류화면이 나온다.
ㅣ해당 URL을 찾을 수 없다는 메세지가 나온다.
이번엔 /etc/hosts 파일을 활용해보자.
네이버를 살릴 파일!네이버를 추가한 모습귀신처럼 들어가지는 모습!!! 그러나 아직 구글이나 다른곳들은 안된다.
세계적인 사이트 두놈이 안된다. ㅎㅎㅎ
주소창에 URL을 입력했을 때 웹 브라우저는 /etc/resolv.conf 파일에 적혀있는 nameserver를 통해 IP 주소를 얻기전 /etc/hosts 파일을 조사하고, 해당하는 URL 주소와 IP 정보가 있는지 확인한다는 것을 알 수 있다.
이번에는 웹 브라우저를 속여서 ULR을 입력했을 때 다른 사이트에 접속되도록 해보자.
그럼 엉뚱하게 보안관련되어서 경고와 함께 접속할 수 없다고 한다.
IP 주소를 얻는 내부 흐름도
사용자가 웹 브라우저 등에서 URL 을 입력한다.
/etc/host.conf 파일을 조회해서 우선순위가 무엇인지 확인한다. * /etc/host.conf 파일에는 URL 입력 시 IP 주소를 얻기 위해 먼저 확인해야 할 것이 결정되고 있다. 기본적으로 order hosts, bind 라고 입력되었거나 생략되었으면 /etc/hosts 파일을 찾아본다. /etc/hosts 파일에도 관련 정보가 없다면 bind (DNS 클라이언트, 즉 /etc/resolv.conf 에 설정된 네임 서버에 질의하라는 의미) 를 이용한다. 만약 네임 서버에 먼저 질의 한 후 없을 경우 /etc/hosts 파일을 확인하게 하고 싶으면 order bind, hosts 로 변경한다. 또 multi on은 /etc/hosts 파일에 여러개의 URL을 사용할 수 있다는 의미다.
우선순위가 /etc/hosts 파일이므로 열어서 www.naver.com 의 IP 주소가 적혀있는지 확인한다.
/etc/hosts 파일에 www.naver.com IP 주소가 적혀 있다면, 네임 서버에 물어볼 필요 없이 IP 주소를 획득해서 해당하는 IP 주소로 연결한다. 웹 브라우저를 이렇게 속일 수도 있따. - 보안에 취약해지지만..
/etc/hosts 파일에 www.hanbit.co.kr의 IP 주소가 없다면 /etc/resolv.conf 파일을 확인해서 nameserver 네임서버 IP 부분이 있는지 확인한다.
/etc/resolv.conf 파일에 nameserver 네임서버 IP 부분이 없다면
IP 주소를 획득하는데 실패해 www.naver.com의 IP주소를 알 수 없다.
/etc/resolv.conf 파일에 nameserver IP부분이 적혀있다면
해당 네임 서버에 www.naver.com 의 IP 주소를 질의한다. * 지금은 단순히 네임서버에 www.naver.com를 질의 해서 알려주는 과정을 간단히 표현한것이지만, 실제로는 더 복잡한 과정을 거친다. 나중에 구축할때 상세히 알아 볼 수 있다.
네임 서버가 www.naver.com IP주소를 알면 알려준다.
네임 서버가 응답하지 않거나 www.naver.com의 IP 주소를 알 수 없다면 응답없다.
댓글