goorm 19일차

박경현·2022년 8월 31일
0

오늘은 네임서버 연결 하는법을 배웠다
이 방식을 외우는게 아니라 왜 이렇게 연결하는지 이해하는게 더 중요하다!!

쉘 스크립트 기본 방식

우분투 터미널의 기본 쉘은 bash쉘이다

쉘의 명령어 처리 - 명령어 [옵션] [인자]
rm -rf /mydir
환경변수 echo $환경변수 하면 확인가능
HOME, PATH PWD

쉘 스크립트 프로그래밍
vi나 gedit으로 작성가능

gedit name.sh
#!/bin/sh
echo "사용자" $USER
read myvar -> 이거 하면 입력 받음
echo $myvar
exit 0

chmod  755 name.sh
./name.sh

변수의 기본 -> 기본은 문자열로 취급
=좌우 공백없어야함

expr을 사용하면 수식 가능 ``로 감싸야한다

파라미터
sh paravar.sh 값1 값2 값3

#!/bin/sh
echo <$0> <$1> <$2>

기본 if 문
if [조건]
then 
	참일경우
else
	거짓일 경우
fi
비교연산자
	= , != -n(널 아니면 참), -z(널이면 참)
	-eq(같으면) -ne(다르면) 
	-gt(왼쪽이 크면) -ge(왼쪽이 크거나 같으면) 
	-lt(왼쪽이 작으면) -le(왼쪽이 작거나 같으면)

-f 파일이름 - 파일이 일반 파일이면 참
-e 파일이름 - 파일  존재하면 참
-d 파일이름 - 파일 디레ㅔㄱ토리면 참
-r,-w,-x등도 있음

case "$1" in
	start)
		echo "시작"
	stop)
		echo
esac
exit0

네트워크 서버 구축

서버를 자기자신에게 접속해서 잘되는데 외부 통신이 안되면 그때는 네트워크문제

텔넷 서버 - 별로 안 좋음(데이터 전송시 패킷 암호화 하지 않아서)

apt install xintentd telentd 

openssh방식 - 데이터 전송시 암호화가 되어있다

open ssh 서버 - 데이터를 전송할때 암호화를 함

서버 설치 - 방화벽 설정 - 윈도우에서 접속

apt -y install openssh-server
systemctl restart ssh
ufw allow 22/tcp

모든 서버는 전용 클라이언트 소프트웨어가 필요하다 (웹서버,DB서버,ftp서버)

윈도우클라에서 windows기능켜기/끄기 들어가서 텔넷클라를 키면 됨

네임서버

DNS서버라고도 함

도메인이름을 ip주소로 변환시켜 주는 역할

초기네트워크일때는 ip 외워서 접근 가능했다
host파일(url과 ip주소를 적어놓음)을 이용하여 네트워크 접속
-> /etc/hosts
102.54.97 a.a.a.a
네임서버를 이용해 네트워크 접속 -> 인터넷사이트 생성되었다 없어졌다 해서 외우기 힘듬

nslookup 해서 server치면 나오는 ip가 DNS서버임
cat /etc/resolv.conf하면 네임서버 알려줌 == 192.168.111.2랑 같다

네임서버 막혀도 /etc/hosts파일을 먼저 보기 때문에
여기 적혀있으면 그냥 들어갈 수 있다
dns서버랑 hosts 둘다 ip가 이상해도 검사 안하고 바로 들어감!

도메인 이름 체계

초창기 인터넷은 1대의 네임서버만으로 ip주소 관리 가능
트리 형태 도메인 이름체계 고안
ex) com을 찾아서 들어간뒤 naver를 들어감

ROOT 도메인이 com, net org등을 검사 (net. 해도 들어가짐 .까지 적는게 원래 룰)

로컬 네임서버가 작동하는 순서
/etc/resolv.conf에 적혀있는 네임서버를 의미

1. www.nate.com의 ip주소 요구시
2. /etc/resolve.conf에서 ip확인
3. 로컬네임서버에 캐시DB에 URL적혀있다
4. 루트네임서버에 물어봄
5. com네임서버를 알려줌
6. com네임서버에게 nate물어봄
7. nate.com에게 물어봄 -> nate.com네임서버가 자기 캐시 DB에서 www.nate.com IP를 알려줌
8. 드디어 나에게 ip알려줌

캐싱전용 네임서버 만들기 (내 VM하나를 네임서버로 만들기)

apt -y install bind9 bind9utils
gedit /etc/bind/named.conf.options
systemctl restart named
systemctl enable named
ufw allow 53

dig @192.168.111.100 www.nate.com해서 정상적으로 나오면 네트워크 연결되어있는거

리눅스 클라이언트에서
nano /etc/resolv.conf 에서 nameserver를 위에 ip로 바꾸면 저게 도메인 서버가 됨

윈도우에서는 제어판 들어가서 네트워크 들어간뒤 ethernet클릭 -> 속성 -> 인터넷프토콜버전(tcp/ip)
->속성 -> dns적어주면됨

마스터 네임서버


도메인에 속해있는 컴퓨터들의 이름을 관리하고 외부에 해당 컴퓨터의 ip주소를 알려주는 역할
자신만의 도메인에서 관리하는거!

john.com을 만들어서 외부에서 여기 접속가능하게 함

serverB에 ftp서버를 만듬
apt -y install vsftpd
ufw allow 21

라운드 로빈

웹서버가 대용량일때 사용
www 1.1.1.1
www 1.1.1.2 처럼 여러개 작성해놓음

profile
SW로 문제를 해결하려는 열정만 있는 대학생

0개의 댓글