강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

▒ SU의 CentOS7 강좌16 6. CentOS 네트워크 1 - 개념, 2 - 이더넷 설정

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

▒ SU의 CentOS7 강좌16 6. CentOS 네트워크 1 - 개념,  2 - 이더넷 설정


#################################################
    작성자 : 에스유
    작성일 : 2014.09.04
    대상 OS : CentOS7 x86_64

 본 강좌를 기반으로 서적을 집필합니다. 연재강좌가 마무리되고 몇달 후면 서적이 나오겠죠? CentOS7은 서적도 없지만 강좌도 많이 부족하네요. 리눅스 서버를 10년 넘게 구축하고 관리하고 컨설팅하면서 꼭 필요한 부분과 알아야 할 부분들을 꼼꼼히 체크하면서 강좌를 써보려합니다. 강좌중 오탈자가 있거나 설명이 부족하고 잘못된 경우 service@linux.kr으로 메일한통 부탁드립니다. 강좌가 수정되면 더 많은 분들께 도움이 될것이라 생각하고 강좌를 기반으로 집필될 서적또한 완성도가 높아지지 않을까 생각합니다.
#################################################


6. CentOS 네트워크

6.1. 네트워크의 개념 
  <이론적인 부분이라 강좌에서는 작성하지 않습니다. 강좌만 보시는 분들은 CentOS의 네트워크를 이해하기 전에 기본 개념은 꼭! 찾아 보시고 알아두시기 바랍니다. >

6.1.1. 네트워크의 개요와 통신망 구조
1) 네트워크란?
2) 통신망의 종류
3) 근거리 통신망(LAN : Local Area Network)
 (1) LAN의 전송방식 : 이더넷, 토큰링, FDDI
 (2) LAN의 토폴로지(Topology)에 따른 분류
4) 광대역 통신망(WAN : Wide Area Network)
 (1) 연결방식

6.1.2. 네트워크 장비
1) 케이블(Cable) : UTP, 광
2) NIC(Network Interface Card)
3) 허브(Hub) : 더미, 스위칭, 스태커블, 매니지먼트
4) 라우터(Router)
5) 브릿지(Bridge)
6) 게이트웨이(Gateway)
7) 리피터(Repeater)

6.1.3. 통신 프로토콜
1) OSI
2) TCP/IP
3) 프로토콜, 포트, 소켓

6.1.4. IP주소와 도메인
1) IP주소
2) 도메인


6.2. 네트워크 설정
CentOS 7은 NetworkManager를 기본으로 제공한다. 물론 고전적인 ifcfg 형태의 파일 수정을 통한 수동설정도 지원한다. NetworkManager는 CentOS 5부터 제공되고 CentOS 6에서부터 기본으로 제공되고 있다. CentOS 6에서는 몇가지 미흡한 기능이 있었지만, CentOS 7부터는 대부분의 기능을 NetworkManager를 통해 지원한다. NetworkManager는 이더넷, VLAN, 브릿지, Bond, Team, Wi-Fi, 모바일(3G와 같은), IP-over-InfiniBand를 지원한다. 
IP, 라우팅 테이블, DNS, VPN연결등을 설정할수 있다. NetworkManager는 API를 D-Bus를 통해 제공하여 애플리케이션이 조회 및 설정하는 것을 허용한다.
CentOS6에서는 브릿지, Team은 제공되지 않고, 브릿지는 파일 작성을 통해 수동 설정할 수 있었고, Team은 CentOS7에서 제공되는 새로운 기능이다.
본 서적에서는 이더넷, 본딩 설정만을 다루도록 하겠다. 본 서적에서 소개되지 않는 부분은 “Red Hat Enterprise Linux 7 Networking Guide"를 참조하기 바란다.

본 서적은  GUI환경을 위해 control-center를 사용하고, TUI환경을 위해서 nmtui만을 사용할 것이다. (이 두 개의 프로그램은 CentOS 6에도 어느정도 호환이 된다.) 그리고 고전적인 방법으로 네트워크 설정파일을 편집하여 설정하는 방법도 다루도록 하겠다. 만약 nmcli를 사용하고자 한다면, man nmcli 으로 찾아보거나, nmcli --help명령어로 사용법을 확인한 후 사용하기를 바란다. 앞에서 설명하였듯 어떠한 방법을 사용하든 NetworkManager의 API를 통해 설정을 하게되고 같은 결과를 얻을 것이다.

CentOS 6에서는 네트워크 설정파일을 편집하면 바로 적용이 되어 몇 번의 장애를 일으킨적이 있다. 하지만 CentOS 7에서는 설정파일을 편집하여도 바로 적용이 되지 않아 그 부분은 마음에 든다. 



6.2.1. Ethernet 설정

6.2.1.1. GUI 환경에서 Ethernet 설정
프로그램 > 시스템도구 > 설정 (네트워크 선택)

또는 바탕화면우측 상단에 네트워크 아이콘을 선택하고 마우스 오른쪽 버튼을 클릭하여 메뉴가 나타나면  “네트워크 설정”을 클릭한다. 
 
또는 콘솔창에서 control-center를 입력한다.

~] # control-center



네트워크 설정을 실행하면 위와 같은 화면을 보게 된다. 여기서 네트워크 설정을 추가하거나 삭제, 편집하는 화면이다. 편집 하고자하는 네트워크 장치를 선택하면 우측에 연결상태와 설정된 네트워크 정보가 나타나고 선택된 장치만 켜고 끌수 있다. (네트워크 정보를 변경한 경우 장치를 껏다가 켜야 변경된 내역이 적용된다. 그렇지만 원격에서는 추천하지 않는다. 장치를 끄면 연결이 끊어지고 연결이 끊어지면 다시켤수 없기 때문이다.)
선택된 장치의 설정을 편집하기 위해 우측 하단에 톱니바퀴모양아이콘을 클릭한다.

1. 부팅시 자동 연결 설정

장치에 대해 여러 가지 설정할 수 있는 리스트가 나타난다. 그중 위 그림은 신원을 선택한 것이다. 
위 그림의 설정에서 이름을 변경할 수 있다. 여기서 이름은 장치명으로 대부분 하지만 장치명이 아닌 다른이름으로 바꾼다고 해서 장치명이 바뀌지는 않는다. 즉 위 이름이 eth0인데 officenet0 으로 변경한다고 해서 장치명이 eth0에서 officenet0으로 변경되는 것은 아니다. 다만 네트워크 메니저에서 관리하는 이름일 뿐이다. MAC주소는 현재 시스템에 할당된 MAC주소를 선택할 수 있다. 아래 “자동으로 연결”을 선택하여 시스템 부팅시 자동으로 장치를 활성화 시킨다. “다른 사용자가 사용할 수 있게 허용”을 선택하여 시스템에 다른 사용자가 로그인 하더라도 네트워크를 사용할 수 있게 한다. 


2. IP설정
고정 IP 설정

고정 IP를 설정하기 위해 IPv4를 선택한 화면이다. 위 그림에서처럼 IPv4를 켬으로 하고, 주소는 수동을 선택한다. 위와 같이 IP주소, 넷마스크, 게이트웨이 정보를 입력하고 네임서버 자동선택을 끔으로 한다. 그리고 네임서버 정보를 입력한다. 아래에 라우팅설정은 정적라우팅일 필요한 경우 설정한다. 모든 설정이 끝났다면 적용 버튼을 클릭한다.


DHCP 설정
특별히 할당받은 네트워크 정보가 없고 자동으로 IP를 받아야 하는 경우에는 DHCP가 있어 DHCP를 통해 네트워크 정보를 할당받아 설정한다. 이 때는 다음그림과 같이 설정한다.
위 그림과 같이 IPv4를 켬으로 하고 주소는 자동(DHCP)을 선택한다. 네임서버(DNS) 또한 자동 켬을 선택한다. 모든 설정이 끝났다면 적용 버튼을 클릭한다.


3. 변경된 정보 시스템에 적용
앞에서도 언급했듯이 적용버튼을 클릭한다고 바로 변경된 정보로 시스템에 적용되지는 않는다. 네트워크 첫 화면에서 연결을 끔으로 변경했다가 켬으로 변경해야 시스템에 적용되어 IP가 변경되게 된다.
만약 원격접속을 하여 IP를 변경한다면 IP 설정후에 장치를 꺼버리면 접속이 끊어지게 되고 접속이 끊어진 상태에서 다시 켬으로 바꿀 방법은 로컬의 컴퓨터에서만 가능할 것이다. 그래서 필자는 이 방법을 추천하지 않고 다음 명령어들을 추천한다.
네트워크 메니저의 설정을 시스템에 반영시키는 방법은 몇가지 있지만 다음 2가지를 알아두자. 다음은 네트워크 서비스를 재시작 시키는 방법이다.

7~] # systemctl restart network

예전 버전의 service network restart 와 같은 것이다. CentOS 7에서도 service명령어와 호환을 시켜두었다. service network restart를 입력하면 systemctl restart network를 호출하여 실행된다. /etc/init.d/network 스크립트를 직접 호출하여 재시작할 수도 있지만, CentOS 7에서는 직접 호출하지 말것을 권고한다. 이는 systemd를 사용하면서 여러 설정이 이루어 지기 때문이라고 한다. 
다른 방법은 사용하지 않으려고 했던 nmcli명령어를 사용하는 것이다. 

~] # nmcli c reload

위 명령어어는 nmcli connection reload와 같다. connection은 첫글자만 입력하여도 작동한다. 만약 여러개의 인터페이스가 있고 그중 한 개만 적용하고자 한다면 다음과 같이 입력한다.

~] # nmcli c load /etc/sysconfig/network-scripts/ifcfg-eth0

위와 같이 nmcli 명령어를 사용하여 하나의 인터페이스만 시스템에 적용하였다. 꼭 파일명이 지정되어야하고 파일명은 여러개를 지정할 수 있다.
예를 들면 아래와 같이 2개의 인터페이스를 지정할 수 있다.

~] # cd /etc/sysconfig/network-scripts/
~] # nmcli c load ifcfg-eth0 ifcfg-eth1



6.2.1.2. nmtui (콘솔 환경에서 Ethernet 설정)
콘솔 환경에서는 앞에서 소개한 nmtui를 사용한다. GUI환경에서 제공되는 거의 모든 기능을 제공하기에 SSH등을 통해 원격접속한 경우 아주 쉽게 네트워크를 설정할 수 있다. 다음과 같이 입력한다.

~] # nmtui

위와 같이 curses기반의 인터페이스를 사용하여 설정파일 편집이나 커멘드라인에서 인자입력 방식보다는 사용하기 편하고 직관적이다. 다음 키를 익혀두면 편리할 것이다.
<TAB> : 다음 항목으로 이동
<Shift> + <TAB> : 이전 항목으로 이동
<Space> : 바 및 체크박스 선택 및 취소
방향키 : 항목간 이동

네트워크 설정을 위해 위 그림과 같이 Edit a connection을 선택하고 <OK>에서 엔터키를 눌러 다음화면으로 넘어간다.
다음은 네트워크 설정을 추가하거나 삭제, 편집할 수 있는 화면이다.
위 그림과 같이 eth0을 선택하고 <Edit...>을 선택한다.



1. 부팅시 자동 연결 설정 및 IP설정
위 그림의 설정에서 네트워크 장치에 대한 모든 설정을 할 수 있다. 
고정 IP를 설정하기 위해 IPv4 CONFIGURATION부분을 <Manual>으로 선택한다. Addresses 부분에 IP주소와 서브넷마스크를 함께 입력한다. 서브넷마스크를 입력하지 않으면 32(255.255.255.255)가 자동 부여되어 통신이 되지 않을 것이다. 그리고 서브넷 마스크는 네트워크 접두어 방식으로 설정해야 한다. 만약 서브넷마스크가 255.255.255.0이면 24를 255.255.255.128이면 25를 즉 서브넷마스크를 2진법으로 표현했을 때 1의 수를 입력하면 된다. 게이트웨이 정보를 입력하고 네임서버 정보를 입력한다. 아래에 라우팅설정(Routing)은 정적라우팅이 필요한 경우 설정한다. 
“[X] Automatically connect"를 선택하여 시스템 부팅시 자동으로 장치를 활성화 시킨다. “[X] Avaiable to all users”를 선택하여 시스템에 다른 사용자가 로그인 하더라도 네트워크를 사용할 수 있게 한다. 
모든 설정이 끝났다면 <OK>를 선택하고 <Enter>키를 누른다.


DHCP 설정
특별히 할당받은 네트워크 정보가 없고 자동으로 IP를 받아야 하는 경우에는 DHCP서버가 있어 DHCP를 통해 네트워크 정보를 할당받아 설정한다. 이 때는 다음 그림과 같이 설정한다.
위 그림과 같이 IPv4 CONFIGURATION부분을 <Automatic>으로 선택한다. 라우팅설정(Routing)은 정적라우팅이 필요한 경우 설정한다. 
“[X] Automatically connect"를 선택하여 시스템 부팅시 자동으로 장치를 활성화 시킨다. “[X] Avaiable to all users”를 선택하여 시스템에 다른 사용자가 로그인 하더라도 네트워크를 사용할 수 있게 한다. 
모든 설정이 끝났다면 <OK>를 선택하고 <Enter>키를 누른다.


2. 변경된 정보 시스템에 적용
GUI환경에서도 언급했듯이 설정을 마쳤다고 바로 변경된 정보로 시스템에 적용되지는 않는다. nmtui 첫 화면에서 Active a connection을 선택하고 설정한 장치를 선택하고 <Deactivate> 했다가 <Activate>를 선택해야 시스템에 적용되어 IP가 변경되게 된다.
  
만약 원격접속을 하여 IP를 변경한다면 IP 설정후에 장치를 꺼버리면 접속이 끊어지게 되고 접속이 끊어진 상태에서 다시 켬으로 바꿀 방법은 로컬의 컴퓨터에서만 가능할 것이다. 그래서 필자는 이 방법을 추천하지 않고 다음 명령어들을 추천한다.
네트워크 메니저의 설정을 시스템에 반영시키는 방법은 앞에서 몇가지 다루었으니 다음 방법으로 재시작 시킨다.

7~] # systemctl restart network



6.2.1.3. 명령어를 사용한 설정
<너무 흔한 내용이라 강좌에는 작성하지 않는다.>



 이상으로 16번째 강좌를 마무리 하겠습니다. CentOS 7부터는 대부분의 기능을 NetworkManager를 통해 지원합니다. 완성도가 많이 높아졌고 편리해 져서 사용하지 않을 수 없네요. 우선 이더넷 설정만 다룹니다. 내일부터 추석연휴의 시작입니다. 금주는 월,화,수,목 이렇게 4일을 다렸습니다. 명절기간에는 부모님께 효도하고 명절이 끝나면 다시 달려 봅니다. 2014년 9월 4일(목) 에스유였습니다.^^ 
 
#################################################
* 본 강좌는 언제든 갱신될 수 있으며, 원글은 www.linux.co.kr 강좌>리눅스>SU의 연재강좌 에서 수정됩니다. 
* 본 강좌의 일부 또는 전체를 인용하실 경우, 반드시 출처를 밝혀 주시기 바랍니다.

* 수정이력 :
 2014.09.04(목): 최초작성

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,032 명
  • 현재 강좌수 :  35,773 개
  • 현재 접속자 :  222 명