Bind Multiple IP Addresses to a Single Network Interface Card (NIC)
os/UNIX_LINUX 2013. 5. 16. 16:03http://www.xenocafe.com/tutorials/linux/redhat/bind_multiple_ip_addresses_to_single_nic/index.php
Bind Multiple IP Addresses to a Single Network Interface Card (NIC) Written by Tony Bhimani Requirements This tutorial demonstrates how to bind multiple IP addresses to a single NIC. By using multiple IP's you can run a service under a specific IP while having another service under a different one (for example, have HTTP on one and SMTP on another), or create a private LAN using a local IP and have the alias hold your Internet IP (such as NAT). One of the major benefits is that you don't need a physical adapter for each IP but instead can create many virtual ones tied to a single physical card. The instructions provided apply to RedHat, Fedora, and CentOS. I'll be using LAN IP's in this example, so replace them with the ones you'll be using. The network scripts are located in /etc/sysconfig/network-scripts/. Go into that directory. cd /etc/sysconfig/network-scripts/
The file we're interested in is ifcfg-eth0, the interface for the Ethernet device. If you have a second Ethernet device then there would be an ifcfg-eth1 file and so on for each adapter you have installed. Let's assume we want to bind three additional IP's (192.168.1.111, 192.168.1.112, and 192.168.1.113) to the NIC. We need to create three alias files while ifcfg-eth0 maintains the primary IP address. This is how we'll set up the aliases to bind the IP addresses. Adapter IP Address Type ----------------------------------- eth0 192.168.1.110 Primary eth0:0 192.168.1.111 Alias 1 eth0:1 192.168.1.112 Alias 2 eth0:2 192.168.1.113 Alias 3 The :X (where X is the interface number) is appended to the interface file name to create the alias. For each alias you create you assign a number sequentially. For this example we will create aliases for eth0. Make a copy of ifcfg-eth0 for the three aliases. cp ifcfg-eth0 ifcfg-eth0:0
Take a look inside ifcfg-eth0 and review the contents. more ifcfg-eth0
We're interested in only two lines (DEVICE and IPADDR). We'll rename the device in each file to its corresponding interface alias and change the IP's. We'll start with ifcfg-eth0:0. Open ifcfg-eth0:0 in vi and change the two lines so they have the new interface and IP address. vi ifcfg-eth0:0 DEVICE=eth0:0 IPADDR=192.168.1.111
Save ifcfg-eth0:0 and edit the other two alias files (ifcfg-eth0:1 and ifcfg-eth0:2) so they have the new interfaces and IP addresses set (follow the table from above). Once you save all your changes you can restart the network for the changes to take effect. service network restart
To verify all the aliases are up and running you can run ifconfig (depending on how many new IP's you set up, you can use ifconfig | more to pause the output). ifconfig
You can also test the IP's by pinging them from a different machine. If everything is working then there should be a response back. ping 192.168.1.111
Looks like everything is working like a charm. With the new IP's you can set up sites in Apache bound to a dedicated IP, anonymous FTP, and many other things. If you run into any problems during configuration, please post your questions to the forum.
추가 참고..
http://tarique21.wordpress.com/2009/07/19/howto-creating-virtual-interfaces-in-solarisredhatdebian/
HowTo: Creating virtual interfaces in solaris/Redhat/DebianSometimes it’s useful to create a virtual network interface on your Solaris box, so that you can associate multiple IP addresses with the same host and not have to go through all the trouble of buying another NIC. Here’s a quick HOWTO. Let’s assume our network card is eri0, and we want to create a virtual interface called eri0:1 Create the virtual interface: # ifconfig eri0:1 plumb Configure the virtual interface: # ifconfig eri0:1 179.164.83.161 netmask 255.255.255.0 broadcast 179.164.83.255 Check to make sure it worked: # ifconfig -a eri0:1: flags=1000842 mtu 1500 index 2 inet 179.164.83.161 netmask ffffff00 broadcast 179.164.83.255 Finally bring up your new virtual interface: # ifconfig eri0:1 up To make it come up on start: create /etc/hostname.eri0:1 with hostname in it make sure the hostname is in /etc/hosts
In RedHat # ifconfig eth0:1 192.168.30.128 netmask 255.255.255.0 That’s all it takes! Let’s check to make sure it took: # ifconfig -a You can (and should!) also give this new address its own name in the /etc/hosts file: 192.168.30.128 stationX To make this permanent in RedHat or Mandriva, look in the directory /etc/sysconfig/network-scripts — you’ll see a file called ifcfg-eth0. Copy that file and edit it to create a new ifcfg-eth0:1 (Be sure to edit the contents of the file to give it the right address and netmask, of course.) Now your eth0:1 interface will start automatically at reboot, just like eth0 itself. You can have as many of these “ifcfg-” files as you like, within reason. In Debian the file is called “/etc/network/interfaces” and is somewhat simpler: auto eth0 iface eth0 inet static address 172.16.0.6 netmask 255.255.255.0 auto eth0:1 iface eth0:1 inet static address 192.168.30.128 netmask 255.255.255.0 You still have to tell the machine about the new network of which it is now a member. That’s the job of the route command: # route add -net 192.168.30.0 netmask 255.255.255.0 # route
추가적으로 참고.. virtual interface in Linux http://blog.daum.net/jjiyong/18230419
|