본문 바로가기
SeSAC/네트워크 & 리눅스

[SeSAC 성동캠퍼스 1기] 네트워크&리눅스 3일차

by zivvon 2023. 11. 7.
목차 접기

1. 서버 구축 시 알아야 할 필수 개념과 명령어

 

✏️ 지난 시간 복습하기!

[ 터미널 접속 명령어 ]

- 윈도우에서 리눅스 접속할 때 : PuTTY 사용

- 서버 to 서버 : ssh id@server_ip주소 [-p 2022]

- 원격지 파일 복사 : scp /etc/abc.txt id@server_ip주소:/home/user1/

 

[ 권한 관리 명령어 ]

- chmod 644 ./hidden.txt

- sudo chown -R user2 ./hidden.txt

 

[ 사용자 관리 명령어 ]

- adduser user5

 

[ 백업/압축 명령어 ]

- 압축 : tar cvzf backup.tar.gz /etc

- 압축 해제 : tar xvzf backup.tar.gz


[ nginx 관리하기 ]

systemctl start/stop/restart nginx
systemctl enable/disable nginx

ps -ef | grep "nginx"

 

[ 네트워크 보기 ]

netstat -anp

 

💡Mission!

Nginx 포트 번호를 80에서 9999로 변경하기

https://ko.linux-console.net/?p=2369

 

Linux에서 Nginx 포트를 변경하는 방법

Linux에서 Nginx 포트를 변경하는 방법 Nginx는 오늘날 인터넷에서 트래픽이 가장 많은 일부 웹사이트를 지원하는 안정적인 오픈 소스 서버입니다. 웹 서비스 중에서 Nginx 웹 서버는 로드 밸런서, 웹

ko.linux-console.net

1. 포트 번호 변경하기
2. 재가동
3. netstat -anp로 바뀐 포트 번호 확인
4. 웹 브라우저로 확인

 

[ 네트워크 관련 필수 개념 ] ⭐

- TCP/IP : 컴퓨터끼리 네트워크 상으로 의사소통을 하는 "프로토콜" 중 가장 널리 사용되는 프로토콜의 한 종류

 

- 호스트 이름 : 호스트 이름은 각각의 컴퓨터에 지정된 이름

- 도메인 이름 : 도메인 이름(도메인 주소)은 hanbit.co.kr과 같은 형식

 

- IP 주소 : 각 컴퓨터의 랜카드에 부여되는 중복되지 않는 유일한 주소

~> 4바이트로 이루어져 있으며, 각 자리는 0~255까지의 숫자

ex) Server의 IP 주소는 192.168.111.100

 

- 네트워크 주소 : 같은 네트워크에 속해 있는 공통된 주소 ex) 192.168.111.0

- 브로드캐스트 주소 : 내부 네트워크의 모든 컴퓨터가 듣게 되는 주소

~> 현재 주소의 제일 끝자리를 255로 바꾼 주소 (C클래스)

 

- 게이트웨이(Gateway), 라우터(Router)
~> 라우터 = 게이트웨이

~> 네트워크 간에 데이터를 전송하는 컴퓨터 또는 장비

~> VMware의 게이트웨이 주소는 192.168.111.2로 고정

 

- 넷마스크(Netmask) & 클래스(Class)
~> 넷마스크 : 네트워크의 규모를 결정 ex) 255.255.255.0 - C클래스

 

- DNS(Domain Name System) 서버(= 네임 서버) 주소

~> URL을 해당 컴퓨터의 IP주소로 변환해주는 서버

~> 설정 파일은 /etc/resolv.conf

~> VMware를 사용하면 VMware가 192.168.111.2번을 게이트웨이 및 DNS 서버로, 192.168.111.254를 DHCP 서버로 설정

 

- 리눅스에서의 네트워크 장치 이름

~> 우분투는 랜카드를 ens32 또는 ens33으로 할당

ex)

ifconfig ens33 # 네트워크 설정 정보 출력
ifdown ens33 # 네트워크 장치 정지
ifup ens33 # 네트워크 장치 가동

 

[ 중요한 네트워크 관련 명령어 ] ⭐

 

- 네트워크와 관련된 대부분의 작업을 이 명령어에서 수행

nm-connection-editor 또는 nmtui

 

~> 자동 IP 주소 또는 고정 IP 주소 사용 결정

~> IP 주소, 서브넷 마스크, 게이트웨이 정보 입력

~> DNS 정보 입력

~> 네트워크 카드 드라이버 설정

~> 네트워크 장치 (ens32)의 설정

 

- 네트워크의 설정을 변경한 후에, 변경된 내용을 시스템에 적용시키는 명령어

systemctl <start/stop/restart/status> networking

 

- 장치의 IP 주소 설정 정보를 출력

ifconfig <장치이름>

 

- DNS 서버의 작동을 테스트하는 명령어

nslookup

 

- 해당 컴퓨터가 네트워크상에서 응답하는지를 테스트하는 간편한 명령어

ping <IP주소 또는 URL>

 

[ CRON 크론 ]

: 주기적으로 반복되는 일을 자동적으로 실행될 수 있도록 설정

~> 관련된 데몬(서비스)은 'crond', 관련 파일은 '/etc/crontab'

~> 형식

/etc/crontab

 

💡Mission!

cron으로 매 5분마다 파일을 백업하시오.
1. mkdir backup_etc 디렉토리를 생성
2. vi 에디터를 이용해 backup.sh 파일에 스크립트 작성
3. vi 에디터를 이용해 backup_etc 파일에 '매 5분마다' 설정해주기
4. chmod 755로 변경
5. ls -altr로 5분마다 갱신되는지 확인

 

- 주기 결정

: 각 별 위치에 따라 주기를 다르게 설정 가능

*           *           *           *           *
분(0-59)    시간(0-23)  일(1-31)    월(1-12)    요일(0-7)

 

~> 괄호 안의 숫자 범위 내로 별 대신 입력 가능

~> 요일에서 0과 7은 일요일, 1부터 월요일!

 

ex) 매 5분마다 test.sh 실행

*/5 * * * * /home/script/test.sh

 

ex) 5일에서 6일까지 2시, 3시, 4시에 매 10분마다 test.sh를 실행

*/10 2,3,4 5-6 * * /home/script/test.sh

 


 

시스템 네트워크 보안 기술

[ OSI 7계층 ]

7계층 응용 프로그램 계층
(Application Layer)
사용자나 응용 프로그램 간의 데이터 교환이 가능하게 하는 계층으로, HTTP, FTP, 터미널 서비스, 여러 메일 프로그램, 디렉토리 서비스 등을 제공
6계층 표현 계층
(Presentation Layer)
데이터의 구조를 하나의 통일된 형식으로 표현하고, 데이터의 압축과 암호화 기능을 수행
5계층 세션 계층
(Session Layer)
두 시스템 간의 통신 중 동기화를 유지하고 데이터 교환을 관리. 정보 교환을 효과적으로 할 수 있도록 전송 계층에서 설정된 종단 간의 논리적 연결에 추가 서비스 제공
4계층 전송 계층
(Transport Layer)
종단 간의 신뢰성 있고, 투명한 데이터 전송 제공. 이를 위해 오류 제어, 통신량 제어, 다중화를 제공하며 응용 프로그램 간 통신을 위해 포트 사용
3계층 네트워크 계층
(Network Layer)
8비트의 숫자 4개로 구성된 IP 주소 체계로 사용하며, 경로 제어와 통신량 제어 등을 수행
2계층 데이터 링크 계층
(Data Link Layer)
물리적 링크를 통해 동기화, 에러 제어, 흐름 제어 등을 통해 패킷을 전송. 16진수 12개로 만들어진 MAC 주소를 객체 간 통신에 사용하며, MAC 주소는 고유함
1계층  물리 계층
(Physical Layer)
기계적, 전기적, 기능적, 절차적 특성 정의하며 비트 스트림을 물리적 매체를 통해 전송함

 

 

 

- 네트워크 계층 프로토콜

~> IP (Internet Protocol) : 대표적인 네트워크 계층의 프로토콜로, 하위 계층의 서비스를 이용해 주로 두 노드 간의 데이터 전송 경로 확립

 

💡Mission!

VMware 이미지를 A 클래스의 네트워크로 설정해보자!
1. VMware Workstation의 Edit에서 'Virtual Network Editor' 편집기를 열어 DHCP Settings, Nat Settings에서 IP 주소를 A 클래스의 범위에 맞게 설정

2. 이미지 가동

3. 변경된 ip주소를 통해 PuTTY로 접속

4. 'nmtui' 명령어를 통해 네트워크 재설정 (IP 주소, Gateway, DNS servers 재설정)
sudo nmtui​

5. 'netplan'을 통해 고정 IP 설정
sudo netplan apply​


6. 재부팅

sudo reboot

 


 

오늘의 후기!

: 네트워크로 들어가니까 머리가 약 3배 정도 더 아파졌다. 분명 전공 수업 때 배웠던 것들인데 기억이 하나도 나지 않는 ..ㅎ... 그리고 자꾸 이상한 데서 실수하는데 정신 차리고 리눅스 씁시다. 화이팅 ^^............