НО. Иногда роутер начинает слать пакеты на 1й интерфейс. И тогда соответственно клиенты роутера никуда дальше шлюза не попадают.
Однозначно проблема именно в этом т.к. та же сама ситуация на рабочей машине разрешается ARP связкой.
А, как роутер DIR-300 может слать пакеты на 10.0.0.1 если на нём жестко прописаны настройки и в качестве шлюза используется 192.168.1.1?
Эта машина подключена в свичь или в роутер DIR-300?
root@gateway:~# cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth1
iface eth1 inet dhcp
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
post-up /etc/nat-up
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -s 192.168.1.0/24 --match state ! --state INVALID -j ACCEPT
iptables -A INPUT ! -s 192.168.1.0/24 --match state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
/etc/init.d/pdnsd start
iptables -t mangle -A PREROUTING -s 192.168.1.0/24 ! -d 192.168.1.0/24 -j TTL --ttl-set 64
iptables -t mangle -A POSTROUTING -s 10.0.0.0/255.255.255.0 -j MARK --set-mark 999
iptables -t mangle -A POSTROUTING -s 10.0.0.0/255.255.255.0 -j RETURN
а далее на каждый IP свое правило
iptables -A FORWARD -i eth0 -s 192.168.1.2 --match state ! --state INVALID -j ACCEPT
iptables -t mangle -A POSTROUTING -d 192.168.1.2 -j MARK --set-mark 2
iptables -t mangle -A POSTROUTING -d 192.168.1.2 -j RETURN
iptables -A FORWARD -i eth0 -s 192.168.1.3 --match state ! --state INVALID -j ACCEPT
iptables -t mangle -A POSTROUTING -d 192.168.1.3 -j MARK --set-mark 3
iptables -t mangle -A POSTROUTING -d 192.168.1.3 -j RETURN
...
iptables -t nat -A POSTROUTING ! -d 192.168.1.0/24 -j MASQUERADE
iptables -t nat -A PREROUTING -s 192.168.1.0/24 ! -d 192.168.1.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.1.1:#port#