The OpenNET Project / Index page

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

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

"Переадресация порта на соседний сервер"  +/
Сообщение от Joneg (ok) on 07-Июл-10, 18:21 
Доброго времени суток.

На сервере стоит Slackware 13.1, ип сервера скажем 10.10.10.10
Ип всем известен, все к нему обращаются за разными сервисами (http, ftp, dc++) и на опр. порт 1234 tcp скажем.

Однако приложение это (которое 1234 обслуживает) есть только под винду. СТавить иксы, вайн на сервер не хочу. Хочу поставить рядом второе железо под виндой, ип будет 10.10.10.11

Скажите пожалуйсто как организовать переадресацию пакетов, приходящих на порт 1234 и перенаправлять их на сервер 10.10.10.11. Те по сути нужно подменить адрес назначения и выкинуть из интерфейса обратно.

Делал подобное:
iptables -t nat -A PREROUTING --dst 10.10.10.10 -p tcp --dport 1234 -j DNAT --to-destination 10.10.10.10:1234

Однако никакого результата не получил.

В Linux новичёк.

Заранее спасибо за помошь.

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

Оглавление

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


1. "Переадресация порта на соседний сервер"  +/
Сообщение от reader (ok) on 07-Июл-10, 20:16 
iptables -t nat -A PREROUTING --dst 10.10.10.10 -p tcp --dport 1234 -j DNAT --to-destination 10.10.10.11:1234

но есть нюансы, что значит рядом. клиенты тоже в этой подсети?

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

2. "Переадресация порта на соседний сервер"  +/
Сообщение от Joneg (ok) on 07-Июл-10, 22:46 
>iptables -t nat -A PREROUTING --dst 10.10.10.10 -p tcp --dport 1234 -j
>DNAT --to-destination 10.10.10.11:1234
>
>но есть нюансы, что значит рядом. клиенты тоже в этой подсети?

Мм клиенты не в этой подсети, но второй сервер в этой подсети,
в данном случае представим серверную подсеть 10.10.10.0/24, а клиенты предположим в 172.0.0.0/8. Не суть...

Но помоему будет достаточно, чтобы сервер пакеты отправлял на 10.10.10.11 изменяя лишь адрес назначения. А второй сервер (10.10.10.11) будет отправлять ответы на эти пакеты уже соглясуя со своим основным шлюзом, те пакеты найдут своё назначение.

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

3. "Переадресация порта на соседний сервер"  +/
Сообщение от aaa (??) on 08-Июл-10, 09:01 
>[оверквотинг удален]
>
>Мм клиенты не в этой подсети, но второй сервер в этой подсети,
>
>в данном случае представим серверную подсеть 10.10.10.0/24, а клиенты предположим в 172.0.0.0/8.
>Не суть...
>
>Но помоему будет достаточно, чтобы сервер пакеты отправлял на 10.10.10.11 изменяя лишь
>адрес назначения. А второй сервер (10.10.10.11) будет отправлять ответы на эти
>пакеты уже соглясуя со своим основным шлюзом, те пакеты найдут своё
>назначение.

Надо еще форвард пакетов включить и в цепочку форвард правила добавить
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD --dst 10.10.10.10 -p tcp --dport 1234 -j ACCEPT
iptables -A FORWARD --src 10.10.10.10 -p tcp --sport 1234 -j ACCEPT

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

5. "Переадресация порта на соседний сервер"  +/
Сообщение от Joneg (ok) on 08-Июл-10, 09:10 
Форвардинг включен

А правила разрешения сейчас не принципиальны, по умолчанию там политика ACCEPT.

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

4. "Переадресация порта на соседний сервер"  +/
Сообщение от Andrey Mitrofanov on 08-Июл-10, 09:10 
http://www.opennet.me/openforum/vsluhforumID13/413.html#3
http://www.opennet.me/openforum/vsluhforumID10/3736.html#3

>Однако никакого результата не получил.
>В Linux новичёк.

Это недостатки, которые пройдут. Со временем.

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

6. "Переадресация порта на соседний сервер"  +/
Сообщение от Joneg (ok) on 08-Июл-10, 09:15 
>http://www.opennet.me/openforum/vsluhforumID13/413.html#3
>http://www.opennet.me/openforum/vsluhforumID10/3736.html#3
>
>>Однако никакого результата не получил.
>>В Linux новичёк.
>
>Это недостатки, которые пройдут. Со временем.

Обе ссылки описывают самую типичную ситуацию переброса портов, описанием которой полон интернет. Вы предалгаете мне воткнуть в линуксовый сервер вторую сетевуху и соединить её с сервером под виндой? Вариант конечно рабочий 100%. Однако в планах использование виндового сервера несколькими линуксовыми серверами (на нём будут стоять commFort чат, два myAC под разные серверы). В итоге "локальная серверная сеть" разрастётся.

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

7. "Переадресация порта на соседний сервер"  +/
Сообщение от Andrey Mitrofanov on 08-Июл-10, 09:31 
>Обе ссылки описывают самую типичную ситуацию переброса портов, описанием которой полон интернет.
>Вы предалгаете мне воткнуть в линуксовый сервер вторую сетевуху и соединить
>её с сервером под виндой?

Нет. С чего Вы взяли?

port-forward со вх.порта на eth0 на другой сервер на том же eth0 строится точно так же. С одним нюансом -- snat в этой ситуации таки _необходим.

"Очень" нетипичная ситуация, ога...

+++
TCP соединения можно форвардитть всякого рода "проксями" -- redir http://www.opennet.me/openforum/vsluhforumID9/7327.html#2 , в xinetd есть такая функциональность, ... simpleproxy http://www.opennet.me/openforum/vsluhforumID10/3717.html#6 какой-то и пр. и пр.

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

8. "Переадресация порта на соседний сервер"  –1 +/
Сообщение от Joneg (ok) on 08-Июл-10, 09:36 
Логика не давала написать правило обратного преобразования (SNAT), в моей ситуации оно по сути не нужно. Однако по всей видимости включается преобразование только когда описаны правила в обе стороны

iptables -t nat -A PREROUTING -d 10.10.10.10 -p tcp --dport 1234 -j DNAT --to-destination 10.10.10.11:1234

iptables -t nat -A POSTROUTING -d 10.10.10.11 -p tcp --dport 1234 -j SNAT --to-source 10.10.10.10

Всё работает.

Кстати в первом моём посте, где я написал:
"Делал подобное:
iptables -t nat -A PREROUTING --dst 10.10.10.10 -p tcp --dport 1234 -j DNAT --to-destination 10.10.10.10:1234"

Опечатка
--to-destination 10.10.10.11:1234

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

9. "Переадресация порта на соседний сервер"  +1 +/
Сообщение от reader (ok) on 08-Июл-10, 10:28 
>Логика не давала написать правило обратного преобразования (SNAT), в моей ситуации оно
>по сути не нужно. Однако по всей видимости включается преобразование только
>когда описаны правила в обе стороны
>

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

http://www.opennet.me/docs/RUS/iptables/#DNATTARGET читайте внимательно то что под табличкой.

эти правила независимы друг от друга.

>[оверквотинг удален]
>
>Всё работает.
>
>Кстати в первом моём посте, где я написал:
>"Делал подобное:
>iptables -t nat -A PREROUTING --dst 10.10.10.10 -p tcp --dport 1234 -j
>DNAT --to-destination 10.10.10.10:1234"
>
>Опечатка
>--to-destination 10.10.10.11:1234

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

10. "Переадресация порта на соседний сервер"  +/
Сообщение от Joneg (ok) on 08-Июл-10, 11:19 
Спасибо за помошь, теперь всё встало на свои места.
Действителньо по другому представлял этот момент.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "Переадресация порта на соседний сервер"  +/
Сообщение от Joneg (ok) on 06-Авг-10, 10:03 
Возникла другая проблема. Когда начал использовать это на практике, выяснилось что на адресе назнаения (конечный сервер на винде) адресом источника является адрес сервера переадресовавшего подключение, а не адрес клиента. Что вполне ожидаемо впринципи, нат ведь. Но нужно чтобы на виндовом сервере были ип адреса клиентов.

Подобное можно как то реализовать?

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

12. "Переадресация порта на соседний сервер"  +/
Сообщение от Andrey Mitrofanov on 06-Авг-10, 10:35 
Можно. Проверил - у меня работает.
Вторая сетевая, мост и виндовый сервер "за мостом".

[ЛВС] --- eth0 [ Lin*: br0=eth0+eth1 + DNAT ] eth1 --- [ Win* ]

Можно обойтись без SNAT-а, одним DNAT-ом.

---
Если использовать редиректор-приложение (redir, simpleproxy, xinetd или подобный), по-любому на второй сервер открывается второе соединение -- и с адреса промежуточного сервера.

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

13. "Переадресация порта на соседний сервер"  +/
Сообщение от reader (ok) on 06-Авг-10, 11:33 
>Возникла другая проблема. Когда начал использовать это на практике, выяснилось что на
>адресе назнаения (конечный сервер на винде) адресом источника является адрес сервера
>переадресовавшего подключение, а не адрес клиента. Что вполне ожидаемо впринципи, нат
>ведь. Но нужно чтобы на виндовом сервере были ип адреса клиентов.
>
>
>Подобное можно как то реализовать?

второй сервер в другую подсеть и тогда для пакетом идущих к нему snat можно не делать

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

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

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




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

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