Ok, I put a third nic in my server and tried a similar setup to yours. I suspect the problem comes from putting two nics on the same subnet of your server/router.
Here is what my FC4 setup looks like and you can adjust it for your system.
eth1 is connected to the internet and gets an address automatically
Code:
DEVICE=eth1
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
PEERDNS=no
IPV6INIT=no
Code:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
PEERDNS=no
IPV6INIT=no
IPADDR=192.168.0.1
NETMASK=255.255.255.0
This is the new nic I added....
Code:
DEVICE=eth2
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
PEERDNS=no
IPV6INIT=no
IPADDR=192.168.2.1
NETMASK=255.255.255.0
My server is setup with named ( dns ) and dhcpd severs on eth0 .
I added the new subnet to my dhcp server so the dhcpd.conf looks like this. The new subnet needs to be authoritative.
Code:
ddns-update-style interim;
ddns-updates on;
ddns-domainname "mydomain.com";
server-name "192.168.0.1";
max-lease-time 604800;
default-lease-time 604800;
allow booting;
allow bootp;
subnet 192.168.0.0 netmask 255.255.255.0 {
ddns-updates on;
option domain-name-servers 192.168.0.1;
option domain-name "mydomain.com";
option broadcast-address 192.168.0.255;
option subnet-mask 255.255.255.0;
option routers 192.168.0.1;
range 192.168.0.2 192.168.0.50;
}
subnet 192.168.2.0 netmask 255.255.255.0 {
authoritative;
range 192.168.2.2 192.168.2.50;
}
Next, I added the new subnet into my iptables script and restarted iptables.
Code:
# This rule will accept connections from local machines.
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A INPUT -s 192.168.0.0/24 -d 0/0 -p all -j ACCEPT
$IPTABLES -A INPUT -s 192.168.2.0/24 -d 0/0 -p all -j ACCEPT
Then, I had to restart networking and dhcpd. You may find it just as easy to restart the server.
Both client machines are then connected by crossover cable as you don't have a switch/hub.
On the client which is connected to the new server nic, I also added 192.168.2.1 as the gateway. That is the only gateway address that I needed to put in.