LINUX(Server)

네트워크 기초

천천히, 한 걸음씩 2024. 4. 21. 14:46

네트워크 기초

* 네트워크
- Network = Net(그물) + Work(작업하다)

- 무언가가 무언가(종단,단말장치)와 무언가(유선,무선)에 의해
  무언가(데이터)를 주고 받는 것
  
- 네트워크의 규모가 확장되거나 , 효율적인 정보 공유를 위해
  규약 ( Protocol )이 필요
  

* 데이터 전송 관계

- 요청에 의한 응답 관계

요청자 : 클라이언트 ( Client )
응답자 : 서버       ( Server )

 

네트워크의 유형

1) LAN ( Local Area Network )
- 내부 네트워크
- 스위치 장비
  PC-랜카드(NIC: Network Interface Card)
  랜선 ( UTP Cable )

2) WAN ( Wide Area Network )
- 외부 네트워크
- 라우터 장비

3) Internet
- 전 세계적으로 연결된 네트워크 망
- TCP/IP 프로토콜 사용

 

* 데이터 전송 주소 체계

① MAC 주소 
로컬 환경 내에서 데이터 전송 담당
변경이 불가능한 물리적인 주소

② IP 주소
로컬에서 원격으로 데이터 전송 담당
변경이 가능한 논리적인 주소

- 공인 IP 주소 ( Public IP )

ISP업체에서 할당한 인터넷이 가능한 주소
공인 IP 네트워크 정보는 ISP업체 라우터 장비에 등록 o

- 사설 IP 주소 ( Private IP )

ISP업체 임대와 상관없이 내부용으로 사용하는 주소
공인 IP 네트워크 정보는 ISP업체 라우터 장비에 등록 x

A Class  :  10.0.0.0 ~ 10.255.255.255 
B Class  :  172.16.0.0 ~ 172.31.255.255
C Class  :  192.168.0.0 ~ 192.168.255.255

+@ ISP ( Internet Service Provider ) : 인터넷 서비스 제공자
Ex)KT,LG,..

- 서브넷 마스크

IP주소의 낭비를 줄이기 위해 서브넷 마스크를 사용

공통비트 '1' 표기 -> 네트워크 아이디
공통비트 '0' 표기 -> 호스트 아이디

IP Subnet  Mask Network ID   Host ID
192.168.6.254 255.255.255.0    192.168.6         .254
192.168.6.254 255.255.0.0        192.168         .6.254
192.168.6.254   255.0.0.0          192            .168.6.254


- IP주소 클래스 ( 0.0.0.0 ~ 255.255.255.255 )


1. 유니케스트 주소
- 장치에 설정하는 주소
- A Class ( 0 ~ 127 )
기본 서브넷 마스크 : 255.0.0.0
네트워크당 IP주소 개수 : 2^24개

- B Class ( 128 ~ 191 )
기본 서브넷 마스크 : 255.255.0.0
네트워크당 IP주소 개수 : 2^16개

- C Class ( 192 ~ 223 ) 
기본 서브넷 마스크 : 255.255.255.0
네트워크당 IP주소 개수 : 2^8개


2. 멀티케스트 주소
- D Class ( 224 ~ 239 )

장치에 설정이 안되는 주소
서버가 패킷을 멀티케스트로 전송할 경우
목적지 IP로 설정된다.

+@ 유니케스트   =>   1:1 통신
   멀티케스트   =>   1: 특정 그룹 통신
   브로드케스트 =>   1: 전체 통신


3. 예약용
E Class ( 240 ~ 255 )



③ Port 번호
- 특정 단말의 프로그램과 프로그램사이의 
통신과정에서 주소를 담당

( 0 - 1023 )      : System Port ( Well Known Port )
( 1024 - 49151 )  : User Port ( Registerd Port )
( 49152 - 65535 ) : Dynamic/Private Port


TCP   UDP

http     80 dns 53
https    443 dhcp-server 67
ssh    22 dchp-clinet 68
telnet      23   tftp 69
ftp  21 ntp 123
ftp-data  20
smtp  25
pop3  110

http :  www상에서 정보를 주고받을 수 있는 프로토콜
https:  http에서 보안이 강화된 버전

telnet: 원격로그인을 하기 위한 프로토콜 
ssh: telnet에서 보안이 강화된 버전

ftp: 파일전송을 위한 프로토콜 ( 제어포트 )
ftp-data: 데이터를 전송하는 프로토콜 ( 데이터 전송 )

smtp:   이메일을 송신하기 위한 프로토콜
pop3:   이메일을 수신하기 위한 프로토콜

dns: IP주소를 도메인이름으로 변환하는 프로토콜
dhcp:  IP주소를 중앙에서 관리 및 할당하는 프로토콜
tftp:  가벼운 파일 및 부팅이미지를 전송하기 위한 프로토콜
ntp:   시간동기화를 위한 프로토콜

 

Vmware Network 설정


* 네트워크 관련 파일

1) /etc/sysconfig/network

#vi /etc/sysconfig/network
-----------------------------
NETWORKING= // 네트워크 사용여부 결정
HOSTNAME= // 네트워크에 연결되어있는 
   장치에게 부여하는 이름

-----------------------------

! 실습
#vi /etc/sysconfig/network
-----------------------------
NETWORKING=no // 네트워크 사용x
HOSTNAME=NewServer-A // 호스트네임 변경

-----------------------------
#reboot // 설정적용을 위한 재시작


#ifconfig // ip할당x
#ping 8.8.8.8 // 통신불가
호스트네임 변경 및 네트워크 사용불가

(실습을 위해 설정을 초기화)
NETWORKING=yes
HOSTNAME=Server-A


2) /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0 // 장치명
TYPE=Ethernet // 통신 타입
ONBOOT=yes // 재부팅시에 활성화 여부
NM_CONTROLLED=no // NetworkManager데몬이
   해당장치를 제어할 수 없도록 설정


+@Network Manager데몬

네트워크에 관한 전반적인 환경을 구성해주는 데몬
시작시 설정파일(ifcfg-eth0)을 읽어들여 시스템에 적용한다.

NetworkManager데몬과 같이 직접 설정을 할 경우
충돌을 일으키는 문제가 있을 수 있다.

BOOTPROTO=static

static : 고정(정적) 설정 ( 직접설정 )
    dhcp   : 유동(동적) 설정 ( DHCP서비스 이용 )
none   : 설정x


3) /etc/resolv.conf

- 로컬 네임서버의 IP주소가 저장되어 있는 파일

#cat /etc/resolv.conf

 

네트워크 관련 명령어/설정

① ping
- ip주소를 이용하여 패킷(icmp프로토콜)이 목적지까지
  잘 도달하고 돌아오는지 확인하는 명령어

[ 사용법 ]

#ping [ip/주소/도메인이름]

Ex)
#ping 8.8.8.8
#ping http://www.naver.com

[ 자주 사용되어지는 옵션 ]

-c : 전송할 패킷수 지정

Ex) #ping -c 5 8.8.8.8  // 5번 전송
    #ping -c 10 8.8.8.8 // 10번 전송


② ifconfig
- 네트워크 설정을 확인할 때 사용하는 명령어

[ 사용법 ]

#ifconfig

[ 자주사용되어지는 옵션 ]

#ifconfig -a






* Network설정

1. Bridge 네트워크

! 실습 
@Server-A

-> Settings -> Network Adaptor -> Bridge로 변경

#vi /etc/sysconfig/network-scripts/ifcfg-eth0
---------------------------------------------
~ 생략 ~

IPADDR=리얼PC와 같은 대역의 IP   //리얼PC나 다른PC와 중복되면 안된다.
NETMASK=리얼PC와 같은 서브넷마스크
GATEWAY=리얼PC와 같은 게이트웨이
DNS1=8.8.8.8
DNS2=8.8.4.4

:wq
---------------------------------------------


#vi /etc/sysconfig/network-scripts/ifcfg-eth0
---------------------------------------------
~ 생략 ~

IPADDR=192.168.6.리얼PC+50
NETMASK=255.255.255.0
GATEWAY=192.168.6.1
DNS1=8.8.8.8
DNS2=8.8.4.4

:wq
---------------------------------------------




@Practice

-> Settings -> Network Adaptor -> Bridge로 변경

#vi /etc/sysconfig/network-scripts/ifcfg-eth0
---------------------------------------------
~ 생략 ~

IPADDR=192.168.6.리얼PC+100
NETMASK=255.255.255.0
GATEWAY=192.168.6.1
DNS1=8.8.8.8
DNS2=8.8.4.4

:wq
---------------------------------------------

@Server-A , Practice
#service network restart
#ifconfig // 설정된 ip 확인


@Server-A // 통신이 가능한지 확인
#ping Practice의 ip
#ping RealPC의 ip
#ping gateway의 ip
#ping 8.8.8.8

@Practice // 통신이 가능한지 확인
#ping Server-A의 ip
#ping RealPC의 ip
#ping gateway의 ip
#ping 8.8.8.8



Ex) RealPC   192.168.6.10
Server-A 192.168.6.60
Practice 192.168.6.110

@Server-A @Practice
#ping 192.168.6.110    #ping 192.168.6.60
#ping 192.168.6.10    #ping 192.168.6.10
#ping 192.168.6.1    #ping 192.168.6.1
#ping 8.8.8.8    #ping 8.8.8.8



2. NAT 네트워크

-> Edit
-> Virtual Network Editor
(change setting)
-> VMNet8 NAT 클릭
-> SubnetIP: 내가 원하는 대역 지정
   Ex) 100.100.100.0
   SubnetMask: 내가 원하는 마스크
   Ex) 255.255.255.0
   
   //위 예제의 설정은 100.100.100.0 ~ 100.100.100.255까지가 
 같은 네트워크의 범위
  
       //설정 가능한 IP의 범위는 100.100.100.1 ~ 100.100.100.254   

-> NAT Setting 클릭
-> GATEWAY: 내가 설정한 대역대의 2번 IP 설정
   Ex) 100.100.100.0   255.255.255.0   => 100.100.100.2
 

@Server-A

-> Settings -> Network Adaptor -> NAT로 변경

#vi /etc/sysconfig/network-scripts/ifcfg-eth0
---------------------------------------------
~ 생략 ~

IPADDR=Network Editor에서 설정한 대역
NETMASK=Network Editor에서 설정한 서브넷 마스크
GATEWAY=Network Editor에서 설정한 게이트웨이
DNS1=8.8.8.8
DNS2=8.8.4.4

:wq
---------------------------------------------


#vi /etc/sysconfig/network-scripts/ifcfg-eth0
---------------------------------------------
~ 생략 ~

IPADDR=100.100.100.100
NETMASK=255.255.255.0
GATEWAY=100.100.100.2
DNS1=8.8.8.8
DNS2=8.8.4.4

:wq
---------------------------------------------

#service network restart
#ifconfig // 설정된 IP 확인


@Practice

-> Settings -> Network Adaptor -> NAT로 변경

#vi /etc/sysconfig/network-scripts/ifcfg-eth0
---------------------------------------------
~ 생략 ~

IPADDR=100.100.100.200
NETMASK=255.255.255.0
GATEWAY=100.100.100.2
DNS1=8.8.8.8
DNS2=8.8.4.4

:wq
---------------------------------------------

#service network restart
#ifconfig // 설정된 IP 확인


@Server-A // 통신이 가능한지 확인
#ping Practice의 ip
#ping RealPC의 ip
#ping gateway의 ip
#ping 8.8.8.8

@Practice // 통신이 가능한지 확인
#ping Server-A의 ip
#ping RealPC의 ip
#ping gateway의 ip
#ping 8.8.8.8


Ex) RealPC   192.168.6.10
Server-A 100.100.100.100
Practice 100.100.100.200

@Server-A @Practice
#ping 100.100.100.200  #ping 100.100.100.100
#ping 192.168.6.10    #ping 192.168.6.10
#ping 192.168.6.1    #ping 192.168.6.1
#ping 8.8.8.8    #ping 8.8.8.8



! 연습 
* Bridge 네트워크 구성

- Server-A는 RealPC IP+70
- Practice는 RealPC IP+140

@Server-A, Practice
#ping 다른 가상머신
#ping RealPC
#ping 8.8.8.8


* NAT 네트워크 구성

NAT네트워크 대역 ( 70.70.70.0~ 70.70.70.255 )

- Server-A는 70.70.70.70
- Practice는 70.70.70.100

@Server-A, Practice
#ping 다른 가상머신
#ping RealPC
#ping 8.8.8.8



* Bridge네트워크 및 NAT네트워크 구축

@Server-A  // Bridge
IPADDR=192.168.6.리얼PC+50
NETMASK=255.255.255.0
GATEWAY=192.168.6.1
DNS1=8.8.8.8
DNS2=8.8.4.4

@Practice // NAT
IPADDR=70.70.70.70
NETMASK=255.255.255.0
GATEWAY=70.70.70.2
DNS1=8.8.8.8
DNS2=8.8.4.4


@Server-A
#ping 70.70.70.70          // x  , 다른 가상머신
#ping 192.168.6.RealPC     // o  , RealPC
#ping 8.8.8.8     // o  , 외부

@Practice
#ping 192.168.6.RealPC+50    // o , 다른 가상머신
#ping 192.168.6.RealPC    // o , RealPC
#ping 8.8.8.8     // o , 외부



3. Host Only 네트워크

! 실습 

-> Edit -> Virtual Network Editor
-> VMnet1 클릭
-> SubNetIP : hostOS의 Vmnet1과 같은 대역
   SubnetMask: hostOS의 Vmnet1과 같은 서브넷
   
Ex) 
   SubNetIP : 192.168.6.0
   SubnetMask: 255.255.255.0
   
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
---------------------------------------------
~ 생략 ~

IPADDR=192.168.6.리얼PC+50
NETMASK=255.255.255.0

:wq
---------------------------------------------   
   
#service network restart
#ifconfig


#ping (윈도우키+R , cmd , > ipconfig , vmnet1의 IP)

Ex)#ping 192.168.6.1 // o

#ping (로컬 리얼PC IP)
Ex)#ping 192.168.6.254 // x

'LINUX(Server)' 카테고리의 다른 글

NC , Telnet , SSH , VNC  (1) 2024.04.23
Bonding  (0) 2024.04.22
패키지 관리  (4) 2024.04.20
파일시스템 관리  (4) 2024.04.19
프로세스 관리  (2) 2024.04.18