본문 바로가기

프로그램

리눅스 정리 - 네트워크 설정

* NIC 지원

- Network Interface Card

- 유닉스 시스템들은 시스템 별로 NIC를 지칭하는 디바이스 파일명이 고유하다(=즉, 상이하다.)

- 리눅스의 경우 ens 32, ens34(eth0, eth1) ... 등의 이름으로 명명된다. 내 리눅스는 ens160을 지니고 있다.

 

* 디바이스 파일 경로

/lib/modules/(무언가 상이함)/kernel/drivers/net/ethernet

해당 경로에 리눅스에서 지원하는 모든 네트워크 디바이스 파일이 존재한다.

 

* 설정 확인

# ifconfig

네트워크 인터페이스 상태를 확인하거나 설정을 변경하는 명령어이다. 단, 변경 내용은 영구적이지 않다.

# ifconfig [NIC명]

# ifconfig [NIC명]  [IP]  netmask [mask명] [up|down]

 

* TCP / IP 확인

- 네트워크 설정 파일

/etc/sysconfig/network‐scripts/ifcfg‐NIC명 : 네트워크 설정(IP, subnetmask, gateway 등)

/etc/resolv.conf : DNS Server

/etc/hostname : 호스트 명

- 추가 설정 파일

/etc/sysconfig/network : 호스트명,  gateway, NOZEROCONF=yes

/etc/resolv.conf

/etc/sysconfig/network

 

# cat (경로)로 확인 가능하다.

 


 

* 네트워크 재시작

# nmcli conn [ down / up ]

파일 수정 이후에는 반드시 네트워크 재시작이 필수적이다.

NM(Network Manager) 활성화 시 설정은 반드시 NM을 사용한다.

 

# nmcli conn down ens160 && nmcli conn up ens160

 

AND 연산자를 통해 네트워크를 끄고 / 바로 재시작이 가능하다.

down 커맨드만 입력시 네트워크가 종료되고, 터미널에 더이상 아무런 문구도 떠오르지 않는다. 이 경우에는 터미널에서 네트워크를 킬 방도가 없어지니 반드시 AND 연산자를 통해 재시작까지 진행해야한다.

 

제대로 입력하면 활성화까지 마치게 되어 따로 네트워크 설정을 킬 필요가 없다.

 

 

* 네트워크 매니저 이용한 설정

NM에서는 변경 내용이 즉시 적용된다.

해당 서비스가 활성화된 경우 파일 편집이나 ifconfig에 의한 설정 변경이 불가할 수 있다.

네트워크 매니저를 키는 법은 두가지이다.

 

(1) [프로그램] – [시스템 도구] – [설정] – [네트워크] 메뉴로 들어간다.

(2) 명령어 입력

# systemctl start NetworkManager.service

위는 네트워크 매니저 서비스를 호출하는 명령어이다.

 

NM이 실행중일때, 터미널에서 nmtui라는 명령어를 통해 네트워크 설정이 가능하다.

 

# nmtui

명령어 입력시 푸른 배경의 화면이 떠오른다.

 

 


 

# ping [IP AD]

특정 호스트까지의 연결과 대상 시스템의 작동여부를 확인한다.

윈도우와 달리, 리눅스는 지속적으로 데이터를 보내므로 ^C를 통해 강제 중단할 필요가 있다.

 

 

# netstat [옵션]

시스템의 연결 상태, 포트, 인터페이스 등의 상태와 통계 정보를 확인해주는 네트워크 상태 진단 프로그램이다.

 

-i : 인터페이스 상태 확인

-s : IP, ICMP, TCP, UDP에 대한 패킷 통계정보

-nr : 라우팅 테이블의 확인

 

netstat 정보

 

MTU : Maximum Transmission Unit

RX : 수신 패킷의 개수

TX : 전송 패킷의 개수

DRP : 버린 패킷

OVR : 유실 패킷

 

netstat 정보

Destination : 대상 주소

    - 0.0.0.0 : 모든 호스트

Gateway : 대상과 연결해주는 관문 역할을 담당하는 장치의 IP

Genmask : 대상의 netmask

    - 255.255.255.255 : 호스트

    - 0.0.0.0 : default route

Flage

- U :라우트

- G :게이트웨이

- R :동적 라우트 재생성

- D: 리다이렉트에 의해 재생성

- M : 리다이렉트나 라우트 데몬에의해 변경

- ! :거부

MSS : Maximun Segment Size

irtt : 패킷 윈도우 사이즈

 

 


# arp

패킷 송수신 대상의 MAC AD를 확인한다.

 

- a : arp 목록을 전부 출력한다

- s : arp 정적 등록

- d : arp 및 삭제. 추가 항목이 없으면 ARP cache 초기화

 

초기화

# ip -s  neigh flush all

 

 

* 기타 네트워크 명령어

 

# host

# nslookup

# dig

 

도메인 명에서 ip를 확인하거나 ip를 이용해 도메인 명을 확인하는 명령어이다.

ip를 이용해 도메인을 확인하는 것은 큰 의미가 없다.

 

 

# Traceroute

# tracert

데이터 전송 경로를 추적하는 명령어이다.

 

 

 

# route 시 출력되는 것

- Destination : 목적지

- Gateway : 게이트웨이 주소

- Genmask : 목적지 네트워크의 서브넷

      255.255.255.255 : 목적지 호스트의 주소

      0.0.0.0: 기본 게이트웨이 주소

- Flags : 해당 경로에 대한 정보 기입.

     U(up): 활성화된 경로

     H(host): 호스트 주소

     G(gateway): 게이트웨이

- Metric : 목적지 네트워크까지의 거리

- Ref : 경로 참조 횟수

- Use : 경로 탐색 횟수

- Iface : 패킷 이동시 사용할 네트워크 인터페이스

 

# route [add | del] –net [ip] netmask [mask] gw [ip]

네트워크 경로를 추가한다.

(ex. # route add –net 1.2.3.0 netmask 255.255.255.0 gw 192.168.11.2)

 

시스템에는 단 하나의 default gateway만 지정가능하다. 따라서 추가적인 경로에 대한 설정은 사용자가 직접 해야한다.

 


 

(+) 0131 수업 내용 추가

 

* IP Aliases

 

하나의 물리적(실제) 인터페이스에 여러개의 논리적(가상) 인터페이스로 IP를 다수 설정하는 것을 말한다.

 

실행 방법

 

(1) ifcfg-ens160를 ifcfg-ens160:0 혹은 ifcfg-ens160:1 등의 이름의 파일로 복사한 뒤, device와 IP를 설정한다.

이 경우 수정 과정 중 원본파일에 오류가 생길 가능성이 존재하므로 지양한다.

* ifcfg-ens160의 경로: /etc/sysconfig/network‐scripts/ifcfg‐ens160

NAME/DEVICE/IPADDR를 수정하면 된다.

 

* ens 뒤의 숫자는 사용 OS에 따라 상이하다.

 

(2) ifconfig ens160:0 [ip add]

해당 명령어를 입력 시 ens160:0이란 가상 인터페이스가 형성되고, 입력한 IP Add가 부여된다.