The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"iptables: Не перебрасываются пакеты."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Информационная безопасность (Public)
Изначальное сообщение [Проследить за развитием треда]

"iptables: Не перебрасываются пакеты."  
Сообщение от mylan (??) on 15-Сен-06, 10:59 
Помогите пожалуйста отыскать засаду.
Требуется из локальной сети установить smtps соединение (порт 465) с inet-сервером. Для переброса пакетов пишу в таблице nat следующие правила:
* LOC_IP и INET_IP - адреса моего шлюза в инет
  Client_IP - адрес локальной станции, с которой требуется уст. соединение
  Serv_IP - inet адрес сервера в интернете

-A PREROUTING -s $Client_IP -d LOC_IP -p tcp --dport 465 -j DNAT --to-destination $Serv_IP
-A POSTROUTING -d $Serv_IP -p tcp --dport 465 -j SNAT --to-source INET_IP
-A PREROUTING -d INET_IP -p tcp --dport 465 -j DNAT --to-destination Client_IP
-A POSTROUTING -d Client_IP -p tcp --dport 465 -j SNAT --to-source LOC_IP

После проделанной попытки iptables -L -nvx -t nat показывает, что через первое правило (PREROUTING)пакеты благополучно прошли. Но через POSTROUTING - НЕТ!!! Куда они могли деться? В цепочке INPUT таблицы filter вторым правилом идет разрешение всех пакетов из локальной сети. Т.е. они в любом случае должны попадать на выход. В чем может быть проблема?
Сервер рабочий.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "iptables: Не перебрасываются пакеты."  
Сообщение от perece on 15-Сен-06, 21:25 
>Помогите пожалуйста отыскать засаду.
>Требуется из локальной сети установить smtps соединение (порт 465) с inet-сервером. Для
>переброса пакетов пишу в таблице nat следующие правила:
>* LOC_IP и INET_IP - адреса моего шлюза в инет
>  Client_IP - адрес локальной станции, с которой требуется уст. соединение
>
>  Serv_IP - inet адрес сервера в интернете
>
>-A PREROUTING -s $Client_IP -d LOC_IP -p tcp --dport 465 -j DNAT
>--to-destination $Serv_IP
>-A POSTROUTING -d $Serv_IP -p tcp --dport 465 -j SNAT --to-source INET_IP
>
>-A PREROUTING -d INET_IP -p tcp --dport 465 -j DNAT --to-destination Client_IP
>
>-A POSTROUTING -d Client_IP -p tcp --dport 465 -j SNAT --to-source LOC_IP
>
>
>После проделанной попытки iptables -L -nvx -t nat показывает, что через первое
>правило (PREROUTING)пакеты благополучно прошли. Но через POSTROUTING - НЕТ!!! Куда они
>могли деться? В цепочке INPUT таблицы filter вторым правилом идет разрешение
>всех пакетов из локальной сети. Т.е. они в любом случае должны
>попадать на выход. В чем может быть проблема?
>Сервер рабочий.

Эээээ... хорошенько покурить документацию не помешало бы...
из написаного следует, что вы ожидаете от NAT подмены адресов в каждом мроходящем пакете строго в соответствии с тем, что вы написали. но на деле это не так.

iptables nat траверсится только первым пакетом, создающим соединение. остальные переделываются "по образу и подобию" в соответствии с мех-мом отслеживания соединений, который тут же и активизируется, как только вы добавили что-то в nat (строго говоря, он активизируется даже если просто вывести таблицу, iptables -t nat -L. специфика автолоадера).
таким образом, для достижения цели достаточно всего двух строчек, одну для трансляции адреса удаленного сервера, другую - для трансляции адреса клиента.

>-A PREROUTING -s $Client_IP -d LOC_IP -p tcp --dport 465 -j DNAT --to-destination $Serv_IP
не очень также понятно - вы пытаетесь завернуть _весь_ smtps-траффик? кому бы он не направлялся? непонятненько, зачем. или это опять же артефакт мисинтерпретации концепций?

\^P^/

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "iptables: Не перебрасываются пакеты."  
Сообщение от chocholl email(??) on 21-Сен-06, 08:38 
тебе правильно сказали, что читать документацию нужно.
прочитай man iptables
правило рабочее вот

$IPTABLES -t nat -A POSTROUTING -p tcp -o $OUT_IFACE -s $Client_IP -d $Serv_IP --dport 465 -j SNAT --to-source $INET_IP

$IPTABLES -A FORWARD -o $OUT_IFACE -p tcp -s $Client_IP -d $Serv_IP --dport 465 -j ACCEPT


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "iptables: Не перебрасываются пакеты."  
Сообщение от mylan (??) on 18-Окт-06, 10:59 
Спасибо за ответы. Правила поправлю. Но фишка оказалась более банальной: надо было просто выпнить команду  : echo 1 > /proc/sys/net/ipv4/ip_forward  . Другими словами форвардинг был отключен. :)


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "iptables: Не перебрасываются пакеты."  
Сообщение от nnm on 27-Ноя-06, 18:19 
>Спасибо за ответы. Правила поправлю. Но фишка оказалась более банальной: надо было просто выпнить команду  : echo 1 > /proc/sys/net/ipv4/ip_forward  . Другими словами форвардинг был отключен. :)


Дык не еби мозги больше.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "iptables: Не перебрасываются пакеты."  
Сообщение от clocker on 14-Мрт-07, 23:56 
шлюз без форвардинга - подстолом


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру