1. IP변경방법
리눅스에서 IP Address를 변경하는 방법은 다음과 같이 몇가지가 있다. 

방법1 : netcfg 유틸리티를 이용하는 방법 
방법2 : netconfig 유틸리티를 이용하는 방법 
방법3 : setup 유틸리티를 이용하는 방법 
방법4 : 직접 명령어로 수작업하는 방법 

위의 4가지 방법중 방법1, 방법2, 방법3은 각각 netcfg, netconfig, setup파트에서 설명이 되어있으므로 해당파트에서 사용법을 확인하기 바라며, 
여기에서는 방법4번으로 IP Address를 변경하는 방법에 대해서 설명할 것이다. 

어떤방법이 가장 올바른 방법이라는 것을 판단한다는 것은 매우 어리석은 것이라 생각되며,
단지 서버관리자로서 일을하다보면 유틸리티보다는 직접 명령어를 통해서 작업하는 경우가 많으며 가장 빠른 방법이라고 할 수 있다. 

필자또한 IP Address변경하는 작업뿐 아니라 거의 모든 작업을 직접 command를 수행하여 직접하고 있다. 

작업에 들어가기전에 한가지 더 알아야하는 것이있다 .

IP Address 변경시에 수정해주어야하는 작업관 확인하는 명령어를 먼저 소개하고 넘어가겠다.

IP Address 대상파일 
/etc/sysconfig/network 
/etc/sysconfig/network-scripts/ifcfg-etho (해당 ethernet inferface) 
IP Address변경전후 확인하는 명령어 
ifconfig 
netstat 또는 route 
자, 그럼 서론은 이쯤에서 끝내고 명령어를 통한 수작업으로 IP Address를 변경하는 작업을 해보도록 하자.

 

2. 변경전 네트웍설정 확인

먼저 아래예와 같이 ifconfig 명령어를 통하여 현재의 네트웍설정을 확인토록하자.

보는 바와같이 현재의 네트웍설정은 다음과 같다. 

IP Address(host ip address) : 211.220.193.158 
Broadcast : 211.220.193.159 
Subnet Mask : 255.255.255.240 
현재 IP Address를 211.220.193.158에서 211.220.193.149로 변경하려한다. 

참고로 ifconfig 명령어와 함께 네트웍관련 설정을 확인할 때에 자주사용하는 명령어가 netstat이라는 명령어이다. 

netstat은 서버의 라우팅(routing)경로를 확인할 때에 자주 사용된다.  

참고로 알아두면 좋을 것이며, 자세한 설명은 수퍼유저코리아의 해당파트를 참조바란다. 

 

3. /etc/sysconfig/network 파일수정

현재의 IP Address를 확인하였으므로 이제 본격적으로 IP Address를 변경토록 해보자.

먼저, 앞서 설명드린 바와 같이 /etc/sysconfig/network 파일을 열어서 수정하도록 한다.  

수정할 때에는 주로 vi 명령어로 해당파일(/etc/sysconfig/network)을 열어서 확인한다. 

/etc/sysconfig/network 파일에는 위의 예를 보는 바와 같이 다음과 같은 설정을 할 수 있다. 


NETWORKING   : 네트웍여부 
HOSTNAME : 호스트네임 
GATEWAYDEV : 게이트웨이 장치명 
GATEWAY : 게이트웨이 IP Address 
여기서는 동일네트웍에서 IP Address만 변경하는 경우이므로 /etc/sysconfig/network 파일에서 변경할 것은 없다. 

하지만, 만약 서버이전등으로 인해 네트웍자체가 변경될 경우에는 GATEWAY정보도 수정해 줘야한다. 

또한 서버용도변경등으로 인한 호스트네임이 변경될 경우에도 이 파일의 HOSTNAME을 수정해 줘야한다. 

 

4. inferface 장치파일변경(/etc/sysconfig/network-scripts/ifcfg-eth0)

다음으로 변경해줘야하는 것은 해당 ethernet interface의 장치파일이다 .

이들 ethernet inferface 장치파일들이 존재하는 위치는 /etc/sysconfig/network-scripts/ 디렉토리이며, 이 디렉토리내에서 변경코자하는 ethernet에 해당하는 장치파일을 수정해주면 된다. 

앞에서 살펴본대로 현재 IP Address의 변경예로든 리눅스서버는 한 개의 ethernet을 가지고 있으며 당연히 장치명이 eth0가 된다.

따라서 여기서 변경해줘야하는 파일또한 ifcfg-eth0가 된다. 

이제 이 파일을 열어서 수정해준후에 뒤에서 설명될 /etc/rc.d/init.d/network restart를 해주거나 시스템을 리부팅하면 된다. 

아래의 예는 직접 ifcfg-eth0 파일을 열어서 수정해준 예이다. 

자세히 살펴보면 IP Address가 211.220.193.158에서 211.220.193.149로 변경해둔 것을 볼 수 있다. 

앞서 설명드린 바와같이 만약 서버이전드으로 인해 네트웍전체가 변경될 경우에는 BROADCAST, NETWORK, NETMASK등이 변경될 수 있으므로 유의하기 바란다. 

어쨌든 현재 예로든 경우는 동일 네트웍에서 IP Address만 변경되는 경우이므로 단지 호스트(서버)의 IP Address만을 변경하면 그뿐이다.

 

 

5. 설정변경 적용

# /etc/rc.d/init.d/network restart
# reboot 
# shutdown -r now 
# init 5 
입맛대로  재시작 


6. 변경된 IP Address 확인

# ifconfig
# netstat


7. 네트웍테스트

# ping 게이트웨이IP
# ping 다른 네트워크IP
# ping 도메인