네트워크 기초
* 네트워크
- 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 |