From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Sun, 21 Oct 2001 17:14:22 +0400 From: AVL To: =?KOI8-R?B?zS3S?= , =?KOI8-R?B?08naycY=?= Cc: =?KOI8-R?B?zS3S?= Message-Id: <20011021171422.67cb39de.info@atmsk.ru> Organization: Uncknown X-Mailer: Sylpheed version 0.6.3 (GTK+ 1.2.10; i586-alt-linux) Mime-Version: 1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit Subject: [sisyphus] =?KOI8-R?B?0cTSzyAyLjIuyCDJ?= SNAT =?KOI8-R?B?yczJINrOwdTPy8kgyw==?= =?KOI8-R?B?z83Nwc7E2Q==?= IP (iproute2) wanted Sender: sisyphus-admin@altlinux.ru Errors-To: sisyphus-admin@altlinux.ru X-BeenThere: sisyphus@altlinux.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: sisyphus@altlinux.ru List-Help: List-Post: List-Subscribe: , List-Id: List-Unsubscribe: , List-Archive: Archived-At: List-Archive: После прочтения документации к iproute2 от Алексея Кузнецова возникла уверенность, что под ядром 2.2 возможен source nat то есть подстановка пакету в поле from другого адреса. Поставленная задача на самом деле еще проще: есть шлюз. при этом на интерфейсе смотрящем в интернет стоит адрес 192.168.х.х то есть fake при этом все клиенты и интерфейс на шлюзе смотрящий на них имеют нормальные ip адреса. таким образом при ping с клиента tcpdump показывает в пакетах уходящих в интернет в поле from адрес клиента (реальный адрес) и соответственно все работает. при ping с самого шлюза tcpdump показывает в пакетах уходящих в интернет в поле from адрес интерфейса в интернет этого шлюза (fake адрес) и соответственно ничего не работает. поскольку ntpd работает именно на этом шлюзе, то естесственно все его попытки синхры с зеноном заканчиваются ничем (ответа от зенона нет и быть не может, а с любого клиента в локалке все на ура ). задача: сделать так чтобы в поле from пакетов, сгенерированных ntpd и уходящих с шлюза, в поле from был именно реальный адрес (например, адрес того интерфеса, что с того же шлюза смотрит внутрь, в локалку). то есть нат даже не нужен. простой ip-спуфинг. до чего я додумался с подсказок из документации к iproute2. 1) маркирую пакеты - кандидаты на подстановку другого адреса в поле from ipchains -A input -s localhost -d ntp0.zenon.net -m 45 2) определяю подстановку реального ip и таблицу route правил для этих пакетов. ip rule add prio 320 fwmark 45 nat 213.147.42.65 table usertest 3) обратный нат и роутинг для этих пакетов ip route add nat 213.147.42.65 via 127.0.0.1 table usertest чено я еще не понимаю? и почему все это категорически не работает, даже не заводится.