Конфигурация сети: 1. Есть роутер, имеющий выход в интернет через районную сеть. 2. Роутер имеет три сетевых интерфейса: eth0 - внешняя сеть; еth1 - внуьренняя подсеть, в которой находятся рядовые пользователи; eth2 - внутренняя подсеть, в которой находится только один серер. 3. На сервере установлен DNS, Apache, squid, jabberd, proFTPd, mysql и т.д., т.е. все, что полагается иметь порядочному серверу. 4. Роутер занимается только маршрутизацией (правда на нем остался dhcpd, т.к. его еще не успел перенести на сервер), использую iptables.
Все началось с того, что у я случайно открыл цепочки INPUT и OUTPUT на роутере. В результате этого на моей клиентской машине вдруг аська автоматически определила, что появилось соединение (до этого коннектиться надо было вручную). Я сильно удивился - ведь в данном случае все пакеты должны проходить через цепочку FORWARD, и уж точно ничего не должно попадать напрямую к роутеру, то есть в цепочкм INPUT и OUTPUT. После всего этого я добавил строчки: iptables -A INPUT -j LOG iptables -A OUTPUT -j LOG
чтобы писать в лог все пакеты, которые не прошли по предыдущим цепочкам (они касаются ssh, squid, mysql и т.д., т.е. обеспечивали роутеру необходимый доступ для нормальной работы). Когда увидел логи, удивился еще больше - там каким-то образом оказались пакеты, у которой ОДНОВРЕМЕННО и адрес получателя, и адрес отправителя отличались от адреса роутера! Я был уверен, что такие пакеты должны попасть в цепочку FORWARD (точнее, может они через нее и прошли, но они не должны были попасть в цепочку INPUT или OUTPUT).
Кто-нибудь может объяснить, в чем тут дело?!! Это очень важно, т.к. возможно из-за этого у меня не хочет нормально работать squid (пока это только догадки). Буду очень признателен за помощь.