kakao Cloud school 2기 D+18

LEE EUI JOO·2022년 11월 24일
0

네트워크

목록 보기
9/9
post-thumbnail

1. 네트워크 최종 문제

1-1. 문제

나에게 주어진 172.16.101.0 /24 사설 대역을 VLSM 하여 VMnet을 구성하시오.
(Vmware Workstation은 네트워크 구성후 재부팅을 해야 GNS3와 연동이 된다.)
답> virtual network editor 의 스샷
VLSM
1. Vmnet8 - NAT 대역
2. Vmnet5 - 172.16.101.128 /26 , SM - 255.255.255.192
3. Vmnet6 - 172.16.101.0 /25 , SM - 255.255.255.128

항상 ncpa.cpl 로 접속을 해서 알맞게 네트워크가 구성됐는지 확인해야한다.
1. GNS 라우터에 add ip

2. 접점 마다 통신이 가는지 확인

3. 내부를 외부(공인)IP로 바꿔 주는 NAT설정 - access list 2개
NAT가 발생하는지 확인 하는 명령어 - do sh ip route tran

Inside : 나
Outside : 상대방
Global : 공인 (외부)
Local : 사설 (내부)

4. 외부와 통신하기 위해서 정적 라우팅(ip route 0.0.0.0 0.0.0.0 211.183.3.2)

5. PING 쳐보기 do ping 8.8.8.8 source 172.16.101.130 

6. 외부와 통신 가능하면 성공

7. VMware 서버 만들기

서버 1 : 클라이언트 (PxE, NFS)
서버 2 : Wordpress, Web
서버 3 : PxE, DNS - CD는 DVD로 넣을 것
서버 4 : NFS, DB(Maria DB)

1-2. 문제

다음의 서버는 client에서 영문주소로 접근해야한다.
web(wordpress) 서버 www.kakao.com
DB서버 db.rapa.com
NFS 서버 nfs.rapa.com
DNS 및 PxE서버 dns.rapa.com

1-3. 문제

mariaDB(MySQL)의 경우 기본 포트가 3306이다. 3305로 DB포트를 변경하여 구성하시오.
mysql 명령어(클라이언트)중 -u는 유저, -p는 패스워드, -h는 호스트, -P는 포트이다. 
답> 각 서버에 대한 nslookup
답1> mysql 명령어로 DB가 설치된 서버의 3305번 포트로 접속하는 스샷.
DB서버 구성 시작
1. mariaDB 패키지 설치

2. DNS 패키지 설치

3. enable 상태 만들기

4. 방화벽, 셀리눅스 OFF

5. mysql_secure_installation 설정

6. 루트 계정으로 접속

7. CREATE db, 권한 설정

8. 로컬에서 접속하고 싶으면 권한 추가로 설정 (wpuser@localhost)

9. showdatabases

10. netstat -tnlp 나의 port 보기
net-tools 설치 하면 netstat 명령 볼 수 있음

11. vi /etc/my.cnf.d/server.cnf
**************************************************
[mariaDB]
port = 3305 추가 후 systemctl restart mariadb
**************************************************
* 오류 발생시 셀리눅스, 방화벽 꺼져있는지 다시 확인하고 문제해결 할 것

12. RAID 설정 part 이동
/source 마운트 해줌
nfs로 마운트 해준 상태임

13. wordpress 서버 작업 시작
wordpress 설치를 위한 패키지 모두 설치 +)bind utils, mysql 까지

14. httpd 재시작, 실행
방화벽, 셀리눅스 OFF

15. wget 으로 wordpress 설치

16. zip 파일 살치하고 압축풀고 zip파일 삭제

17. cp ./wordpress/* /var/www/html
하위디렉토리까지 모두 복사하겠다
웹서버가서 파일 다운 받는다는 의미
앞 : 상대경로 / 뒤 : 절대경로
> cd /var/www/html
> ls
> mv wp-config-sample.php wp-config.php
이름을 바꿔줌

18. vi 명령어를 통해 php 파일 수정
db user : wpuser
db name : wp-DB
db password : XXXX
db hostname : DB서버주소:port번호(3305로 변경했었음)
* 데이터베이스는 포트를 변경해줄 일이 많다.

19. http 재시작 후 크롬으로 접속

* 만약 포트를 안붙였을 경우
"Error establishing a database connetction" 이 뜰것임
1. db 연결 문제 ? ping 때려보기

2. 두 서버의 방화벽과 셀리눅스 off 확인

3. mysql -u wpuser -pXXXX -h XXXX.XXXX.XXXX.XXXX -P port번호 접속되는지

4. 접속됐으면 show databases로 wp_db 확인

5. 권한 문제?

6. 결국 이상 없으면 wp-config파일에 문제가 있을 수 도 있음 (오타가 있는지 확인)

******************************************************
PxE 구성 시작

1. bind bind-chroot, bind-utils 패키지 설치

2. /etc/named.conf 네임서버의 기능적인 설정 
모든 쿼리를 주고 받겠다 - any로 설정

3. /etc/named.rfc1912.zones :영역을 정의
rfc1912 : 닷컴의 모든 파일에 접속했을 때 어디로 안내해줄지 안내하는 파일임

3-1. kakao.com 카카오닷컴에 접속했을 때는 kakao.com.db 파일을 만들어서 연결해주겠다.
3-2. rapa.com 라파닷컴에 접속했을 때는 rapa.com.db 파일을 만들어서 연결해주겠다.

4. /var/named/kakako.com.db 
$TTL ~
@
...
		IN	A	IP
www		IN	A	IP
추가!

/var/named/rapa.com.db
$TTL ~
@
...
		IN	A	IP
nfs		IN	A	IP
db		IN	A	IP
dns		IN	A	IP
추가!
...

5. restart named 해주기
방화벽, 셀리눅스 OFF

6. nslookup 해보기 여러 도메인

아마 8.8.8.8로 되어있을 것임
resolv.conf 파일로 임시로 바꿔줄 수 있다.

systemctl restart network 하면 다시 네임서버가 8.8.8.8로 변경되어 있음

워드프레스 서버로 가서 nslookup 해보기
resolv.conf 임시로 수정해주고
nslookup 해볼 수 있다.

1-4 문제로 이동*************************




1-4. 문제

웹서버는 http://www.kakao.com/wordpress 가 아닌, 
http://www.kakao.com 를 통해 워드프레스 블로그를 배포한다.
또한, PxE 구성을 위해 http로 운영체제를 전송할 서버이기도 하다. 
답1> www.kakao.com 에 접속한 스샷.
답1> default 파일 스샷
워드프레스의 wp-config 파일로 들어가서
호스트네임을 db.rapa.com:3305 수정

PxE 서버 구성하기

1. dhcp 구성하기 ,tftp, syslinux
yum -y install dhcp tftp-server syslinux

2. 재시작 및 실행(enable)

3. xinetd.d/tftp 
'no'로 수정 - 재시작
DVD.iso 파일 넣고 connected 체크(파일이 보이게)

4. mount /dev/cdrom /media

PxE 서버가 필요한 파일은 
tftp : vmlinuz, initrd.img - 이것들은 iso 파일 즉, media안에 있다
		pxelinux.0 - 이것은 syslinux 패키지에 있음
3가지 파일들을 전송해야함

4-1 파일 1: cp /media/images/pxeboot/vmlinuz /var/lib/tftpboot
4-1 파일 2: cp /media/images/pxeboot/initrd.img /var/lib/tftpboot
4-1 파일 3: cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot

이 세가지 파일을 tftp의 루트디렉토리로 복사
* /usr : 사용자 파일, 사용자가 설치한 프로그램 폴더를 의미한다.

5. mkdir /var/lib/tftpboot/pxelinux.cfg
디렉토리 생성

6. vi /var/lib/tftpboot/pxelinux.cfg/default
생성과 동시에 편집

<추가>
*************************************************************
DEFAULT ~

...

 kernel vmlinuz
 APPEND initrd=initrd.img repo=http://www.kakao.com/os
 *영문라우팅이 가능하다고 가정하고 나중에 os 라는 폴더를 생성하여 넣을 것이다

*************************************************************

7. dhcp 구성
dhcp를 뿌려줄 대역대를 기준으로 conf 파일 수정

* range 너무 타이트하게 잡아주면 오류가 발생할 가능성이 있음.
* 옵션 도메인 서버 - DNS 주소
* next-server - dhcp,tftp,PxE가 구성되어 있는 server

systemctl restart ,enable 쳐주기

************************************************************
wordpress 서버 시작 -wordpress os 파일 전송하기 위함

1. mount /dev/cdrom /media
2. mkdir -p /var/www/html/os
3. cp -r /media/* /var/www/html/os
************************************************************
PxE, NFS Client 서버로 이동

만들어놨던 PxE 클라이언트 서버로 가서 
vmnet 5 번으로 설정하고 , cd 삽입 안하고 
실행!
************************************************************
PxE 서버로 이동
1. yum 으로 kickstart 패키지 설치 - 오류날 가능성이 있다.
<주의>
* yum 패키지 점유하고 있을 때 대처법 - yum을 도중에 stopped 했거나,창을 여러개 띄었을 때 발생할 수 있음

PID 번호 기억
kill -9 [PID]

2. GUI로 넘어가서 kickstart 설정

HTTP - www.kakao.com
HTTP Directory - os

kickstart 파일 이름 centos.ks 지정

<주의>
ftp/pub이 아니고 미지정 했으면,
PxE 서버에서 yum-y install httpd 설치 www/html 폴더가 생성될 것임 
이 경로로 킥스타트 파일을 저장

<경로>  : cfg/default 파일에 접속 
ks=http://dns.rapa.com(PxE서버)/centos.ks (최상위 디렉토리이기 때문에) 추가

vi ..../centos.ks  수정
<추가>
************************************************************************
%packages
@base
@core
@directory-client
@fonts
@gnome-desktop
@input-methods
@internet-browser
@x11
%end
************************************************************************

3. client 에서 firefox 접속
4.DNS 서버 확인 - cat /etc/resolv.conf
5.ping 때려주기
완료!
************************************************************************
NFS,PxE 클라이언트서버 마운트

1. nfs-utils 설치

2. ping nfs.rapa.com

3. mount -t nfs.rapa.com:/source /door

4. 디렉토리 생성 - mkdir /door , 권한 설정 - chmod -R 777 /source
 
5. 방화벽 셀리눅스 OFF

6. ls -l | grep source
권한 확인

7. systemctl restart nfs-server / systemcrl enable nfs-server

7. touch .txt파일 하나 만들어서 확인

종료

1-5. 문제

NFS server의 /source 폴더는 RAID16으로 구성된 약 6GB 정도의 공간이어야한다.
답> df -h 스샷	
RAID16
1. NFS서버의 power off 한상태로 3GB 용량의 디스크 8개 추가

2. fdisk 설정 (파티션) - sdb,sdc,sdd,sde,sdf,sdg,sdh,sdi 

3. yum -y install mdadm
mdadm 명령어 실행을 위한 패키지 설치

4. 2개의 세트로 묶어서 미러링 - RAID1

5. 4개의 세트로 묶어서 RAID6 구성

6. mkdir /source -> mount

7. df -h (5.8기가 정도)

8. vi /etc/fstab 
마운트 유지

9. NFS 패키지 설치

10. NFS 공유 대상 설정 
vi /etc/exports
************************************************************
/source				ip(rw)*
************************************************************
systemctl enable nfs-server
exportfs -r
shomount -e

11. ls /source/
touch 를 통해 테스트용 내용물 추가

1-6. 문제

PxE 및 NFS client
CentOS7이 무인설치 되어야 하며, 웹브라우저(Firefox)가 사용가능해야한다.
또한, 이 서버의 /door 폴더를 통해
NFS 서버의 /source 폴더를 NFS로 접근해야한다.
답> firefox 브라우저에서 www.kakao.com 으로 접속했을때 wordpress가 뜨는 스샷.
답> df -h 스샷.

2. 가상화 (Virtualizaion)

2-1. 어디에?

2-2. 어떻게?

3. KVM (Kernel-Based Virtual Machine)

srv3 - 서버 하나 생성 스펙은 기본
소프트웨어 installation은 - minimal

profile
무럭무럭 자라볼까

0개의 댓글