220411

HyeonKi Jo·2022년 4월 11일
0
post-thumbnail

복습(네트워크)

  • VPC : AWS에서 사용하는 네트워크
  • 만약 랜카드가 두개가 존재하고, CentOS에서 랜카드 하나가 켜져있지 않을 수 있다.
vi /etc/sysconfig/network-scripts/ifcfg-enp0s8
ONBOOT=yes
systemctl restart network

NAT

NatNetwork

NatNetwork+HostOnly

Bridge

VM Vbox 설정

  • 파일 -> 환경설정 -> 네트워크
  • 오른쪽에 +를 눌러서 NatNetwork를 새로 만든다.
  • 또, VM에서 네트워크를 NatNetwork로 설정해준다.
    - 여기서 NatNetwork를 선택할 수 있는데, 이는 NatNetwork도 여러개를 선택할 수 있기 떄문이다.
  • NAT와 NatNetwork의 차이점은, 하나의 IP로 같이 쓰는지(NAT), IP를 다르게 주는지의 차이이다.(NatNework), 또 이것은 Virtual Box만의 특징이고 다른환경에서는 이렇지 않다.
  • HostOnly를 사용하면 Manager(Host Win10)으로는 들어갈 수 있지만, 외부에서는 들어올 수 없다.
  • 10.0.X.X랑 192.168.X.X랑은 다르다.
    - 이를 연결하려면, 라우팅이나 포트포워딩이 필요하며, 이것이 공유기가 하는 역할이다.
    • Virtual Box에서는 환경설정->네트워크 설정에서 세팅할 수 있다.

포트 포워드

  • VM이 사설 네트워크 안에서 여러개가 존재할 때,
    NAT를 이용하면 동일한 IP를 가지게 된다. 따라서, 각 VM에 접속할 떄, Port를 다르게 주어 포트포워딩을 해야한다.
  • 그러나 그렇게하려면 각VM마다 다르게 설정해야 하기 때문에 하나의 NatNetwork로 VM을 관리하며, 각 다른 IP와 하나의 NatNetwork규칙으로 컨트롤 할 수 있다.
  • NatNetwork규칙에서 HostIP는 Win10의 IP를 넣고, Guest IP는 각 VM의 IP를 입력해준다.
  • 또, 규칙마다 다른 port를 주어 VM마다 다른 Port를 가지게 한다.
  • 설정 후, CMD에서 VM에 접속할 때, ssh root@[HostIP]로 접속 할 수 있지만 여기에 port번호를 추가로 넣어 VM을 구분하여 들어갈 수 있다.

네트워크란?

  • 네트워크는 리소스 (예 : 프린터 및 CD)를 공유하거나 파일을 교환하거나 전자 통신을 허용하기 위해 연결된 두 대 이상의 컴퓨터로 구성된다.


서버

서버

  • CentOS7 리눅스 서버 (AWS EC2 - Amazon Linux 2 Image와 비슷하다.)

SSHD(Secure Shell Daemon; Keypair 생성 및 활용) - AWS KeyPair

  • 키 쌍은, 특정 인증 프로토콜에 사용되는 공개 키 (자물쇠-서버, Public), 프라이빗 키(열쇠 - 개인 폴더, Private; *.pem) 파일을 나타낸다.
  • 퍼블릭클라우드의 보안은 대부분 암호방식이 아닌 키방식이다.

키페어 생성 및 분배

# VM접속 후,
ssh root@[IPaddress]
mkdir /root/.ssh
# 다시 host CMD로 이동
eixt

# 키페어 생성
ssh-keygen -t rsa
cd %UserProfile%\.ssh

# 키 VM으로 Copy
scp id_rsa.pub root@192.168.56.120:/root/.ssh/authorized_keys

# 키로 접속해보기
ssh -i id_rsa root@192.168.56.120

vi /etc/ssh/sshd_config
PasswordAuthentication no
Syste.ctl restart sshd

HTTPS(Hyper Text Transfer Protocol Daemon; 웹서버 구축 및 간단 홈페이지 꾸미기) - AWS linux(apache, linux), nginx(linux), IIT(Internet Information Service, win)

접속하는 법

  • cd %UserProfile%\.ssh : id_rsa가 있는 위치로 간다.
  • ssh -i id_rsa root@192.168.0.69 : 키로 접속

httpd 상태확인

  • HTTP는 HTML문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜이다.
  • 저번시간에 했던 웹페이지가 접속이 안된다.
  • curl 127.0.0.1
    - curl : HTML 코드를 출력해준다.
    • 127.0.0.1 : 자기자신에게 제공하는 Loopback IP, 내 서버를 테스트하는데 사용한다.
  • systemctl status httpd : httpd의 상태를 확인하는 명렁어
  • systemctl start httpd : 서버 구동하기
  • systemctl status httpd : 서버 Active(start)된거 확인하기
  • curl 127.0.0.1 : HTML소스 출력되는거 확인하기
  • systemctl stop httpd : start와 반대로 httpd종료하는 명령어
  • systemctl restart httpd : httpd 다시시작 하는 명령어

httpd 항상 켜기

  • httpd 서버는 VM이 꺼졌다 켜질 때, 서버가 항상 꺼져있다.
  • VM이 켜져있을 떄, 자동으로 시작(Active)하려면 시작프로그램에 등록을 해야한다.
  • systemcrl enable httpd : 자동으로 httpd가 작동시키려면 enable명령어를 사용한다.
    - enable 명령어는 시작프로그램들 중, Symbol링크를 시작프로그램에 넣어준다.
  • 즉, httpd를 start명령어로 start해주고, enable로 등록해주어야 한다.
  • 서버 프로그램들은 주로 start를 해줘야 하고, 꺼졌다 켜지면 다시 켜질 수 있도록 enable명령어로 등록해 줘야 한다.
  • 매번 자동으로 올라오는 서비스도 있지만, 만약 수동으로 OnOff해주려면 systemctl disable httpd 명령어를 사용한다.
    - 이 명령어는 stop의 의미는 없어 작동이 유지되나 reboot하면 꺼져있다.

방화벽 설정하기

  • 방화벽은 내부에서 나가는 것을 제외하고 밖에서 시작된 접속을 막는다.
  • 그중 필요한 포트, 필요한 규칙을 만들어 규칙에 맞는것만 오픈한다.
  • firewall-cmd : firewall어플리케이션을 컨트롤하는 명령어
firewall-cmd --get-active-zone
firewall-cmd --zone=public  #지금 zone하나밖에 없어서 생략가능하다.
firewall-cmd --permanent --add-servid=http #서비스에 http를 삭제
firewall-cmd --reload
  • http 서비스를 추가가 아닌 삭제하려면 firewall-cmd --permanent --remove-service=http
  • firewall-cmd --permanent --add-port=22/tcp : 이렇게 port번호로도 가능하다.
  • (참고) --옵션.풀네임, -옵션.줄임말, ---의 차이는 풀네임이냐 아니야의 차이이다.
  • -permanent는 껐다가 켜도 실행하게하기 위해 넣은 옵션이다?

오후강의

Storage 추가(Mount; Vlock storage 다루기) - AWS EBS

  • 마운트(nound)s는 컴퓨터 과학에서 저장 장치에 접근할 수 있는작업이다.

  • 좁은 의미로는 유닉스 계열의 운영 체제에서의 mount 명령어 또는 그 명령을 사용하는 것입니다.

  • mount 명령어를 사용하면 저장 장치의 접근 경로를 원하는 위치에 생성할 수 있다.

  • 마운트를 이용하면 분산 파일 시스템으로 확장하기가 용이하다. 사용자는 마운트된 미디어된 미디어의 파일들에만 접근이 가능하다.

  • df -h : 현재 디스크 사용량 보기

  • lsblk : 디스크별 사용량을 보여준다.

  • VBox에서 현재VM에 설정에 들어가 디스크에 동적할당 으로 8Gb 가상디스크를 생성해준다.

  • sda : sd는 디스크를 말하는 것이고, a는 windows로 따지면 C드라이브다.

    • win에서 C D E 순으로 생성되고, Linux에서는 A B C 순으로 생성된다.
    • sbB (8Gb)가 잘 연결된 것을 볼 수 있다.
  • mkfs -t xfs /dev/sdb : /dev/sdb 여기서 sdb라는 장치파일을 xfs로 포맷하는 명령어이다. -t는 포맷의 타입을 설정할 수 있는 옵션이다. 여기서는 xfs로 설정했다.

    • xfs는 linux에서 사용하는 포맷형식이다.
    • 윈도우는 아래 형식으로 포맷된다.



  • 포맷 후 이런 출력이 나온다.

    • 여기서 bsize는 블록 사이즈를 뜻한다.
  • 새로 연결하기 위한 생성한 디스크는 sdb이고, 이것을 직접 사용할 수는 없고, /data라는 폴더를 sdb에 mount하여 그 폴더를 sdb처럼 사용한다.

    • /data는 결국 sdb로 들어가는 문이 되는 것이고, 실제 데이터는 sdb에 있다.
    • 그래서 umount /data하면 /data에는 아무것도 없게 된다.


  • VM poweroff 후, VM Vbox에서 XFCE에서 연결 해제하고, Minimal에 연결하고, mount후 내부를 보면 file1이 존재한다.


  • Minimal에서 Mount까지 진행하였다. 그러나 이때 reboot하면 mount가 풀려버린다.

  • 그래서 항상 자동으로 mount하기위해 시작프로그램에 올린다.

  • cp /etc/fstab /etc/fstap.orig : fstab 원본을 /etc/fstap.orig로 복사해서 백업을 만들어 놓는다.

  • blkid : 디스크의 UUID들을 보여준다.

  • sdb 의 UUID를 복사한 후

  • vi /etc/fstab : 에 마지막에 붙혀넣어준다

  • UUID를 얻어 /etc/fstab 마지막에 붙혀넣어 주었다.

  • lsblk를 살펴보면 sdb가 /data에 잘 mount된 것을 볼 수 있다.

  • 또, file1또한 존재함을 볼 수 있다.

SAMBA(Server Message Block; 윈도우용 파일 공유 시스템과 유사) - Amazon FSx(Window 전용)와 유사 - 완전 관리형 서비스

  • 서버 메시지 블론 (Server Message Block, SMB)은 도스나 윈도우에서 파일이나 디렉터리 및 주변 장치들을 공휴나느데 사용되는 메시지 형식입니다.
  • NetBIOS라는 SMB 형식에 기반을 두고 있으며, 많은 네트워크 제품들도 SMB를 사용합니다. 이러한 SMB 기반의 네트워크에는 랜매니저, 윈도우 포 워크그룹(Windows for Workgroups), 윈도우 NT, 그리고 랜 서버(Lan Server) 등이 있습니다.
  • 서로 다른 운영 체제 사이에 파일을 공유할 수 있도록 하기 위해 SMB를 사용하는 제품들도 많이 있습니다. 그 중 하나가 삼바인데, 유닉스와 윈도우 컴퓨터 공간에 디렉터리와 파일을 공유할 수 있게 합니다.

samba 설치

  • yum install -y samba : 삼바 설치
  • mkdir -p /var/samba/share : mkdir에 -p옵션을 주어서 폴더가 없으면 만들면서 share란 dir을 생성한다.
  • chmod 777 /var/samba/share
  • adduser [ID] : 우리는 'kosa'가 있으니 넘어간다.
  • passws [PW]
  • smbpasswd -a kosa : 삼바용 id와 비밀번호 생성
  • 제어판->네트워크및인터넷->네트워크및공유센터
    • 위 이름을 확인한다.
  • vi /etc/samba/smb/conf : 이곳에 들어가서, SAMBA를 지우고, workgroup = [위사진 네트워크 이름]으로 바꿔준다.
    • 또, valid users = kosa로 바꿔준다.
  • systemctl enable --now smb : smb를 시작하면서 상시 켜져있도록 enable해준다.
    - enable --now 옵션은 start + enble을 한번에 해주는 것이다.
  • systemctl enable --now nmb : 위와 같이 nmb도 시작과 동시에 상시 켜져있도록 enable해준다.


    윈도우 클라이언트 접속 방법
  • 실행창에 \[Host IP주소]로 검색해서 들어간다.
    • share폴더에 test_samba.txt를 만들어준다.


      CentOS7 클라이언트 접속 방법
  • Minimal VM으로 접속한다.
  • `yum install -y samba-client
    smbclient //[samba server IP]/share -U kosa

NFS(Network File System; 리눅스용 파일 공유 시스템) - AWS EFS - 완전 관리형 서비스

  • 네트워크 파일 시스템(Network File System, NFS)은 1984년에 썬 마이크로시스템즈(현재 Oracle)가 개발한 프로토콜이다.
  • 클라이언트 컴퓨터의 사용자가 네트워크 상의 파일을 직접 연결된 스토리지에 접근하는 방식과 비슷한 방식으로 접근하도록 도와준다.
  • 다른 수많은 프로토콜과 마찬가지로 ONC RPC시스템을 기반으로 한다. 또, 오픈소스이므로 누구나 구현할 수 있다.
profile
Talking Potato

0개의 댓글