OSI 7계층
- 네트워크 : 최소 2개이상의 장비가 통신하는 것
1계층 / 물리계층
- 역할 : 전기적, 기계적 규칙을 정의하여 네트워크가 물리적으로 송수신 가능하게 하는 계층
- PDU : BIT = 전기신호 단위
- 장비 : 허브, 리피터, 케이블선
2계층 / 데이터링크 계층
- 역할 : 물리계층의 단순한 전기신호를 의미있는 데이터로 전환하여 인접한 네트워크 장비끼리 통신을 할 수 있게함
📗 인접한 통신 : 블루투스 통신
- PDU : 프레임
- 프로토콜 : 이더넷, ppp, 토큰링, 프레임 릴레이
- 장비 : 스위치, 네트워크 인터페이스
💡 네트워크 인터페이스 = NIC = LAN카드 = 인터페이스
- 특징 : MAC(시스템 장비의 물리적 주소) 사용
3계층 / 네트워크 계층
- 역할 : 데이터를 목적지까지 가장 빠르게 갈수 있는 경로를 찾음(라우팅)
📗 인접한 통신뿐 아니라 장거리 통신을 가능하게 함
- PDU : 패킷
- 프로토콜 : IP, IGMP, ICMP
- 장비 : 라우터, L3스위치
- 특징 : IP(시스템 장비의 논리적 주소) 사용
4계층 / 전송 계층
- 역할 : 네트워크 전송과 관련하여 오류, 흐름제어 등의 기능을 통해 신뢰성 있는 정상적인 데이터 전송이 가능하도록 한다. 포트 번호를 통해 하나의 통신장치 안에서 각 어플리케이션을 구분한다
- PDU : 세그먼트
- 프로토콜 : TCP, UDP
- 장비 : L4장비
- 특징 : 포트(어플리케이션의 서비스가 작동하는 주소) 사용
5계층 / 세션 계층
- 역할 : 송신자와 수신자간의 연결상태(세션)를 관리 하는 역할
📘 시작하고 정지하고 재시작하는 등의 역할
- PDU : DATA
6계층 / 프레젠테이션 계층
- 어플리케이션이 만들어내는 데이터를 표현하는 계층
📘 압축, 암호화, 인코딩, 코덱 등
- PDU : DATA
7계층 / 어플리케이션 계층
- 역할 : 어플리케이션이 실제 작동하여 서비스를 하는 구간
📘 실제 데이터를 뱉어내는 계층
- PDU : DATA
- 프로토콜 : HTTP, FTP, SMTP, SNMP, DNS 등등
📕 FTP : 파일 업로드, 다운 등의 작업에 사용
- 장비 : L7장비
📕 게이트웨이 주소 : 나의 ip가 속한 네트워크에서 밖으로 나가는 주소, 라우터의 하나의 인터페이스에 연결 되어있다.
📒 통신하기 위해서는 mac주소, ip주소, 서브넷마스크, 게이트웨이 주소, dns주소를 알아야 한다.
linux network
네트워크 설정
- IP주소, 넷마스크와 브로드캐스트 주소, 게이트웨이(라우터) 주소, DNS주소 설정 해야 함
네트워크 관리자
- 네트워크 관리자는 네트워크의 제어와 설정을 관리하는 데몬
- 기본적으로 설치되어있지만 없다면 dnf로 설치
- systemctl status NetworkManager로 설치된거 확인
네트워크 관리도구
- 네트워크 관리자 : 기본 네트워킹 도구
- nmcli명령 : 명령어로 네트워크 관리(CLI로 관리)
- nm-connection-editor : GUI로 네트워크 관리
네트워크 관련 명령어
- ifconfig , ip address show : ip보기
- netstat -nr : 게이트웨이 주소 보기
- netstat -r, ip route : 라우팅 테이블 보기
- dns 확인 : nslookup 도메인 주소
- ping : 핑보내기
- tracert : 경로 추적
nmcli
- 명령 기반으로 네트워크 관리자를 설정한다
- 형식 : nmcli [옵션] 명령 [서브 명령]

네트워크 설정하기 : connection(con) 명령

-
connection에 네트워크 설정을 하고 LAN카드 장치(인터페이스)에 연결한다
-
과거의 전통적인 방식에 비해 여러개의 Connection을 만들어 다양한 네트워크 설정을 미리 세팅해둔 다음에 상황에 따라 장치에 연결만 시키면 되기때문에 효율적이다.
-
ifconfig로 enp0s3, enp0s8이라는 LAN카드 장치들을 확인 가능

-
nmcli con show : 네트워크 연결 목록 확인

connection이름 , connection의 고유 식별 값, connection타입, connection에 연결된 LAN카드 장비 순으로 나타난다
- nmcli con show enp0s3 : 특정 연결에 대한 자세한 정보
-
connection추가해 네트워크 설정
- nmcli con add con-name [CONN-NAME] type [ethernet] ifname [NIC_DEVICE NAME] ipv4 192.168.0.10/24 gw4 192.168.0.1
📘 ip부터는 modifiy로 따로 설정해도 된다
- ex) nmcli connection add con-name test-net type ethernet ifname enp0s3
- 특정 연결 삭제 : nmcli connection delete test-net
-
커넥션 수정
- nmcli connection modify [CONN-NAME] 속성값
- ipv4.method, ipv4.dns, ipv4.gateway, ipv4.addresses를 설정해야 한다
- ex) nmcli con modify test-net ipv4.addresses 10.0.2.30/24
-
커넥션과 장치 연결 시작 : nmcli con up test-net
📒 동적연결 : add로 만든후에 up하면 자동으로 ip,dns등 할당
💡 동적연결 -> 정적연결 전환
: nmcli con modify dhcp2 connection.id static ipv4.method manual ipv4.addresses 10.0.2.35/24 ipv4.gateway 10.0.2.1 ipv4.dns 8.8.8.8
-
커넥션과 장치 연결 끊기 : nmcli con down test-net
-
다른 방식으로 커넥션 만들기
- cd /etc/sysconfig/network-scripts/
- vi /ifcfg-testa

원하는 IP, DNS, GATEWAY, TYPE을 해당 형태로 작성후 저장 (정적 할당)
- nmcli con reload
- nmcli con up testa
📗 dns 세팅 파일 : /etc/resolv.conf
네트워크 장치의 상태 보기 : device(dev)명령
- nmcli device status : 연결된 장치 목록 보기
- nmcli device show enp0s3 : 특정 장치 정보 보기
전통적인 네트워크 세팅
- nmcli와 다르게 일시적으로 세팅
->재부팅시 NetworkManager에 세팅된 값으로 돌아옴
- ifconfig 인터페이스 이름 up : 인터페이스 활성화
- ifconfig 인터페이스 이름 down : 인터페이스 비활성화
ip세팅
- ifconfig 인터페이스이름 ip주소 netmask 넷마스크값 broadcast 브로드캐스트값
- route add default gw gwip주소 dev 인터페이스이름
호스트네임 설정
- hostname : hostname 출력
- hostname 이름 : 일시적으로 바꿈
- hostnamectl set-hostname nobreak.com : 영구적으로 바꿈
-> /etc/hostname 파일에 가서 바꿔도 됨