생활코딩 선생님 강의 노트 정리 한 내용입니다.
host
인터넷에 연결된 각각의 컴퓨터
인터넷에 연결된 모든 컴퓨터는 아이피 주소를 가지고 있어야함.
IP address
호스트와 호스트가 서로 통신하기 위해 서로의 주소가 필요함
이를 위해 사용하는 주소(261.142.219.192)를 IP 주소라고 함
DNS 만들어지기 전 인터넷 상황
사람이 아이피 주소를 기억하는 것이 너무 어려움.
주소 알고 있을 시 내 컴퓨터에 있는 hosts파일로 웹서버에 접속은 가능한데,
다른 여러 사람들이 주소를 몰라 웹서버에 접속하기 불편함.
그래서 스텐포드 리서치 인스티튜드에서 전세계 호스트 파일 관리
예를 들어 93.184.216.34를 example.com에서 사용 중인 회사가 이 인스티튜드에 전화해서 아이피 주소와 도메인 이름 알려주면, 인스티튜드에서 관리하는 hosts파일에 주소를 갱신함. 고객은 인스티튜드의 호스트 파일을 다운 받아서 내 컴에 덮어쓰기 한 다음 접속. 이로서 아이피 주소가 아닌 이름으로 접속할 수 있게 됨.
하지만 인스티튜드에서 수작업으로 해야했기에, 평일에 전화 걸어 신고해야했고, 고객은 매번 다운 받아 사용해야해서 불편함. 또 모든 인터넷 주소가 담긴 건 너무 용량이 많음.
그래서 Domain Name System 이 생겨나 자동화됨.
DNS(domain name system)
내 컴이 인터넷이 접속하는 순간 DHCP를 이용해
DNS서버의 아이피주소가 자동으로 세팅됨.
도메인 이름을 치면 일단 호스트 파일에 아이피 주소가 있는지 보고 없으면 DNS서버에 연결
DNS 서버에 수많은 아이피주소의 도메인 이름이 저장되어 있음.
클라이언트가 우선 dns서버에 도메인 네임을 주면 해당하는 아이피 주소를 줌
그 아이피 주소를 가지고 웹서버에 접속.
DNS 서버도 아이피 주소를 가지고 있음.
hosts 파일
운영체제 안에 hosts라는 파일이 있음
자주가거나 나만의 도메인의 아이피 주소를 적어놓음
구글이라고 접속했을 때 hosts 파일에 있는 내용을 읽어서 DNS서버에 접속하지 않고 해당 아이피 주소로 접속함.
나의 도메인 주소와 같은 호스트의 이름을 부여할 수 있음.
마음대로 수정해 버리면 해킹 당할 수 있할 수 있기 때문에
관리자 권한이 있어야 수정가능.
hosts file 수정법
윈도우: 메모장 run as administrator
맥: 터미널
52.231.11.152 web1.com
아이피 주소 / 도메인 네임 입력
security
피싱 사기 당할 우려. 피싱 사기란?
hosts 파일을 변조해서 자주 가는 사이트의 아이피 주소를 변경해
유해 사이트로 접속 유도.
52.231.11.152 국민은행 -->66.666.66.666로 변경해
국민은행 사이트와 똑같이 만들어놓고,개인 정보 돈 빼감.
https로만 들어가야함 (s: secure의 약자)
Public DNS
내가 원하는 DNS 서버를 구글링으로 선택해 사용할 수 있음.
보통은 통신사에서 자동 제공해 주지만, 내가 접속한 사이트를 통해
개인 정보 유출이 될 수 있기 때문에 다른 DNS 서버 사용.
DNS 서버 설정
네트워크-advanced-dns-주소입력
DNS internal
DNS 서버 수천, 수만 개가 전세계 분산되어 있음.
각각 담당하는 파트가 다른 독자적인 DNS 서버들이 존재함.
각 DNS 서버는 직속 하위 파트만 알고 있음
Root도메인은 이름 적을 때 보통 점 생략하고 적음
Root domain: 하위Top-level domain 서버들의 목록과 아이피 주소를 알고있음.
Top-level domain: 하위 Second-level domain서버 " 알고 있음
Second-level domain: 하위 sub domain서버 " 알고 있음
sub domain: blog.example.com 아이피 주소를 알고 있는 유일한 도메인
일단 이 sub 도메인이 알고 있는 걸 한방에 알 수 없으니
root 도메인 부터 하나씩 물어 좁혀 나감.
고로 최소 root 도메인 서버의 아이피 주소는 알고 있어야함.
DNS register
도메인 이름 등록하려면
ICANN: 비영리 단체
1) 전 세계 아이피주소를 관리하고
2) 전세계에 13개로 흩어져 있는 Root name 서버들의 관리자
registry: .com. .net. co.kr. 탑 도메인 네임 관리
registrar:등록 대행자. 여기다 등록하고 싶은 주소를 알려줌. 돈내야함.
Root name server:
com NS a.gtld-servers.net
탑네임서버 .com서버는 a.gtld-servers.net에 있다
자신의 도메인을 운영하기 위해서 할일
Top-level domain에다가 내 아이피 주소 등록은 불가하고,
스스로 서버한 대를 마련해서 네임서버를 깔아 도메인 구축하는 방법 또는
Registrar가 네임 서버를 제공
하는 경우가 많고,
무료로 사용할 수 있는 네임 서버도 많음.
root name domain이 Top-level domain 알고 있는 것처럼
Top-level domain도
네임서버(authoritative name server)가 누구인지 알고 있어야함.
dns 관련 정보 수집하는 방법
1 example.com이라는 주소를 가지고 있는 컴퓨터의 아이피 주소를 알고 싶다면
nslookup 또는 DIZ(윈도우에서 안됨) 사용
1) nslookup 프로그램에서 찾고자 하는 사이트 이름 입력
2) DNS 서버의 주소 여기에 연결해서 의뢰
3) authritative name 서버가 응답한 게 아니라 DNS서버의 캐시가 응답
4) 아이피 주소
2 찾는 주소를 가지고 있는 네임서버(authoritative name server) 찾기
1) 네임서버 주소
3 DNS 서버 캐시를 거치지 않고 직접 물어보기
non-authoritative answer 항목 없어짐.
DNS 서버 캐시: 인터넷 접속기 isp가 자동으로 세팅해 주고, 클라이언트가 주소 물어볼 때 마다 매번 룻,탑레벨등 돌아가면서 물어보는 것이 아니라 DNS 서버가 갔던 사이트 주소는 캐시에 있다가 알려줌
내 도메인 이름 갖는 법
내 아이피를 가지고 있고, 도메인을 입히는 방법
이름짓기: coco4u.ga로 짓기로 함
등록 대행자를 통해 ga담당하는 registry에 등록 해야함
등록 대행자 freenom.com 서비스 1년간 공짜 사용
11강(나의 도메인 이름 장만하기)에 사용법 설명해줌
DNS record & CNAME
DNS record란?
dns4u.ga A 52.231.13.22 (A:address는 뒤에 주소다)
dns4u.ga NS ns01.freenom.com (NS: 네임서버는 뒤에 주소다)
ga NS a.ns.ga
위에 그림에 있듯이 각 한 건씩을 DNS 레코드라고 함.
구글로 DNS 레코드 검색하면 여러 약자에 대한 설명 나옴
CNAME 레코드?
서버에 도메인 네임을 지정하는 새로운 방식, 별명을 지어줌
www.dns4u.ga CNAME dns4u.ga
누군가 www.dns4u.ga로 접속하면 dns4u.ga로 연결이 되고
이 건 아이피 주소가 아니기 때문에
다시 dns4u.ga A 52.231.13.22로 가서 아이피주소를 주게됨.
domain name mapping
손님이 간략한 주소dns4u.ga로 접속했는데 --->
http://web-n.github.io/web1_html_internet/으로 연결되게 하는 법
github를 내 홈페이지로 사용할 수 있음.
내가 서버를 운영하지 않고, 남의 서비스를 사용하는 경우 주소가 엄청김.
1) 일단 dns4u.ga 도메인 네임을 구입한다.
2) 깃헙에 도메인 붙일 때 이 아이피 주소쓰라고 알려줌
configuring A records with your DNS provider
dns4u.ga를 담당하는 freenom에 가서 아이피 주소 두 개 다 입력
3) DNS서버에 dns4u.ga의
아이피 주소를 등록함.
4) 깃헙에 dns4u.ga 이 주소 들어오면
http://web-n.github.io/web1_html_internet/이 주소에 있는
자료 보여주라고 설정
github-settings-pages-custom domain-이름 지정
'개발자 기초 상식' 카테고리의 다른 글
VS code 단축키 (0) | 2021.08.18 |
---|---|
맥북 화면 분할 단축키 (0) | 2021.08.04 |
코딩할 때 알아두면 좋은 사이트와 정보 (0) | 2021.06.22 |
프론트엔드, 백엔드, 데이터 베이스 (0) | 2020.05.07 |
Program이란? 코딩이란? (0) | 2020.04.14 |
댓글