2024_02_08_네트워크 설정 관리

이기태·2024년 2월 8일

리눅스

목록 보기
11/27

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

  1. 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 하여 사용하는 경우 변경해야하는 내용
  1. 이름변경
  2. 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

  • 설정
    # nmtui

연결 편집 – 추가 – 티밍 – 이름,장치(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로 구성

0개의 댓글