Как связать две сети через третью?
Приучитесь рисовать схемы, тогда будете получать качественные ответы. По сабжу из того, что понял:
1) проверить, все ли разрешено на виртуальной машине в IPTABLES во ВСЕХ цепочках, в первую очередь FORWARDING. Проверить, включен ли форвардинг на ней же (/proc/sys/net/ipv4/ip_forward)
2) проверитьмаршруты на железяке, может быть на ней не default?
3) временно забыть про шлюз win xp и поставить для всех шлюзом виртуалку
4) если не проканало, попробовать с виртуалки запустить ping с параметром source address 192.168.2.6
1. В сети 192.168.0.0/22 на всех компьютерах под Windows добавить постоянный маршрутroute -p add 172.20.82.1 mask 255.255.255.255 192.168.2.6
2. На Debian'е включить маршрутизацию, прописав в файле /etc/sysctl.confnet.ipv4.ip_forward=1
Добавить маршрут в файл /etc/network/interfaces для интерфейса eth1up route add 172.20.82.1 gw 172.16.16.2
Выполнить те же команды, чтобы не перезагружать сервер# sysctl net.ipv4.ip_forward=1
# route add 172.20.82.1 gw 172.16.16.2
Теоретически всё должно работать.