You have 2 choices:
1. Install a DHCP server on one of the boxes
2. Assign static IP's to each system, manually configure the routing - if required at all.
Since you only want to connect two PC's via a crossover cable, I suggest option 2. Its much easier to achieve.This is how you do it:
Lets suppose your computers are A and B. A has 3 NIC's (I believe on redhat they would be numbered eth0 to eth2) while B has 7 NIC's (eth0 - eth6). Let suppose A and B are connected via NIC's A.eth1 and B.eth3. All we have to do is assign static IP's to these 2 and enable arp on each of the 2 interfaces.
Please choose 2 IP's like 10.#.#.# or 192.168.#.#, where # is a base 10 number from 0-254. Choose these 2 IP's carefully. Make sure they do not fall in a range that is already routed "outside" via the other intrfaces. Lets say route returns the following on A:
Code:
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
10.5.0.0 * 255.255.0.0 U 0 0 0 eth2
loopback * 255.0.0.0 U 0 0 0 lo
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
As part of the above example, I would not want to choose any IP's in the range 192.168.0.0 - 192.168.0.255 and 10.5.0.0 and 10.5.255.255. It is also relatively unwise to choose the IP of the default gateway - if you have any.
So let suppose IP's 192.168.10.100 and 192.168.10.101 satisfy the above restrictions. All you have to do is assign one IP to A and one to B.
As root execute the following on A (Assigns the static IP of 192.168.10.100 to A.eth1):
Code:
ifconfig eth1 up
ifconfig eth1 inet 192.168.10.100 netmask 255.255.255.0 arp
Note that the address resolution protocol is probably enabled by default, but just making sure it's enabled we will pass arp to ifconfig eth1.
As root execute the following on B:
Code:
ifconfig eth3 up
ifconfig eth3 inet 192.168.10.101 netmask 255.255.255.0 arp
Now as a regular user, on A try
Code:
ping 192.168.10.101
..and on B try:
Code:
ping 192.168.10.100
The 2 computers should see one another.
If not, you might have to tweak your routing table. That can be achieved as easily as:
On A:
Code:
route add -net 192.168.10.0 netmask 255.255.255.0 dev eth1
..and on B:
Code:
route add -net 192.168.10.0 netmask 255.255.255.0 dev eth3
Although when an interface is activated, Linux tends to update the routing table as well, so it would be strange if you had to manually update it.