1. 네트워크 매니저 소개
NetworkManager?
- CentOS 6.x 이하: network 스크립트
- CentOS 7.x 이상: NetWorkManager 서비스
네트워크 설정을 모니터링 및 관리하는 데몬
여러 ip설정을 만들어서 상황에 맞게 ip를 변경.
용어
- 장치: 네트워크 인터페이스 NIC,네트워크 카드, 물리적인 장치
- 연결(Connection/profile): 장치에 구성할 수 있는 설정 컬렉션
[상식]
1. MAC address: 네트워크 세그먼트의 데이터 링크 계층에서 통신을 위한 네트워크 인터페이스에 할당된 고유 식별자, 랜카드, 물리주소.
2. IP address: 컴퓨터 네트워크에서 장치들이 서로 인식하고 통신하기 위한 번호
- IPv4: 32bit
유니캐스트 - 1:1주소, 10진수
- A Class : 0 ~ 127 (예) 10.10.10.10 (사설IP) 10.x.x.x (예) 10.10.10.10
- B Class : 128 ~ 191 (예) 130.130.130.130 (사설IP) 172.16.x.x~172.31.x.x (예) 172.16.6.1
- C Class : 192 ~ 223 (예) 192.168.10.10 (사설IP) 192.168.x.x (예) 192.168.10.10
멀티캐스트 - 1:n
- D Class : 224 ~ 239 (예) 224.0.0.1
브로드캐스트 - 전체
- IPv6: 128bit , 16진수 보안 지원.
유니캐스트
멀티케스트
애니캐스트: 가까운 노드로 전달 전달...
-
공인IP, 사설 IP
공인 IP: 기관으로 공인받은 외부에 공개된 주소. // SKT,LG,KT에서 제공
사설 IP: 공인으로 받은 IP에서 사설망을 구성해 다른 주소로 할당. 로컬IP 외부에서 직접 접근 할 수 없음.
공인: 벽 - 공유기 사설: 공유기 - 와이파이, 인터넷
-
Netmask
A Class : 255.0.0.0
B Class : 255.255.0.0
C Class : 255.255.255.0
-
표기법
CIDR 표기법: 192.168.10.0/24
VLSM 표기법: 192.1678.10.0/255.255.255.0
- Port address : 서비스 구분
Well Known Port number: 0 ~ 1023
Registered Port number: 1024 ~ 49151 ex) localhost: 8080
Dynamic and/or Private Port number: 49152 ~ 65535
- well known portnumber
SSH: 22,
http: 80, https: 443
ftp:20/21,
telnet: 23,
smtp: 25
dns: 53
dhcp: 67/68
pop3: 110
ntp: 123
imap: 143
rsync: 873
2. 네트워크 관련 설정파일들
/etc/hosts 파일
/etc/host.conf 파일(/etc/nsswitch.conf)
/etc/resolv.conf 파일
/etc/sysconfig/network-scripts/ifcfg-eth0 파일
- /etc/hosts 파일
ip, 호스트 이름, 도메인 이름을 맵핑하는 역할

- /etc/host.conf 파일(/etc/nsswitch.conf)
이름 요청시 도메인/이름 검색 순서를 나타냄.
1 /etc/hosts -> 2 DNS(/etc/resolv.conf) 순서

- /etc/resolv.conf 파일
요청할 DNS 서버를 지정
ex) 8,8,8,8 -> google ,168.126.64.1 -> kt
- /etc/sysconfig/network-scripts/ifcfg-eth0 파일
IP, 네트워크 설정 집합.

3. 네트워크 설정 확인 명령어
- ethtool CMD: NIC카드 설정값 확인 (물리적인 연결)
# ethtool ens160
- ip addr(ifconfig) CMD: ip 주소 확인
- ip route(netstat -nr) CMD: 라우팅 테이블 확인
- cat /etc/resolv.conf 파일: DNS 확인
[참고] /root/bin/ipconfig.sh
4. 네트워크 설정 툴
- (CLI) nmcli - network manager cli
# nmcli general permissions
org.freedesktop.NetworkManager.network-control <- yes 되있어야 컨트롤 가능.
# nmcli networking
enable 되있어야 됌. -> nmcli networking on|off
# nmcli device 장치이름
# nmcli connection 커넥션이름
- (TUI) nmtui - network manager tui
- (GUI) nm-connection-editor
=> 설정 후 메모리에 up 해줘야함. nmcli con up eth0
5. 네트워크 시나리오 작업
- vm clone 하여 사용하는 경우 변경해야하는 내용
- 이름변경
- IP 변경
ex1) 강의장에서 사용하는 VM 디렉토리를 압축 집으로 가져가서 등록해서 사용
ex2) D: \VM\server1 VM을 E:\VM\server2 이동하는 경우 (export/import)
ex3) PC1에서 사용하던 VM을 PC2로 이동ㅇ하는 경우(export/import)
1) IP 변경 작업
- 네트워크 설정툴을 이용해 변경
nmtui
nmcli con ip eth0
- /etc/sysconfig/network-scripts/ifcfg- 변경하는 경우
vi /etc/sysconfig/network-scripts/ifcfg-
nmcli con reload
nmcli con up eth0
2) NIC 추가 작업
poweroff
새로운 Network Adapter 장착
Power on
nmtui
nmcli con up eth0
3) 호스트 이름 변경
hostnamectl set-hostname test.example.com
reboot
4) 티밍(teaming), 본딩(bonding)
정보 제공, 자원 제공하는 서버는 여러개의 NIC로 구성.
-> 하나가 죽어도 다른거로 사용, 이중화
-
링크 통합
레드햇: 티밍 & 본딩
윈도우: 티밍
오라클 솔라리스: IPMP, Trunking
IBM AIX: EtherChannel
-
네트워크 티밍, 본딩
장애 극복 -> 서비스 가용성
부하 분산 -> 성능
구성 요소 ( {"runner":{"name":"activebackup"}} )
- activebackup : failover runner로 데이터 전송을 위한 링크를 감시하고 active port를 선택한다.
- loadbalance : 트래픽을 모니터링하고 패킷 전송에 대한 포트를 선택할 때 완벽한 균형에 도달하기 위해 hash function을 사용한다.
- lacp : 802.3ad(LACP) loadbalance runner와 동일한 전송 포트를 선택한다.
- braodcast : simple runner로 모든 포트로 각각의 패킷을 전송한다.
- roundrobin : simple runner로 각 포트에 라운드 로빈 방식으로 각각의 패킷을 전송한다.
nmcli CMD로 구성
nmtui로 구성
# nmcli device
# nmcli connection
연결 편집 – 추가 – 티밍 – 이름,장치(team0, team0) 설정 – 슬레이브 추가
ex) team0-port1, ens160, team0-port2, ens256
JSON 설정 ( {"runner":{"name":"activebackup"}} )
IPv4 설정 – 수동 – 주소(192.168.10.100/24) - 게이트웨이(192.168.10.2) -
DNS 서버 ( 8.8.8.8)
# nmcli connection up team0
nm-connection-editor로 구성
web console로 구성