자격증과 세미나, 프로그램 이야기를 주저없이 써봅니다.

Since 2008. 10.

IT 자격증/리눅스마스터 및 LPIC

리눅스에서 랜카드 하나에 여러 개의 IP 설정하기

럭키맨 운수 2009. 2. 15. 00:42

경우에 따라서는 시스템에 2개 이상의 IP가 필요할 때가 있습니다. 물론 랜카드를 추가로 장착해서 IP를 설정하면 되지만, 간단하게 기존 랜카드에 IP를 추가로 설정할 수 있습니다.

 

ifconfig로 확인하면 eth0에 192.168.128.10 IP 하나만 잡혀 있는 것을 확인할 수 있습니다.

 

[root@luckyman /]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:15:B8:DC 
          inet addr:192.168.128.10  Bcast:192.168.128.255  Mask:255.255.255.0
          inet6 addr: 2002:cbe5:d586:5:20c:29ff:fe15:b8dc/64 Scope:Global
          inet6 addr: fe80::20c:29ff:fe15:b8dc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5150 errors:0 dropped:0 overruns:0 frame:0
          TX packets:794 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:406271 (396.7 KiB)  TX bytes:90542 (88.4 KiB)
          Interrupt:177 Base address:0x1400

 

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:49 errors:0 dropped:0 overruns:0 frame:0
          TX packets:49 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3712 (3.6 KiB)  TX bytes:3712 (3.6 KiB)


/etc/sysconfig/network-scripts/ 디렉토리에 보면 네트워크 설정파일이 ifcfg-eth0가 있습니다. 이 파일을 복사하여 새롭게 추가할 IP의 네트워크 정보를 입력합니다.

 

[root@luckyman /]# cd /etc/sysconfig/network-scripts/
[root@luckyman network-scripts]# ls
ifcfg-eth0      ifdown-isdn   ifup-ib     ifup-plusb     init.ipv6-global
ifcfg-lo        ifdown-post   ifup-ippp   ifup-post      network-functions
ifdown          ifdown-ppp    ifup-ipsec  ifup-ppp       network-functions-ipv6
ifdown-aliases  ifdown-sit    ifup-ipv6   ifup-routes
ifdown-ippp     ifdown-sl     ifup-ipx    ifup-sit
ifdown-ipsec    ifup          ifup-isdn   ifup-sl
ifdown-ipv6     ifup-aliases  ifup-plip   ifup-wireless

 

[root@luckyman network-scripts]# cp ifcfg-eth0  ifcfg-eth0:0

 

복사된 네트워크 설정파일을 수정하면 됩니다. 중요한 것은 디바이스명을 기존에 있던 eth0로 동일하게 설정하면, 기존 네트워크가 단절되는 사태가 발생할 수도 있습니다.

 

[root@luckyman network-scripts]# vi ifcfg-eth0:0
DEVICE=eth0:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.8.10.48
NETMASK=255.255.255.0
#HWADDR=00:0C:29:15:B8:CC
~
~
"ifcfg-eth0:0" 6L, 108C written     

 

설정파일 편집이 끝났으면, 네트워크를 재시작하면 IP 추가가 완료됩니다.                        

 

[root@adminviva network-scripts]# /etc/rc.d/init.d/network restart
Shutting down interface eth0:                              [  OK  ]
Shutting down loopback interface:                       [  OK  ]
Setting network parameters:                               [  OK  ]
Bringing up loopback interface:                           [  OK  ]
Bringing up interface eth0:                                  [  OK  ]

 

/etc/rc.d/init.d/network restart 네트워크를 재시작해도 되지만, 순간적인 네트워크가 단절될 수 있고, 또 잘못된 설정으로 인해 네트워크 단절을 피하고 싶다면, ifup eth0:0으로 추가된 네트워크만 활성화시켜도 됩니다.

 

[root@luckyman network-scripts]# ./ifup eth0:0

 

모든 설정이 완료되었다면 제대로 추가가 되었는지 확인해 봅시다.

 

[root@luckyman network-scripts]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:15:B8:DC 
          inet addr:192.168.128.10  Bcast:192.168.128.255  Mask:255.255.255.0
          inet6 addr: 2002:cbe5:d586:5:20c:29ff:fe15:b8dc/64 Scope:Global
          inet6 addr: fe80::20c:29ff:fe15:b8dc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:10324 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1712 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:834949 (815.3 KiB)  TX bytes:188490 (184.0 KiB)
          Interrupt:177 Base address:0x1400

 

eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:15:B8:CC 
          inet addr:10.8.10.48  Bcast:10.8.10.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:177 Base address:0x1400

 

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:49 errors:0 dropped:0 overruns:0 frame:0
          TX packets:49 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3712 (3.6 KiB)  TX bytes:3712 (3.6 KiB)

 

eth0:0에 10.8.10.48 IP가 추가된 것을 확인할 수 있습니다. 마지막으로 정상적인 통신이 이뤄지는지 확인하고 작업을 마무리하면 됩니다.

 

[root@luckyman network-scripts]# ping 10.8.10.1
PING 10.8.10.1 (10.8.10.1) 56(84) bytes of data.
64 bytes from 10.8.10.1: icmp_seq=0 ttl=64 time=2.71 ms
64 bytes from 10.8.10.1: icmp_seq=1 ttl=64 time=0.641 ms
64 bytes from 10.8.10.1: icmp_seq=2 ttl=64 time=0.991 ms

 

--- 10.8.10.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 0.641/1.449/2.717/0.908 ms, pipe 2

2개 뿐만 아니라. eth0:1, eth0:2 등으로 필요한 IP만큼 추가하기만 하면 원하는 IP를 모두 사용할 수 있습니다.