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

네트워크 설정 파일들을 이용한 IP설정과 네트워크 재설정 방법

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

네트워크 설정 파일들을 이용한 IP설정과 네트워크 재설정 방법

 

 

 

 

 

 

 

리눅스시스템에 존재하는 네트워크관련 설정파일을 이용하여 IP주소를 변경하거나 네트워크 설정을 재설정하는 방법에 대한 설명이다.

 

 

 

 이미 말했듯이 대부분의 시스템관리자들은 실무에서 이 방법을 이용하여 네트워크 설정을 한다.

 

 

 

 따라서 우리는 앞에서 이미 설명하였던 3가지 방법 보다 지금 설명하는 이 방법을 확실히 알고 있어야 할 것이다.

 

 

 

 , 그럼 네트워크 설정파일을 이용한 IP재설정 방법과 네트워크 설정 방법에 대해서 알아보도록 하자.

 

 

 

리눅스시스템에서 네트워크 설정을 하는 파일들은 다음과 같다.

 

 

 

 , 아래 파일들의 설정만 할 수 있다면 시스템이 최악의 상황에 있다 하더라도 네트워크 설정을 할 수 있다는 것을 의미한다.

 

 

 

 그만큼 이 파일들의 의미와 설정을 정확하게 하는 것이 중요하다는 것을 말하는 것이다.

 

 

 

 

 이번 주제의 결론부터 말하자면 가장 간단한 방법으로 IP주소만을 변경하고자 할 때에는 아래 파일4”의 내용만 변경하면 된다.

 

 

 

 

 

 이에 대한 설명은 이어서 보도록 하자.

 

 

 

파일1 : /etc/sysconfig/network

 

 

파일2 : /etc/resolv.conf

 

 

파일3 : /etc/sysconfig/network-scripts/ifcfg-lo

 

 

파일4 : /etc/sysconfig/network-scripts/ifcfg-eth0

 

 

파일5 : /etc/sysconfig/network-scripts/ifcfg-eth1

 

 

파일N : /etc/sysconfig/network-scripts/ifcfg-ethN

 

 

 

네트워크 컨트롤 스크립트 : /etc/rc.d/init.d/network restart|start|stop

 

 

변경된 IP주소 확인방법 : ifconfig eth0

 

 

변경된 IP주소의 통신여부 확인 : ping www.linux.co.kr

 

 

 

이 파일들의 설정내용을 정확하게 이해하고 설정한다는 것은 네트워크를 재설정한다는 것을의미하는 것이다.

 

 

 

 이제 이들 파일의 내용과 설정방법들에 대해서 하나씩 차례대로 알아보도록 하자.

 

 

 

 

 

 

 

/etc/resolv.conf

 

이 파일에서는 도메인 네임 쿼리를 위한 DNS서버를 지정하기 위한 설정이 존재한다.

 

 

 

 이 파일의 내용을 먼저 보도록 하자.

 

 

 

 

[root@sulinux ~]#cat /etc/resolv.conf

search sulinux.net

nameserver 168.126.63.1

nameserver 168.126.63.2

[root@sulinux ~]#

 

 

 

 

, 위의 설정의 의미는 다음과 같다.

 

 

 

 첫번째 “search sulinux.net”은 시스템에서 도메인명 지정없이 호스트네임만을 사용하였을 때에 자동으로 사용될 기본 도메인명을 지정한 것이다.

 

 

 

 , “telnet www”라고 하였다면 “telnet www.sulinux.net”이라는 의미가 된다.

 

 

 

 또한 “ping ftp”를 실행하였다면 “ping ftp.sulinux.net”을 사용하게 된다.

 

 

 

 그리고 그 아래에 있는 nameserver에 지정된 IP주소는 현재 이 시스템에서 사용할 1 DNS서버와 2 DNS서버의 IP주소이다.

 

 

 

 결론적으로 우리는 현재 이 시스템이 사용할 1차 또는 2차 네임서버 IP주소를 변경하고자 할 때에 이 파일을 vi로 열어서 원하는 네임서버의 IP주소를 지정하면 된다는 것을 알 수 있다.

 

 

 

 , 이 파일에서는 이 시스템이 사용할 네임서버를 설정한다.

 

 

 

 

 

 

/etc/sysconfig/network-scripts/ifcfg-lo

 

다음은 현재 시스템의 루프백주소에 대한 이더넷파일인 ifcfg-lo파일이다.

 

 

 

 먼저, 이 파일의 설정 예를 보도록 하자.

 

 

 

[root@sulinux ~]#cat /etc/sysconfig/network-scripts/ifcfg-lo

DEVICE=lo

IPADDR=127.0.0.1

NETMASK=255.0.0.0

NETWORK=127.0.0.0

# If you're having problems with gated making 127.0.0.0/8 a martian,

# you can change this to something else (255.255.255.255, for example)

BROADCAST=127.255.255.255

ONBOOT=yes

NAME=loopback

[root@sulinux ~]#

 

위의 예를 보는 바와 같이 ifcfg-lo파일은 현재 이 시스템의 자기자신과 통신을 하기 위한 루프백 이더넷 설정파일이다.

 

 

 

 이 파일의 설정내용은 거의 고정되어 있고 시스템관리자가 별도로 설정할 일은 없다.

 

 

 

 다만, 만약 lo라는 루프백 이더넷이 사라졌거나 정상적인 작동이 되지 않는다면 이 파일의 내용을 확인하면 된다.

 

 

 

 

 

 

/etc/sysconfig/network-scripts/ifcfg-eth0

 

 

 

 

이번에는  이번 강좌의 핵심내용이라고 할 수 있는 이더넷장치 설정파일이다.

 

 

 

 , /etc/sysconfig/network-scripts/ 디렉토리에는 현재 이 시스템에서 사용하는 모든 이더넷 설정파일들이 존재한다.

 

 

 

 방금 전에 보았던 ifcfg-lo라는 파일도 이 디렉토리에 존재한다.

 

 

 

 이 시스템의 첫번째 이더넷 설정파일은 “/etc/sysconfig/network-scripts/ifcfg-eth0”이고 두번째 이더넷 설정파일은 “/etc/sysconfig/network-scripts/ifcfg-eth1”이며 N번째 이더넷 설정파일은 “/etc/sysconfig/network-scripts/ifcfg-ethN”이다.

 

 

 

 , 이 디렉토리에 존재하는 파일들의 내용을 잘 살펴보면 시스템의 네트워크 설정현황을 파악할 수 있다.

 

 

 

 

 

결론적으로 가장 보편적인 방법으로 현재 시스템의 IP주소를 변경하고자 한다면 “/etc/sysconfig/network-scripts/ifcfg-eth0”파일의 내용을 변경하면 된다.

 

 

 

 물론, 이더넷이 eth1이라면 ifcfg-eth1이라는 파일을 변경한다.

 

 

 

 그 다음도 마찬가지이다.

 

 

 

 다음 예를 보라.

 

[root@sulinux ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

BROADCAST=192.168.0.255

DHCPCLASS=

HWADDR=00:0C:29:C4:81:91

IPADDR=192.168.0.250

NETMASK=255.255.255.0

NETWORK=192.168.0.0

ONBOOT=yes

[root@sulinux ~]#

 

이 파일의 각 항목들에 대한 간단한 설명은 다음과 같다.

 

 

 

 

 

DEVICE    : 해당 이더넷 (네트워크 인터페이스 장치명)

 

 

BOOTPROTO : 고정IP 사용시 static, 유동IP 사용시 dhcp를 설정.

 

 

BROADCAST : 동일네트워크내의 전체 호스트에 보내는 브로드캐스트 IP주소

 

 

HWADDR    : 해당 이더넷의 MAC주소

 

 

IPADDR    : 해당 이더넷의 IP주소(IP주소 변경시에 이 부분을 변경)

 

 

NETMASK   : 해당 이더넷의 넷마스크 IP주소

 

 

NETWORK   : 해당 이더넷이 속한 네트워크의 IP주소

 

 

ONBOOT    : 시스템 부팅시에 해당 이더넷을 활성화(yes) 또는 비활성화(no) 설정

 

 

 

 

위의 설명만으로도 얼마든지 특정 이더넷의 IP주소와 네트워크 설정을 변경할 수 있을 것이다.

 

 

 

 만약 동일 네트워크 내에서 IP주소만 변경될 경우에는 위의 여러 항목들 가운데 “IPADDR” 항목을 변경되는 IP주소로 바꾸어 주면 된다.

 

 

 

 만약 네트워크 주소까지 왕창 변경이 된다면 “BROADCAST”,“IPADDR”,”NETMASK”,“NETWORK” 4가지 항목의 값을 변경해야 한다.

 

 

 

 

 

 

네트워크 컨트롤 스크립트 /etc/rc.d/init.d/network

 

 

 

 

방금 전까지 우리는 현재 시스템의 네트워크 설정을 변경하는 방법에 대해서 알아보았다.

 

 

 

 이제 이렇게 변경한 IP주소와 네트워크설정들을 현재 시스템에 적용하기 위하여 다음과 같은 스크립트를 restart하면 된다.

 

 

 

 

 

[root@sulinux ~]#/etc/rc.d/init.d/network restart

Shutting down interface eth0:  [  OK  ]

Shutting down loopback interface:  [  OK  ]

Bringing up loopback interface:  [  OK  ]

Bringing up interface eth0:  [  OK  ]

[root@sulinux ~]#

 

 

 

 

/etc/rc.d/init.d/network 파일은 텍스트로 된 쉘스크립트파일이다.

 

 

 

 위의 예와 같이 이 파일에 restart라는 옵션을 주어서 실행하면 방금 전까지 우리가 설정했던 /etc/sysconfig/network-scripts/디렉토리에 존재하는 이더넷 설정파일들을 모두 다시 읽어서 적용한다.

 

 

 

 이것이 매우 중요한 사실이다.

 

 

 

 , 이 말의 의미는 /etc/rc.d/init.d/network 이라는 스크립트파일은 /etc/sysconfig/network-scripts/디렉토리내에 존재하는 ifcfg-lo, ifcfg-eth0, ifcfg-eth1등과 같은 모든 이더넷 설정파일들을 다시 읽어서 새롭게 적용하게 된다.

 

 

 

 

 

너무나 중요한 사실이기에 필자는 다음과 같이 개념정리를 해보았다.

 

 

 

  

 

현재 시스템의 IP주소나 네트워크 설정을 변경하려면 /etc/sysconfig/network-scripts/ifcfg-eth0과 같은 이더넷 설정파일의 내용을 수정한다.

 

 

 

 그런 다음 변경사항을 시스템에 바로 적용하기 위하여 /etc/rc.d/init.d/network 스크립트를 restart한다.

 

 

 

 

비록 좀 길게 설명하고 말이 좀 많기는 하였으나 이것이 이번 주제의 핵심이므로 다른 것은 다 몰라도 괜찮다.

 

 

 

 하지만 필자의 이 말만은 꼭 기억하고 IP주소와 네트워크 설정을 변경할 수 있도록 하자.

 

이제 변경된 IP주소 확인해 보도록 하자. 물론 앞에서도 이미 확인해 보았던 방법이지만, 리눅스 시스템에서 IP주소를 확인하는 가장 간단한 방법은 ifconfig를 이용하는 방법이다.

 

 

 

 다음 예와 같이 앞에서 우리가 변경했던 IP주소를 확인해 보도록 하자.

 

 

 

[root@sulinux ~]#ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:C4:81:91 

          inet addr:192.168.0.250  Bcast:192.168.0.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fec4:8191/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:82233 errors:0 dropped:0 overruns:0 frame:0

          TX packets:3189 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:5276114 (5.0 MiB)  TX bytes:375594 (366.7 KiB)

          Interrupt:169 Base address:0x2000

 

lo        Link encap:Local Loopback 

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:895 errors:0 dropped:0 overruns:0 frame:0

          TX packets:895 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:1337308 (1.2 MiB)  TX bytes:1337308 (1.2 MiB)

 

[root@sulinux ~]#

 

 

 

 

위의 내용을 확인해 보면 현재 시스템의 변경된 네트워크 정보를 확인할 수 있다.

 

 

 

 

 

그리고 다음은 이렇게 변경된 IP주소와 네트워크 정보를 가지고 정상적인 통신이 되는가를 확인하기 위하여 현재 시스템과 다른 네트워크에 있는 특정 호스트로 ping테스트를 해보도록 하자. 가장 일반적이고 흔하게 사용하는 방법이므로 간단히 ping테스트를 해보도록 한다.

 

 

 

 

 

[root@sulinux ~]#ping www.yahoo.co.kr

PING yahoo.co.kr (203.212.171.217) 56(84) bytes of data.

64 bytes from rc.vip.kr1.yahoo.com (203.212.171.217): icmp_seq=1 ttl=52 time=6.12 ms

64 bytes from rc.vip.kr1.yahoo.com (203.212.171.217): icmp_seq=2 ttl=52 time=7.92 ms

64 bytes from rc.vip.kr1.yahoo.com (203.212.171.217): icmp_seq=3 ttl=52 time=31.2 ms

64 bytes from rc.vip.kr1.yahoo.com (203.212.171.217): icmp_seq=4 ttl=52 time=9.47 ms

64 bytes from rc.vip.kr1.yahoo.com (203.212.171.217): icmp_seq=5 ttl=52 time=7.37 ms

 

--- yahoo.co.kr ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 4001ms

rtt min/avg/max/mdev = 6.121/12.420/31.205/9.454 ms

[root@sulinux ~]#

 

 

 

 

 

이상과 같이 변경된 네트워크 설정값으로 외부와의 통신이 정상적으로 이루어진다는 것을 알 수 있었다.

 

 

관련자료

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

공지사항


뉴스광장


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