[Centos 7] 네트워크 명령어(ifconfig, Network Manager, route, netstat, IP Binding)

2022. 11. 24. 23:47리눅스(Linux)

$ ifconfig 

   - 네트워크 인터페이스의 정보를 확인할 때 사용하는 명령어 [net-tools 패키지 필요]

   - IP주소, Broadcast 주소, MAC주소, Interface 카드의 성능 정보등을 확인

# ifconfig [장치명] up/down 
   - 활성화/비활성화

# ifconfig [장치명] [변경할 IP] netmask [Netmask 주소] broadcast [Broadcast 주소]
   - ip주소를 잠시 변경하는 작업
   - System 재부팅 및 Network 프로세스를 재시작 할 경우 다시 원래의 IP주소로 돌아옴.

$ NetworkManager

 

   - 네트워크 디바이스들을 관리하는 역할

   - 가상머신같은 환경은 꺼놓고 사용 Gnome 같은 NetworkManager 랑 충돌이 일어나기 때문

   - 실무에서는 켜놓고 사용

# nmtui
   - 네트워크인터페이스 카드 설정

# nmcli dev 
   - 목록 확인 

# nmcli conn 
   - 네트워크 인터페이스 UUID 값 확인 

# systemctl stop NetworkManager
    - NetworkManager 끄기

 

$ route 

   - 실제 IP주소를 설정하고 외부 통신이 안될 경우 제일먼저 확인하는 명령어
   - 대부분 default G/W 문제를 해결하게 되면, 외부 통신이 잘된다.

# route -n 
   - 기본 G/W 주소 확인 

# route add default gw [G/W 주소]
   - 기본 G/W 주소 추가 명령어
   
# route del default gw [G/W 주소]
   - 기본 G/W 주소 삭제 명령어

 

$ netstat

# netstat [option] 
   - 네트워크 상태정보 및 프로토콜/포트 정보 확인

-a 모든 소켓 정보 출력
-n 10진수 수치 정보로 출력
-p 각 소켓에서 실행되는 프로그램이름과 프로세스 ID 출력
-i 모든 네트워크 인터페이스 정보 출력
-l 현재 listen 중인 소켓 정보 출력
-t tcp 소켓연결정보 출력

ESTABLISHED : 연결이 완료된 상태
LISTEN : 연결을 할 수 있는 상태

# netstat -antp | grep -E ":80|:443" | grep ESTABLISHED | wc -l
   -  동시 접속자 수 확인
| grep -E ":80|:443" → http, https 연결을 하고
| grep ESTABLISHED → 연결이 완료되었고 
| wc -l → 그 값을 숫자로 표시

# watch -d -n 1 "netstat -antp | grep -E \":80|:443\" | grep ESTABLISHED | wc -l"
   - 동시 접속자 수 실시간확인

 

$ 인터페이스 장치 설정 파일(IP주소 설정 관련)

   - DEVICE : 인터페이스 장치 명

   - BOOTPROTO : 프로토콜 지정 (static, dhcp)

   - BROADCAST : Broadcast 주소

   - HWADDR : 하드웨어주소 (MAC)

   - IPADDR : IP 주소 (static)

   - NETMASK : Netmask

   - NETWORK : Network 대표 주소

   - ONBOOT : 부팅 시 활성화 여부

   - TYPE : 데이터링크 계층의 타입(ethernet)

   - GATEWAY : G/W주소

   - DNS1 : DNS 서버 주소

 

$ IP Binding

   - 하나의 NIC에 여러개의 IP주소를 할당하는 기술

   - 한대의 서버에서 여러개의 서비스를 운영하는데 각각 서로다른 IP주소로 서비스 하고자 할 때 사용

# ifconfig ens32:0 192.168.1.120

# ifconfig ens32:1 192.168.1.130

# ifconfig 
ens32:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.1.120  netmask 255.255.255.0  broadcast 192.168.1.255

        ether 00:0c:29:47:db:86  txqueuelen 1000  (Ethernet)

ens32:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.1.130  netmask 255.255.255.0  broadcast 192.168.1.255

        ether 00:0c:29:47:db:86  txqueuelen 1000  (Ethernet)
   - 접속도 가능, 재부팅시 사라짐

 

$ IP Binding 영구저장 방법

# cd /etc/sysconfig/network-scripts/

# cp ./ifcfg-ens32 ./ifcfg-ens32:0

# vi ifcfg-ens32:0
TYPE=Ethernet

BOOTPROTO=none

DEFROUTE=yes

NAME=ens32:0

DEVICE=ens32:0

ONBOOT=yes

IPADDR=192.168.1.120

PREFIX=24

GATEWAY=192.168.1.2

DNS1=8.8.8.8

# systemctl restart network

$ Virbr 인터페이스 제거

   - Virbr : 커널 기반 Hypervisor 인 KVM 서비스에서 사용하는 OpenSwitch 기반의 VLAN NAT Ineterface

   - 리눅스에서 가상화 환경을 구축할 경우 사용하는 가상 인터페이스

   - 불 필요하니 서비스 비활성화

# yum -y install libvirt-client
# virsh net-destroy default
# virsh net-undefine default
# systemctl disable libvirtd
# systemctl stop libvirtd