2025. 1. 10. 09:05ㆍAWS
** 네트워크에서는 NAT 랑 VPN 이 가장 중요하다

1.IP Address
OSL 3 계층의 Network 의 핵심 개념인 IP 주소는
network ID 와 Host ID 로 구성된 2^8 bit 공간이며 이는 256 bit 이지만 IP 주소에서는
(네트워크 주소)네트워크 식별 목적으로 가장 첫 번째 주소를 사용하지 않으며,
(브로드캐스트 주소) 네트워크 내 모든 호스트로패킷을 전송하기 위해 마지막 주소도 사용하지 않는다.
1. 1. 1. 1
00000001.00000001.00000001.00000001
와 같은 형태가 기본 형태이다. 이를 네 개로 나누어 각각을 Octect(옥텟) 이라고 함.
그리고 이러한 IP 주소를 네트워크에 할당하기 위한 방법이
CIDR (Classless Inter Domain Routing)
이라고 하며, 기존의 클래스 별로 고정된 공간을 서브넷팅을 통해 네트워크 분할 및 관리가 가능하게
서브넷은 네트워크를 여러 개로 나누는 과정
네트워크 규모 x 네트워크 개수 = 원래 네트워크 크기
그리고 이러한 서브넷 과정에서 기존 네트워크를 분할하게 되면
네트워크의 수뿐만 아니라 네트워크 주소와 브로드 캐스트 주소의 수도 동일하게 늘어남
- Gateway(GW)
내부 네트워크와 외부 네트워크 간의 통로 역할
네트워크 내부에서 외부(다른 네트워크)로 통신하기 위해 반드시 거쳐야 하는 IP 주소
내부 네트워크의 장치가 다른 네트워크로 패킷을 보낼 때, Gateway가 이를 적절한 경로로 전달
Gateway는 라우터의 역할을 수행하여, 목적지 IP 주소에 따라 올바른 Next Hop을 결정
대부분의 가정 및 소규모 네트워크에서, Gateway는 NAT(Network Address Translation)를 수행하여 사설 IP를 공인 IP로 변환하고 이를 통해 인터넷 연결이 가능하다

그리고 이러한 IP 주소가 한정적이기 때문에 여러 개념들이 등장하게 되는 데
이를 Private Network 라고 함
Private Network 는 Wifi 를 사용할 때 Wifi <--> Internet 은 공인 IP를 사용해서 서로의 정보를 주고 받고
Wifi 의 연결된 핸드폰 그리고 컴퓨터등의 기기와는 사설 IP 를 통해 통신한다고 생각하면 됨.
그리고 이처럼 서브넷을 통해 대역대를 나누고 서로 다른 IP 를 가져야 하는 이유는
효율적인 네트워크관리와 충돌 방지 를 위한 것으로 네트워크 상에서 각 장치는 고유한 IP 주소를 사용해야 서로를 구분하고 통신할 수 있다.

그러면 장치끼리 연결했는 데 네트워크의 구분의 기준은?
OSI (2계층)에서 같은 스위치에 연결된 장치들은 같은네트워크이다.
하지만 라우터는 이때 네트워크를 구분하는 역할로 만약 라우터에 f0/0 과 f0/1 NIC 포트가 각각 다른 스위치 혹은 라우터와 연결되어 있다면 면 두 개의 네트워크가 존재한다고 생각하면 된다.
*** OSI 계층에서 Application인 7계층에서 부터 점점 내려오게 되면서 생기는 정보를 Header 에 저장해 전체 내용은 encapsulation 하게 되는 데, 이 내용은 해당 계층의 장치 혹은 상위 계층에서 확인할 수 있으며, 하위 계층에서는 확인이 불가능하다.
ex) 우리가 컴퓨터의 화면에서 하드웨어 장치의 성능 혹은 저장된 내용을 확인할수 있는 것처럼
## 통신을 시도할 때 첫 번째 통신이 실패되는 경우가 있는 데 이는 APR 을 사용했기 때문이다.
ARP(Address Resoultion Protocol) :
네트워크 상에서 IP 주소를 물리적 주소(MAC 주소)로 변환하는 프로토콜입니다. 이는 로컬 네트워크에서 통신할 때 필수적입니다. 네트워크 장치들은 IP 주소만으로는 데이터를 전달할 수 없으므로, 실제 하드웨어 주소인 MAC 주소가 필요합니다.
- 적절한 대역(IP) 가 사용되었는 지 확인
- 장치와의 연결 확인
2. Routing : 경로 설정
- 정적(static: 수동 + 불변) 라우팅
ip route <목적지 대표 주소> <서브넷 마스크> <Next_hop: 방향>
# Next_hop: 네트워크 라우팅에서 데이터 패킷이 목적지에 도달하기 위해 거쳐야 할 **다음 네트워크 장치(라우터)**
무조건 같은 네트워크의 IP여야 한다.
내가 속한 네트워크를 빠져나가기 위한 출구, 내가 속한 네트워크와 같아야 한다.

위와 같이 장치를 연결했을 때 IP 대역을 정확히 설정해도 서로 통신되지 않음
왜냐하면 Routing 을 하지 않았기 때문에 하지만 R3 에 Router 대신에 PC 를 두게 되면 PC 는 가능하다.
PC는 라우팅 장치가 아니지만, 로컬 네트워크 외부로 나가는 트래픽을 처리하기 위해 **기본 게이트웨이(Default Gateway)**를 설정할 수 있다.
PC의 Default Gateway는 라우팅 경로를 수동으로 설정하지 않아도 PC가 로컬 네트워크 외부의 장치와 통신할 수 있게 합니다
PC에서 설정된 기본 게이트웨이는 기본적으로 IP route 0.0.0.0 0.0.0.0 Next hop와 같은 역할을 한다.
그래서 Router 에 항상 연결된 장치들의 모든 네트워크에 대한 Routing 이 설정 되어있는 지를 확인해야 한다.
** 동적 라우팅 프로토콜(Dynamic Routing Protocol) **
Router Protocol
- Routing 프로토콜
Router 간의 경로 정보를 교환하고 최적의 경로를 결정하는 데 사용되는 프로토콜
- Router 에서 설정된 프로토콜
정적, 동적 설정, OSPF 같은 설정 등이 가능
- OSPF(Open Shortest Path First)
링크 스테이트, 인접 라우터들(네이버)로부터 해당 라우터 주변의 객관적인 사실들을 전달받아서 자신이 직접 라우팅 테이블을 구성함
(ex. 내 f0/1에는100Mbps회선으로 A라는 라우터가 있다)
정적 라우팅과의 가장 큰 차이점은 다이나믹의 경우, 중간 경로에 문제가 생겨도 스스로 경로를 재구성할 수 있다.
라우팅 프로토콜에서는 특정 경우에 서브넷 마스크(subnet mask) 대신 **와일드카드 마스크(wildcard mask)**를 사용하는 경우가 많습니다. 특히, **접근 제어 목록(ACL)**이나 일부 동적 라우팅 프로토콜(예: OSPF, EIGRP)에서 자주 사용
# WildCard Mask (서브넷 마스크와 반대 개념)
와일드카드 마스크는 네트워크 관리에서 특정 IP 범위의 포함 여부를 결정하거나 필터링 목적으로 사용
와일드카드 마스크는 주로 필터링에서 사용되며, 특정 범위나 주소를 유연하게 매칭할 수 있도록 설계됨
서브넷보다 더 세세한 매칭:
- 특정 주소나 범위를 보다 유연하게 지정가능
네트워크 관리에서 사용
서브넷의 반대 개념
1 = 자유, don't care
0 = 고정
ex. 0.0.0.254(11111110) → 마지막 비트 고정, 0으로 끝나는 짝수 경우로만 필터링
모든 네트워크의 모든 짝수 = 0.0.0.0 255.255.255.254
모든 네트워크의 모든 홀수 = 0.0.0.1 255.255.255.254
- DHCP(Dynamic Host Configuration Protocol)
호스트들에게 자동으로 IP 정보(IP, SM, GW + DNS 서버)를 부여하는 프로토콜
정보를 제공받는 클라이언트 입장을 고려해야 함
UDP(67: server, 68: client)

Client → 1. Discover: 브로드캐스트(IP주소가 없기 때문) → Server
Client ← 2. Offer: 받을만한 IP 제공 ← Server
Client → 3. Request: 사용한다고 요청함 → Server
Client → 4. Acknowledge: 승인 ← Server
1~4 절차 이후 IP를 부여받음, 리스트가 꽉차면 더 이상 뿌려줄 수 없음
# 브로드캐스트
는 네트워크에서 데이터를 같은 네트워크에 연결된 모든 장치로 전송하는 통신 방식
브로드캐스트는 **로컬 네트워크(LAN)**에서 동작하며, 브로드캐스트 도메인 안에 있는 모든 장치가 이 메시지를 수신
브로드캐스트 도메인을 넘어가는 메시지는 라우터에 의해 차단
- Superneting (슈퍼네팅)
서브넷과 반대 개념으로 나눈 IP 대역을 합치는 방법
슈퍼넷팅하는 방법은
아래와같이 서브넷 된 두개의 IP 에서 공통되지 않은 부분 전까지를 합침
1.1.127.0 /24
1.1.128.0 /24
127: 0111 1111
128: 1000 0000
→ 1.1.0.0 /16
#VLSM(Variable Length Subnet Mask)
방법을 통해서 합침
1) 각 네트워크 규모 순으로 정렬
2) 큰 순서대로 서브넷 구하
- NAT (Network Address Translation)
네트워크 주소 변환, 주로 내부와 외부 사이의 경계에서
IP가 변하면 전부 NAT이지만, 일반적으로 '내부 → 외부' 또는 '외부 → 내부'의 경우에 가장 많이 쓰임
- PAT(Port NAT)
내부 → 외부: Source(출발지) + Dynamic(동적) - 하나의 공인 IP 주소를 사용하여 여러 장치의 사설 IP 주소를 네트워크 외부와 통신하게하는 기술
- 포트 번호를 활용
- DNAT(Destination NAT)
외부 → 내부: Destination(목적지) + Static(정적) - 외부에서 들어오는 패킷의 목적지 IP 주소를 변경하는 기술
- 외부 클라이언트가 공인 IP로 요청을 보내면 NAT Router 는 요청의 목적지 IP를 사설 IP 로 변환하여 내부 장치로 전달한다.
- 주로 포트 포워팅에 사용 / 내부 네트워크의 특정 서버( ex: web server) 등에 접근 가능하도록
- 특정포트에 대한 트래픽만허용 등으로 보안 관리 가능
Port Forwarding
외부 네트워크에서 들어오는 요청을 특정 내부 장치(서버, 컴퓨터 등)로 전달하는 기술입니다. 라우터나 방화벽이 요청된 포트 번호와 IP 주소를 기준으로, 트래픽을 내부 네트워크의 특정 장치로 리디렉션함.
# Port
4계층에서 데이터 종단 간의 전달을 담당 (end to end)
Port number 은데이터 응용 프로그램과 연결하는 역할
TCP/UDP 에서 사용하는 숫자로 네트워크 서비스나 응용 프로그램을 식벽하는 데 사용
포트 번호는 0 ~ 65535 범위를 가


# 패킷이 나갔다가 들어오는 과정
패킷(Packet)은 네트워크를 통해 데이터를 전달하기 위해 작은 단위로 나눈 정보의 조각입니다. 네트워크 통신에서 데이터를 효율적으로 전송하고 관리하기 위해 큰 데이터를 분할한 기본 단위
# 여러개의 사설IP가 하나의 공인IP로 변경됐음에도 불구하고 서로 식별할 수 있는 이유
# 공인IP는 하나지만 포트가 16비트(65536)개 있기 때문에 포트로 구분 가능하다.
- Switch
Mac 주소를 기반으로 통신하며, 스스로 특정 포트에 연결된 장비의 Mac 주소를 학습

한개의 스위치를 갖고 여러개의 네트워크를 구성하고 싶다면?
→ 스위치가 네트워크를 나누는 기능을 제공함
#VLAN(Virtual LAN)
LAN은 일반적으로 Local Area Network를 뜻하는데, 서브넷이나 하나의 네트워크를 뜻
하나의 물리적인 스위치는 일반적으로 하나의 네트워크를 가질 수밖에 없지만, 프레임에 특별한 VLAN ID를 추가하여 프레임을 식별가능하다면 네트워크를 나누는 것과 동일한 효과가 발생한다.
= 스위치의 포트에 특별한 tag를 달아서 식별가능하다면 네트워크를 나누는 것과 동일하다.
한개의 물리 스위치로 여러개의 서브넷 구성가능하다.
- SSH (Secure Shell)
네트워크 상에서 암호화된 연결을 통해 원격 장치에 안전하게 접속하는 프로토콜
보안과 신뢰성을 제공하며, 민감한 데이터를 전송할 때 사용됩니다.
주로 원격 서버 관리, 파일 전송(SCP, SFTP), 터널링 등에 사용
기본적으로 TCP 22번 포트를 사용
- Telnet
Telnet은 네트워크 장치에 원격으로 접속하기 위한 프로토콜입니다.
과거에 널리 사용되었지만, 암호화가 없는 평문 통신이므로 현재는 보안상의 이유로 SSH로 대체
- Linux 기본
경로를 구분, 지정하는 방법
절대경로
- 절대 변하지 않는, 언제나 같은 경로
ex. /etc/sysconfig
상대경로
- 내가 어디에 있는지(pwd)에 따라 다른 경로
ex. .., sysconfig
# cat ~/파일명: 파일 내용 출력
리다이렉션 (>, >>)
> (출력 덮어쓰기 리다이렉션)
>> (출력 추가 리다이렉션)
용도: 명령어의 출력을 파일의 끝에 추가
파이프라인 (|)
용도: 한 명령어의 출력을 다른 명령어의 입력으로 전달.
vi 편집기 (vim)
텍스트 에디터
[root@web test]# vi ana.cfg
[root@web test]# vi test.txt
# 위와 같이 기존 파일로 들어가서 작성 가능
# top 명령어
= 현재 내 리소스에 대한 실시간 정보(윈도우의 작업관리자)
= 대표적인 포어그라운드(foreground)의 사례
= top라는 프로세스가 내 화면을 ‘점유’
= 다른 명령을 칠 수 없음
[root@web ~]# systemctl enable --now firewalld
# enable --now = start + enable 효과
restart(반영)은 안될 수 있음 → 되도록이면 restart하고 enable하는 것이 정확함
cp는 파일 또는 디렉토리를 복사하기 위한 리눅스 명령어
- 원본: 복사하려는 파일 또는 디렉토리.
- 대상: 복사된 파일이나 디렉토리가 위치할 경로
cp file1.txt file2.txt
cp file1.txt /path/to/destination/
cp -r dir1 /path/to/destination/
-r 옵션을 사용해서 directory 를 복사 가능

- Host Connection
네트워크에서 호스트(컴퓨터, 서버, IOT) 가 서로 연결되고 통신할 수 있는 상태
연결은 다양한 계층에서 이루어질 수 있으며, 다음과 같은 단계를 포함함
1) 물리적 연결
호스트가 네트워크에 물리적 연결
2) IP 연결
서로를 식별할 수 있는 유효한 IP
3) 서비스 연결
특정 서비스(TCP/UDP port) 를 통해 데이터를 주고 받는 연결 설정
- IP 주소
- 네티워크 인터페이스
- 라우팅 경로
- 포트 번호
- 프로토콜
로 구성됨
** NAT(Network Address Translation)가 설정되어 있을 때 외부에서 내부로 접근하지 못하는 이유
NAT는 주로 내부 네트워크의 사설 IP 주소를 공인 IP 주소로 변환하여 내부에서 외부로의 통신을 가능하게 합니다. 그러나 외부에서 내부로의 통신은 기본적으로 차단됩니다. 이 현상은 NAT의 동작 원리와 보안 측면에서 의도적인 설계
a. NAT는 내부에서 시작된 연결만 허용
NAT는 기본적으로 내부에서 시작된 트래픽에 대해 연결 상태를 유지하고, 외부에서 들어오는 응답을 내부 장치로 전달합니다.
외부에서 임의로 시작된 연결은 NAT 테이블에 매핑 정보가 없으므로 드롭됩니다.
b. 사설 IP 주소는 인터넷에서 라우팅되지 않음
사설 IP 주소(예: 192.168.x.x, 10.x.x.x)는 인터넷 상에서 사용되지 않으며, 라우터는 이러한 주소로 트래픽을 전달하지 않습니다.
외부에서 내부의 사설 IP 주소를 대상으로 트래픽을 보낼 수 없습니다.
c. 보안 정책
NAT는 내부 네트워크를 외부에서 직접적으로 접근할 수 없도록 설계되었습니다.
외부 장치가 내부 네트워크의 세부 구조(IP, 포트 등)를 알 수 없게 하여 보안을 강화합니다.
d. 포트와 매핑의 부재
외부에서 내부로 연결하려면, NAT 장치는 공인 IP 주소와 특정 포트를 내부 장치로 매핑해야 합니다.
기본 NAT 설정에서는 이러한 매핑이 없으므로 외부에서 들어오는 요청을 처리할 수 없습니다.
외부에서 내부로 접근하는 법
a. 포트 포워딩 (Port Forwarding)
NAT 라우터에서 특정 포트를 내부 장치로 전달하도록 설정
b. DMZ(비무장 지대)
특정 내부 장치를 **DMZ(De-Militarized Zone)**로 설정하여 모든 외부 요청을 해당 장치로 전달.
c. VPN 설정
외부 장치가 VPN을 통해 내부 네트워크에 안전하게 연결되도록 구성.
VPN을 사용하면 내부 네트워크와 같은 환경에서 작업할 수 있습니다.
VMware WorkStation (Virtual Machine)
호스트 컴퓨터의 하드웨어를 가상화하여 완전한 독립 실행 환경을 제공하는 소프트웨어 기반의 컴퓨터
소프트웨어로 구현된 가상의 컴퓨터
Xshell 의 역할
Xshell은 SSH, Telnet, Rlogin, SFTP 등을 지원하는 터미널 에뮬레이터로, 네트워크를 통해 가상 머신에 원격으로 접속을 가능하게 함
이를 통해 가상 머신을 직접 관리하거나 작업할 수 있는 환경을 제공
'AWS' 카테고리의 다른 글
AMI / LB (0) | 2025.02.19 |
---|---|
practice question (4) - VPN & VyOS (0) | 2025.02.12 |
공부 2 (0) | 2025.01.22 |
Practice Problem 1 (GNS3와 VMware를 활용한 네트워크 환경 구축 및 DHCP와 웹 서버 설정) (1) | 2025.01.10 |
장치 설정 및 명령어 정리 (0) | 2025.01.10 |