В компьютере под Slackware 10.1 eth0 и eth1 сконфигурированы:
ipconfig eth0 192.168.2.3
ipconfig eth1 192.168.2.4
В сети также есть внешний компьютер 192.168.2.1.
Так вот, с компьютера под Slackware можно пинговатьping -I eth0 192.168.2.1
или
ping -I eth1 192.168.2.1
--- все проходит (через любой интерфейс) и приходят ответы,
а если пинговать в обратную сторону, т.е. с компьютера 192.168.2.1, то ответы приходят только если пинговать карточку eth0:ping 192.168.2.3
--- ответы приходят, перетыкаем кабель в eth1,
ping 192.168.2.4
--- молчание ;(Почему отвечает только одна карточка?
Для корректной работы двух сетевых карт в одном сегменте под linux необходимо сделать следующее.1. Отключить arp flux (http://linux-ip.net/html/ether-arp.html#ether-arp-flux)
echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_filter
echo 1 > /proc/sys/net/ipv4/conf/eth1/arp_filter2. Создать свою таблицу маршрутизации для eth1 (http://linux-ip.net/html/adv-multi-internet.html)
ip route add 192.168.2.0/24 dev eth2 table 200
ip route add table 200 default via 192.168.2.254
ip rule add from 192.168.2.4 table 200
>Для корректной работы двух сетевых карт в одном сегментеПомогло, дело было имеенно в пакетах arp, и в том что обе карточки находились в одной сети.