일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ncloud
- subnetting
- 네트워크
- Winodws Server
- FTP
- router
- 접근 권한
- Vmware
- Linux
- ip
- NFS
- naver cloud
- network
- SSL
- web
- Windows Sever
- SSH
- acl
- VMware Workstation
- /etc/default/useradd
- packit tracer
- 비구름
- subnet mask
- 가상 호스트
- DNS
- Windows Server
- lvm
- dhcp
- raincloud
- 디스크 관리
- Today
- Total
비구름
33. HTTPD, DNS, 복습 본문
목차
1. 복습 문제풀이
2. HTTPD
3. DNS
1. 복습 문제풀이
Network 10.0.0.0/24
- 서버는 30대 운영중, 고정IP사용중, IP는 네트워크 앞쪽부터 순차적으로
- dhcp 서버는 11번째 운영 중
- dns 서버는 첫 번째에서 운영중, 단 2차 DNS는 Google의 Public DNS를 사용
- Gateway주소는 마지막 IP 사용중
- 임대시간은 1시간
- 예약기능 사용해서 W10-1은 101번째 IP, W11-1은 201번째 IP를 우선적으로 사용
VSFTPD
- passive Mode로 운영
- Server Port : min 60000 max 65000
- 사용자 cc, dd 중 cc는 chroot, data 디렉토리에 chroot 설정 파일은 chroot
- anoymous 사용여부 : 사용, upload허용여부 X
- xferlog 위치 /data/xferlog
- 배너 파일 위치 /data/ban
- tcp_wrapper 사용여부와 차단할 IP : W10-1 허용, W11-1 불가
- idle time & Data Connection time out : idle time 5분, Data Connection time out 1분
HTTPD (Apache) + Nginx
- yum install –y httpd
- systemctl start httpd
- tcp 80 방화벽 열기
1.1 DHCP 설정
1.1.1. dhcpd 패키지를 설치합니다.
1.1.2. 문제에 제시된 조건에 맞게 IP Address를 설정합니다.
1.1.3. 할당받은 IP Address를 확인합니다.
1.2. FTP 설정
1.2.1. vsftpd 패키지를 설치합니다.
1.2.2. 사용자 cc, dd를 생성하고 패스워드를 설정합니다.
1.2.3. 배너파일, chroot_list, xferlog 파일을 저장할 /data 디렉토리를 생성 후 설정 파일을 작성합니다.
1.2.4. 문제에 주어진 설정에 맞게 /etc/vsftpd/vsftpd.conf 파일을 설정합니다.
1.2.5. tcp_wrappers를 설정합니다.
1.2.6. 방화벽을 설정합니다.
1.2.7. ftp 서버가 정상적으로 연결되는지 확인합니다.
1.2.8. FileZilla를 통해 chroot가 정상적으로 설정되었는지 확인합니다.
1.3. httpd 설정
1.3.1. httpd 패키지를 설치합니다.
1.3.2. 방화벽을 설정합니다.
2. HTTPD
2.1. httpd의 설정파일
- /etc/httpd/conf/httpd.conf : 설정 파일의 경로
- ServerRoot 서버의 설정들이 있는 디렉토리
- Listen : 어떤 포트를 사용할 것인지 지정(지정 후 Domain 뒤에 포트 번호를 생략할 수 있음)
- 각종 모듈을 저장하고 conf 파일을 필요할 때 가져다가 사용
- 웹서버가 탈취당했을 시 루트 권한을 빼앗기지 않기 위해 루트권한은 설정하지 않음
- 서버의 관리자 (보통 팀메일을 사용)
- 서버네임, 주로 DNS에서 처리
- 루트 디렉토리에 대한 권한 설정(사용자 인증 사용, 모든 사용자들의 최상위 디렉토리로의 접근 불허)
- Web root 디렉토리, 컨텐츠 파일을 저장하는 곳
- 컨텐츠 디렉토리에 대한 권한 설정
- 디렉토리 리스팅 기능 설정 : 특정 URL을 입력했을 때 하위 디렉토리의 목록이 나열되는 것 (보안상 절대 설정하면 안됨)
- 시작페이지의 이름(index.html파일로 시작페이지로 사용)
- .ht로 시작하는 모든 파일 접근 거부, 사용자 인증에 대한 파일 파일권한 지정
- 에러로그
- 로그 레벨 설정(로그 레벨이 warn 이상일 때부터 에러로그를 기록)
- 웹서버에 접근한 시간
- 멀티미디어파일에 대한 설정
- 어떤 에러페이지를 보여줄 것인지 설정
- 1000줄이 넘는 아파치 설정 파일을 분리해 놓은 것
2.2. index.html 생성하기
2.2.1. httpd를 시작합니다.
2.2.2. index.html 파일이 없으면 Wellcome Page가 출력됩니다.
2.2.3. /var/www/html/index.html 파일을 생성합니다.
2.2.4. 파일을 간단하게 설정해 줍니다.
2.2.5. httpd를 재시작합니다.
2.2.6. 10.0.0.11로 접속 시 index.html 파일을 읽어와 시작페이지를 보여줍니다.
3. DNS
3.1. DNS란?
- Domain Name System, Service, Server-
- 정방향 조회 : URL을 IP Address로 변환
- 역방향 조회 : IP Address를 URL로 변환
3.2. URL 검색 순서
- cache memory 확인
- ipconfig /displaydns 캐쉬확인
- ipconfig /flushdns
- /etc/hosts 참조
- DNS (고정 IP 설정 or DHCP 서버에서 수신하는) 참조
3.3. nslookup
- DNS 서버에 질의하여, 도메인의 정보를 조회 하는 명령어
- set type=all : 도메인 정보를 더 상세하게 조회
3.4. URL 검색 순서 확인
3.4.1. W10의 compmgmt.msc를 실행합니다.
3.4.2. 컴퓨터 관리 - 로컬 사용자 및 그룹 - 사용자 - Administrator의 암호를 설정합니다.
3.4.3. Administrator의 속성에서 계정을 활성화합니다.
3.4.4. 로그아웃 후 Administrator 계정으로 로그인 합니다.
3.4.5. 가짜 DNS 서버를 사용하고 있었기 때문에 public DNS 서버의 주소로 설정합니다.
3.4.6. cmd 창에서 nslookup 명령어를 통해 DNS 서버에 질의합니다.(권한없는응답 – 지정된 DNS 서버에 저장되어 있는 cache가 응답한 것)
- cache : 저장된 정보. 클라이언트 컴퓨터에서 입력했던 정보를 지정된 DNS 서버가 저장해두었다가 다음에 똑같은 요청을 받으면 네임서버를 거치지 않고 저장된 cache를 통해 바로 클라이언트에게 알려줌
3.4.7. IP Address를 통해서도 웹사이트에 접속할 수 있는 것을 확인합니다.
3.4.8. set type=all 명령어를 사용 후 질의하면 더 상세한 도메인 주소를 조회할 수 있습니다.
3.4.9. DNS 서버 주소를 ns1.naver.com의 주소로 바꾸고 테스트합니다.
3.4.10. /etc/hosts 파일을 참조하는 것을 확인하기 위해 cachs를 초기화합니다.
3.4.11. naver.com의 IP Address를 하나 복사합니다.
3.4.12. 복사한 주소를 hosts 파일에 붙여넣어 daum.net으로 지정합니다(hosts 파일의 수정은 administrator만 가능)
3.4.13. daum.net을 입력하면 naver로 연결됨(/etc/hosts를 참조)
3.5. Recursive Query
- 클라이언트가 Public DNS 서버에게 어떠한 URL의 IP Address를 요청
- Public DNS가 root DNS에게 URL을 물어보면 최상위 도메인을 알려줌
- Public DNS가 해당 최상위 도메인을 관리하는 DNS에게 물어보면 URL이 등록된 DNS를 알려줌
- Public DNS가 해당 URL이 등록된 DNS에 물어보면 Public DNS에게 IP Address를 알려줌
- Public DNS에서 IP Address를 클라이언트에게 전달하여 웹페이지에 접속
3.6. DNS 서버 설정
3.6.1. DNS 관련 패키지를 설치합니다.
3.6.2. vi 편집기로 /etc/named.conf 설정파일을 open 후 설정합니다.
3.6.3. vi 편집기로 /etc/named.rfc1912.zones 설정파일을 open 후 설정합니다.
3.6.4. 정방향 조회 설정 파일을 복사하여 hgjang.xyz를 생성합니다.
3.6.5. /var/named/hgjang.xyz 파일을 설정합니다.
- ; : 주석
- TTL : Time to Live. 캐시 활성 시간, 서버 정보를 자주 변경하는 경우는 짧게 입력
- @ : 기본 도메인
- IN : Internet. 네트워킹 주소 클래스
- SOA : Start Of Authority. 네임 서버 관리자 메일 주소. 해당 도메인의 모든 리소스에 대한 권리를 알려 주는 레코드
- NS : Name Server. 네임 서버를 지정
- MX : Mail Exchanger. 지정하는 메일 서버가 2개 이상일 때 우선순위를 지정
- A : Address. 도메인을 IP로 매핑하는 가장 중요한 레코드
3.6.6. DNS 서버를 동작시킵니다.
3.6.7. DNS 방화벽을 설정합니다.(TCP, UDP 둘 다 사용)
3.6.8. hgjang.xyz 파일의 읽기 권한을 설정합니다.
3.6.9. DNS 서버를 재시작합니다.
3.6.10. 구성한 DNS 서버의 주소를 할당합니다.
3.6.11. nslookup 명령어로 DNS 서버의 동작을 확인합니다.(역방향 조회 설정이 되어있지 않기 때문에 Unknown 출력)
3.6.12. Linux의 DNS 주소를 변경하고 Linux에서도 테스트를 진행합니다.
3.6.13. 역방향 조회를 설정합니다.
3.6.14. 역방향 조회가 정상적으로 설정된 것을 확인합니다.
3.7. DNS 서버 제거
'공부' 카테고리의 다른 글
35. 가상 호스트, Linux 서버 구축 문제풀이 (0) | 2022.03.28 |
---|---|
34. Linux 문제풀이(DHCP, FTP, WEB, DNS) (0) | 2022.03.27 |
32. FTP(Active, Passive, FileZilla) (0) | 2022.03.21 |
31. FTP(1) (0) | 2022.03.16 |
30.DHCP(2) (0) | 2022.03.16 |