|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Aleksey Barabanov 2:5020/400 28 Jul 2005 10:44:27 To : Yuri Timofeev Subject : Re: iptables и где там IPsec ? -------------------------------------------------------------------------------- Yuri Timofeev wrote: > Hе, давай так: > > lan A ------ IPsec router A ========= IPsec router B ---- Lan B > eth0 eth1 > > где ====== туннель. > > Тpебуется занатить Lan A. > Тpафик м/д lan A и B, ну, напpимеp, ftp (сеpвеp нах-ся в lan B, клиенты в > lan A) и http (сеpвеp нах-ся в lan A, клиенты в lan B). > > Без туннеля - все понятно. С ним - нет. > > Можно сpазу настpойки iptables. Авось pазбеpусь. Добавим к этому описания сетей. А то не ясен процесс ната. Туннель то делается как правило чтобы пакеты рутить, т.е. для создания однородной среды, чтобы приватное адресное пространство протуннелить через Сеть, так чтобы из A/a в B/b пакеты просто ходили без преобразования. > > AB> У меня pаботает. И не могло не pаботать ;) Это вообще штатный pежим > AB> pаботы. > > Hо что-то в мануалах он совсем не описан. > > AB> Так как у меня все сети одинаковые ;) > > А у меня pазные. Так я натю потому что они одинаковые. Hо если надо натить клиентов из A/a , т.е. подменять их исходящий адрес на адрес рутера A1/32, то как обычно -t nat -A POSTROUTING -o tunN -s A/a -d B/b -j SNAT --to-source A1 Другими словами, обертка в IPsec производится в девайсе. Занатив "до" девайса мы пошлем в туннель пакеты, исходящие от одного адреса вместо адресов сети. Я могу только предположить (вы ж адреса то не написали, а натить можно вообще на какой угодно адрес - впереди же туннель ;), что вы хотите натить не в A1 из A/a , а в адрес того конца туннеля, что упирается в роутер А, например Ta (тогда противоположный адрес туннеля назавем Tb). При этом ничего не меняется кроме адреса "ту соурс". Router A # iptables -t nat -A POSTROUTING \ -o tunN -s A/a ???-d B/b??? \ -j SNAT --to-source Ta Помеченный вопросами операнд обсудим далее. Далее эти пакеты придут на роутер В и там "вылезут" из такого же туннельного девайса, как исходящие с адрса Ta. Теперь надо определиться с местом назначения. Вы указали, что это сервер расположенный внутри сети B/b. Т.е. прямой роутинг на него невозможен. Тогда вы должны обеспечить DNAT до него. Router A # iptables -t nat -A PREROUTING \ -i tunN -s Ta -d Tb -p tcp --destination-port 21 \ -j SNAT --to-destination B2 Здесь я предполагаю, что туннель точка точка и не содержит внутри никакого роутинга. Hо в принципе, если надо создать много виртуальных ip ресурсов с одинаковым портом но разными адресами, то на приемном конце туннеля можно эмулировать много адресов, которые натить в такое же множество внутренних адресов. Этим будет определятся значение ???-d B/b???. Оно может быть равно 0/0 или отсутствовать вовсе. Или указывать на определенный адрес или сеть. Для того чтобы определить видимость аналогичных ресурсов в сети A/a для компьютеров из B/b, спрятанных под натом на Tb, нужно все правила переписать в обратном направлении и расставить аналогично. И те и тем правила будут "жить" одновременно и работать не мешая друг другу. -- Bye. Aleksey Barabanov <alekseybb at mail.ru> --- ifmail v.2.15dev5.3 * Origin: home (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/18529800bbda8.html, оценка из 5, голосов 10
|