The OpenNET Project / Index page

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

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

"linux/iptables; перенаправление пакетов на другой хост" 
Сообщение от chep emailИскать по авторуВ закладки(ok) on 29-Июл-05, 20:06  (MSK)
Народ, помогите, плиз,
Казалось бы простая задача, но не знаю как сделать.
В одной подсети находится linux-host с одним интерфейсом и клиент-hosts. Хочу, что бы клиенты конектились к linux, а мой linux-host перенаправлял бы все tcp запросы на третий хост. Причём, с подменой адресов (подчеркиваю). Зачем это нужно, сейчас не говорю. Насколько я понимаю, надо использовать и DNAT и SNAT.

Пробую:
# iptables -A PREROUTING -i eth0 -p all -d $LINUX_HOST_IP -j DNAT --to-destination $TRETIY_HOST
# iptables -A POSTROUTING -p all -d $TRETIY_HOST -j SNAT --to-source $LINUX_HOST_IP
# iptables -A FORWARD -i eth0 -j ACCEPT

# ping $LINUX_HOST_IP
64 bytes from $TRETIY_HOST: icmp_seq=0 ttl=128 time=0.561 ms
64 bytes from $TRETIY_HOST: icmp_seq=1 ttl=128 time=0.549 ms
64 bytes from $TRETIY_HOST: icmp_seq=2 ttl=128 time=0.546 ms
              ^^^^^^^^^^^^
Круто, icmp работает.
А tcp не работает:

# ftp 10.1.4.42
Connected to 10.1.4.42.
220 (vsFTPd 2.0.3)
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name ($LINUX_HOST_IP:root):
      ^^^^^^^^^^^
Почему tcp не перенаправляется на $TRETIY_HOST? Где грабля?

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

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "linux/iptables; перенаправление пакетов на другой хост" 
Сообщение от Georgyi Искать по авторуВ закладки(??) on 03-Авг-05, 16:22  (MSK)
>Народ, помогите, плиз,
>Казалось бы простая задача, но не знаю как сделать.
>В одной подсети находится linux-host с одним интерфейсом и клиент-hosts. Хочу, что
>бы клиенты конектились к linux, а мой linux-host перенаправлял бы все
>tcp запросы на третий хост. Причём, с подменой адресов (подчеркиваю). Зачем
>это нужно, сейчас не говорю. Насколько я понимаю, надо использовать и
>DNAT и SNAT.
>
>Пробую:
># iptables -A PREROUTING -i eth0 -p all -d $LINUX_HOST_IP -j DNAT
>--to-destination $TRETIY_HOST
># iptables -A POSTROUTING -p all -d $TRETIY_HOST -j SNAT --to-source $LINUX_HOST_IP
>
># iptables -A FORWARD -i eth0 -j ACCEPT
>
># ping $LINUX_HOST_IP
>64 bytes from $TRETIY_HOST: icmp_seq=0 ttl=128 time=0.561 ms
>64 bytes from $TRETIY_HOST: icmp_seq=1 ttl=128 time=0.549 ms
>64 bytes from $TRETIY_HOST: icmp_seq=2 ttl=128 time=0.546 ms
>            
>  ^^^^^^^^^^^^
>Круто, icmp работает.
>А tcp не работает:
>
># ftp 10.1.4.42
>Connected to 10.1.4.42.
>220 (vsFTPd 2.0.3)
>530 Please login with USER and PASS.
>KERBEROS_V4 rejected as an authentication type
>Name ($LINUX_HOST_IP:root):
>      ^^^^^^^^^^^
>Почему tcp не перенаправляется на $TRETIY_HOST? Где грабля?

не все так просто,
на всех клиентах надо указать маршрут, что сеть эта доступна через твой маршрутизатор, тогда может что то получится

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

2. "linux/iptables; перенаправление пакетов на другой хост" 
Сообщение от chep emailИскать по авторуВ закладки(??) on 03-Авг-05, 18:19  (MSK)
>не все так просто,
>на всех клиентах надо указать маршрут, что сеть эта доступна через твой
>маршрутизатор, тогда может что то получится

На самом деле, tcp заработал после того, как я прописал source. Но на вопрос, почему без указания source ничего не работало, я ответить не могу. Мистика. :) Невежество порождает суеверия )))

-A PREROUTING -i eth0 -s $NETWORK_OR_CLIENT_ADDR -d $LINUX_HOST_IP  -p all -j DNAT --to-destination $TRETIY_HOST
                          ^^^^^^^^^^^^^^^^^^^
-A POSTROUTING -o eth0 -p all -d $TRETIY_HOST -j SNAT --to-source $LINUX_HOST_IP

Прилагаю схему, если кому интересно.

        ___  
       |   |Server ($TRETIY_HOST)
       |___|
         |
    _____|______________________
                 |
                 |
                 |
              ___|___
             |       |
             |Firewal|
             |_______|
                 |
                 |
                 |
    _____________|______________
    |       |         |        |
   _|_     _|_       _|_      _|_  
  | 1 |   | 2 |     | 3 |    |xxx|
  |___|   |___|     |___|    |___|

         Clients          LINUX_HOST

Через firewall к TRETIY_HOST можно ходить только LINUX_HOST.
А все клиенты должны идти через него.

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

3. "linux/iptables; перенаправление пакетов на другой хост" 
Сообщение от chep emailИскать по авторуВ закладки(??) on 03-Авг-05, 18:26  (MSK)
Ещё дополню:
Через firewall к TRETIY_HOST можно ходить только LINUX_HOST.
Все клиенты должны идти через него.
Таким образом, клиенты думают, что $TRETIY_HOST - это $LINUX_HOST.
А Server думает, что $LINUX_HOST - это клиенты.

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


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

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




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

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