Você precisará de algum tipo de declaração de mascaramento. A razão por trás disso é que, atualmente, os pacotes que chegam da eth2 para a eth1 são identificados pelos endereços 10.101.0.0/16. Esses pacotes 10.101.0.0/16 tentam atravessar a rede via eth1 (192.168.3.0/24). Isso falha porque esses pacotes ainda não foram mascarados como pacotes de 192.168.3.1.
Um pequeno roteiro como este abaixo deve ajudar. Modifique conforme necessário:
#! /bin/bash IPTABLES=/sbin/iptables WANIF='eth1' LANIF='eth2' # enable ip forwarding in the kernel echo 'Enabling Kernel IP forwarding...' /bin/echo 1 > /proc/sys/net/ipv4/ip_forward # flush rules and delete chains echo 'Flushing rules and deleting existing chains...' $IPTABLES -F $IPTABLES -X # enable masquerading to allow LAN internet access echo 'Enabling IP Masquerading and other rules...' $IPTABLES -t nat -A POSTROUTING -o $LANIF -j MASQUERADE $IPTABLES -A FORWARD -i $LANIF -o $WANIF -m state --state RELATED,ESTABLISHED -j ACCEPT $IPTABLES -A FORWARD -i $WANIF -o $LANIF -j ACCEPT $IPTABLES -t nat -A POSTROUTING -o $WANIF -j MASQUERADE $IPTABLES -A FORWARD -i $WANIF -o $LANIF -m state --state RELATED,ESTABLISHED -j ACCEPT $IPTABLES -A FORWARD -i $LANIF -o $WANIF -j ACCEPT echo 'Done.'