The OpenNET Project / Index page

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

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

"соединение с внутренними серверами"  +/
Сообщение от Александр (??) on 12-Апр-12, 17:06 
Здравствуйте.
Есть задача соеденить парочку внутренних серверов в локальной сети с внешним миром.
На сервер стоит Red Hat. В Iptables есть правило:

#Server1
-A PREROUTING -s 82.100.х -d 100.101.х.х -p TCP --dport 3389 -j DNAT --to-destination 10.0.0.102:3389
-A POSTROUTING -s 10.0.0.102/32 -d 0.0.0.0/0.0.0.0 -p all -j SNAT --to-source 100.101.х.х

Все работает. По RDP заходит.

Но как только добавляю второй сервер:
#Server2
-A PREROUTING -s 0.0.0.0/0.0.0.0 -d 100.101.x.x -p TCP --dport 232 -j DNAT --to-destination 10.0.0.99:232
-A POSTROUTING -s 10.0.0.99/32 -d 0.0.0.0/0.0.0.0 -p all -j SNAT --to-source 100.101.x.x

iptables не стартуют и ругаются

iptables-restore v1.2.5: Unknown arg `--dport'
Try `iptables-restore -h' or 'iptables-restore --help' for more information.
                                                           [ СБОЙ ]

При этом если закоментировать одну любую строчку с прероутингом - то все работает.

Как сделать так что б оба сервера были видны из внешнего мира?

Ответить | Правка | Cообщить модератору

Оглавление

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


1. "соединение с внутренними серверами"  +/
Сообщение от Zl0 (ok) on 12-Апр-12, 18:16 
Для того чтобы сделать доступными два сервера внутри сети из внешнего мира, достаточно правил PREROUTING и FORWARD. POSTROUTING здесь не учавствует.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "соединение с внутренними серверами"  +/
Сообщение от Александр (??) on 12-Апр-12, 18:45 
> Для того чтобы сделать доступными два сервера внутри сети из внешнего мира,
> достаточно правил PREROUTING и FORWARD. POSTROUTING здесь не учавствует.

можно пример?

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "соединение с внутренними серверами"  +/
Сообщение от Дядя_Федор on 13-Апр-12, 14:53 
> Для того чтобы сделать доступными два сервера внутри сети из внешнего мира,
> достаточно правил PREROUTING и FORWARD. POSTROUTING здесь не учавствует.

Еще как учавствует. Причем самым непосредственным образом. Если не "натнуть" исходящий трафик - могу возникнуть очень серьезные проблемы. В смысле - хрен чего работать будет. :)


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

6. "соединение с внутренними серверами"  –1 +/
Сообщение от Zl0 (ok) on 13-Апр-12, 16:04 
>> Для того чтобы сделать доступными два сервера внутри сети из внешнего мира,
>> достаточно правил PREROUTING и FORWARD. POSTROUTING здесь не учавствует.
>  Еще как учавствует. Причем самым непосредственным образом. Если не "натнуть" исходящий
> трафик - могу возникнуть очень серьезные проблемы. В смысле - хрен
> чего работать будет. :)

Можете проверить, а еще лучше изучите таблицы iptables, POSTROUTING в этой схеме нужен только, если внутренние сервера хотят ходить наружу сами, и первыми устанавливать соединения с клиентом.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

7. "соединение с внутренними серверами"  +/
Сообщение от Andrey Mitrofanov on 13-Апр-12, 16:23 
> POSTROUTING в этой схеме
> нужен только, если внутренние сервера хотят ходить наружу сами

Не только. Но допуска, что то уже "другая" схема, да.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "соединение с внутренними серверами"  +/
Сообщение от Zl0 (ok) on 13-Апр-12, 16:28 
>> POSTROUTING в этой схеме
>> нужен только, если внутренние сервера хотят ходить наружу сами
> Не только. Но допуска, что то уже "другая" схема, да.

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

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "соединение с внутренними серверами"  +1 +/
Сообщение от Andrey Mitrofanov on 13-Апр-12, 16:52 
>>> POSTROUTING в этой схеме
>>> нужен только, если внутренние сервера хотят ходить наружу сами
>> Не только. Но допуска, что то уже "другая" схема, да.

Я имел в виду SNAT вовнутрь, в лок.адрес, как у http://www.opennet.me/openforum/vsluhforumID1/93255.html#0, где "все клиенты под одним адресом приходят".

На внутреннем сервере default роутинг Ж) не нужно настраивать. "другая схема" и такой же ненужный костыль, как классический и оч.любимый массами прозрачный сквид.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "соединение с внутренними серверами"  +/
Сообщение от Дядя_Федор email on 14-Апр-12, 11:16 
> На внутреннем сервере default роутинг Ж) не нужно настраивать. "другая схема" и
> такой же ненужный костыль, как классический и оч.любимый массами прозрачный сквид.

Ну, я имел в виду нужность POSTROUTING в той части, что выходящие с внешнего интерефейса пакеты должны натиться во внешний адрес сервера. В противном случае Вы ничего в ответ не получите в большинстве существующих сетей. Ну, например, если внутри (LAN) адресация вида 192.168.0.0/16. Хотя, конечно, все зависит от конкретной сети. Вполне возможно, маршрутизация в этолй сети будет допускать хождение подобных пакетов и правильно их маршрутизировать, но в большинстве случаев это далеко не так.


Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

4. "соединение с внутренними серверами"  +/
Сообщение от Дядя_Федор on 13-Апр-12, 14:55 

> При этом если закоментировать одну любую строчку с прероутингом - то все
> работает.
> Как сделать так что б оба сервера были видны из внешнего мира?

А -t nat кто будет писать? :) Обе эти таблицы существуют в рамках таблицы nat. Да и -t tcp лично я как-то с МАЛЕНЬКОЙ буквы пивык писать. Может оно и неважно, но все же.


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "соединение с внутренними серверами"  +/
Сообщение от Дядя_Федор on 13-Апр-12, 15:00 
>  А -t nat кто будет писать? :) Обе эти таблицы существуют
> в рамках таблицы nat. Да и -t tcp лично я как-то
> с МАЛЕНЬКОЙ буквы пивык писать. Может оно и неважно, но все
> же.

Проверил - по фигу с какой буквы. :) Вот только что вот такую команду вкорячил:
ptables -t nat -A PREROUTING -s 82.*.*.* -d 93.*.*.* -p TCP --dport 3389 -j DNAT --to-destination 192.168.0.2:3389
Выхлоп iptables -t nat -nL показал, что правило добавилось.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

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

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




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

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