Friday, April 13, 2018

CentOS 6.6 리눅스 관리] 10. NIC (Network Interface Card) IP 주소 설정


안녕하세요. 썬구루입니다. 이 게시물에서는 CentOS 리눅스에서 네트워크 인터페이스에 IP 정보를 설정하는 방법에 대해 알아보도록 하겠습니다.

네트워크란 컴퓨터 상호 간 데이터를 주고받기 위한 통신망을 말합니다. 그리고 컴퓨터에는 이러한 통신망에 연결하기 위한 디바이스를 장착하여 사용하는 것이죠. 이를 우리는 네트워크 인터페이스 카드(Network Interface Card 일명 NIC)라고 합니다.

그리고 이것은 다시 통신케이블을 사용하여 네트워크 장비 보통 스위치에 연결되는 것이죠. 우리가 사용하는 공유기는 라우터 역할도 하지만 스위치 역할도 하고 있습니다.


네트워크에 연결된 네트워크 인터페이스 카드를 이용하여 외부 기기와 통신을 하기 위해서는 특별한 주소를 입력해야 하는데 이것이 IP 주소입니다. IP 주소 체계는 네트워크 기초 책을 통해 또는 IT 학원이나 컴퓨터 계통 학과에서 배우곤 합니다. 우리는 IP 주소체계를 알아보는 것이 아니라 네트워크 인터페이스 카드에 어떻게 IP 주소를 설정하는지에 대해 알아볼 것입니다.

■ 네트워크 인터페이스 카드(NIC) 모델 확인

lspci 명령을 사용하면 PCI 슬롯에 연결된 디바이스 정보를 확인할 수 있다. 일단 VMware Workstation에서는 가상머신에 Intel 이더넷 네트워크 카드를 표준으로 사용하고 있다.

[root@sunguru ~]# lspci | grep -i ethernet
02:00.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01)
[root@sunguru ~]#

■ NIC 이름

그러면 CentOS 리눅스 커널에서는 이 물리적인 디바이스에 어떠한 이름을 붙여서 사용할까? 모델마다 NIC 이름이 다를 수 있지만 보통 전통적으로 eth라는 디바이스 이름을 사용한다. 그리고 디바이스 이름 뒤에 번호를 붙여 각 NIC 카드를 구분한다. 모든 종류의 NIC가 eth 디바이스 이름을 사용하는 것은 아니다.

만약 설정된 NIC 이름을 변경하고 싶다면 아래와 같은 파일의 내용을 수정하면 된다. 하지만 기본값을 사용하는 것을 권장한다.

[root@sunguru network-scripts]# grep SUBSYSTEM /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:56:e3:45", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
[root@sunguru network-scripts]# 

■ NIC IP 주소 설정 관련 파일

NIC에 대한  IP 주소 설정값을 가지고 있는 파일은 아래와 같다.

[root@sunguru ~]# more /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=6e26fd44-6b79-4d25-a347-9cd68d433336
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
HWADDR=00:0C:29:56:E3:45
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
[root@sunguru ~]# 

■ NIC IP 주소 설정

만약 NIC에 대한 IP 주소 설정을 변경하고 싶다면 해당 파일을 열어 수정 후 적용을 시킬 수 있지만 이것은 그에 대해 잘 알고 있는 고급 사용자가 설정하는 방법이다. 우리는 GUI를 사용하여 IP 주소를 설정하는 방법에 대해 알아보는 것으로 한정한다.

1). GUI 툴을 사용한 설정 법

아래 명령을 실행하거나 상단 패널의 우측에 있는 네트워크 아이콘에 우측 마우스 버튼 > 연결 편집을 누르면 네트워크 연결 편집기를 열수 있다.

# /usr/bin/nm-connection-editor





▶ 아래 그림 좌측 상단과 같이 NIC 선택 > 변경하기
▶ 아래 그림 우측과 같이 IPv4 설정 탭 > 방식 : 수동 > 추가 버튼 > 주소 창에 주소 및 DNS 정보 입력 > 적용
▶ 아래 그림 좌측 하단과 같이 닫기 선택




위 순으로 진행을 하면 NIC에 대한 IP 설정을 할 수 있다. 그리고 아래와 같이 ifconfig 명령을 사용하면 IP 주소 변경한 내용이 적용되지 않은 것을 알 수 있다. network 서비스를 재시작하면 변경된 내용을 적용할 수 있다.

[root@sunguru ~]# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:0C:29:56:E3:45
          inet addr:192.168.80.115  Bcast:192.168.80.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe56:e345/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:991 errors:0 dropped:0 overruns:0 frame:0
          TX packets:972 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:254464 (248.5 KiB)  TX bytes:78215 (76.3 KiB)

[root@sunguru ~]#
[root@sunguru ~]# service network start
loopback 인터페이스 활성화중 입니다:                       [  OK  ]
eth0 인터페이스 활성화중 입니다:  활성화된 연결 상태: 활성화됨
활성화된 연결 경로: /org/freedesktop/NetworkManager/ActiveConnection/1
                                                           [  OK  ]

[root@sunguru ~]# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:56:E3:45
          inet addr:192.168.80.250  Bcast:192.168.80.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe56:e345/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1012 errors:0 dropped:0 overruns:0 frame:0
          TX packets:990 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:264704 (258.5 KiB)  TX bytes:79542 (77.6 KiB)
[root@sunguru ~]# netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.80.0    0.0.0.0         255.255.255.0   U         0 0          0 eth0
0.0.0.0         192.168.80.2    0.0.0.0         UG        0 0          0 eth0
[root@sunguru ~]# 

그리고 eth0에 관련된 파일을 확인하면 내용이 아래와 같이 변경된 것을 확인할 수 있다.

[root@sunguru ~]# more /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=6e26fd44-6b79-4d25-a347-9cd68d433336
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
HWADDR=00:0C:29:56:E3:45
IPADDR=192.168.80.250
PREFIX=24
GATEWAY=192.168.80.2
DNS1=168.126.63.1
LAST_CONNECT=1468126687
[root@sunguru ~]# 

nm-connection-editor는 위와 같은 NIC에 관련된 파일을 수정하기 위해 사용되는 GUI 툴이다. 이것을 통해 vi 같은 편집기로 수정했을 때 일어날 수 있는 실수를 줄일 수 있다.

만약 IP 설정 후에 CentOS 가상머신이 외부와 네트워크 통신을 할 수 없다면 그것은 저와 가상 스위치 설정이 틀려서 그런 것입니다. 다음과 같은 게시물을 참고하여 http://sunguru-infra.blogspot.kr/2017/04/vmware-workstation-6-vmware-workstation.html VMnet8 가상 네트워크(가상 스위치)의 Subnet IP를 192.168.80.0으로 수정하면 외부와 다시 통신을 할 수 있습니다.


여기까지 네트워크 인터페이스 간단한 IP 주소 설정'에 대해 알아보았습니다. 이것은 리눅스 네트워크 서비스 내용에서 컴퓨터 상호 간 통신을 하기 위해 필요합니다. GUI 툴을 통한 IP 주소 설정 방법은 꼭 알아두시길 바랍니다.

다음 게시물에서는 아카이브, 압축 및 백업/복구에 대해 알아보도록 하겠습니다.






No comments:

Post a Comment