The OpenNET Project / Index page

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

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

"IPTABLES, DNAT, multiroute"  +/
Сообщение от InventoRs email(ok) on 23-Мрт-10, 15:44 
Есть gateway, задача такая, при обращении на внешний порт, пробрасывать его на внутренний сервер.
Написали так:
IPTABLES -t nat -A PREROUTING -i IN_INET1 -p tcp --dport 1005 -j DNAT --to-destination 192.168.0.60:1010
IPTABLES -t nat -A POSTROUTING -d 192.168.0.60 -j SNAT --to-source IP_GW_SERV

IPTABLES -t filter -A FORWARD -d 192.168.0.60 -i IN_INET1 -o LAN_IN -p tcp --dport 1010 -j ACCEPT

Такая комбинация работает, если default route лежит через интерфейс IN_INET1

Но у нас несколько входящих каналов.
Просто дублируем правила и получается что так, входящие пакеты работают только на том интерфейсе где default route

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

Оглавление

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


1. "IPTABLES, DNAT, multiroute"  +/
Сообщение от Andrey Mitrofanov on 23-Мрт-10, 15:57 
>Но у нас несколько входящих каналов.

http://opennet.ru/tips/info/2009.shtml

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

2. "IPTABLES, DNAT, multiroute"  +/
Сообщение от ALex_hha (ok) on 23-Мрт-10, 23:51 
>>Но у нас несколько входящих каналов.
>
>http://opennet.ru/tips/info/2009.shtml

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

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

3. "IPTABLES, DNAT, multiroute"  +/
Сообщение от PavelR (??) on 24-Мрт-10, 06:05 
>>>Но у нас несколько входящих каналов.
>>
>>http://opennet.ru/tips/info/2009.shtml
>
>не будет оно работать, уходить то всегда будет через дефолт, единственное решение
>насколько знаю, это создание промежуточных шлюзов с соответствующей маршрутизацией

https://www.opennet.ru/tips/info/1651.shtml

У внутреннего сервера, на который осуществляется проброс, должен быть либо один интерфейс и один шлюз, на котором настраивается трекинг соединений с привязкой (маркировкой) соединения к интерфейсу/провайдеру,

либо на самом сервере есть несколько интерфейсов, и тогда маркировку соединений следует делать уже на нём. Если необходимо, то на вышестоящих, по отношению к серверу,  маршрутизаторах делается проброс портов. Маркировка соединений тем не менее, делается на самом сервере, и на нем же определяется, какому вышестоящему маршрутизатору отмаршрутизировать ответ.  Читайте https://www.opennet.ru/tips/info/1651.shtml .

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

4. "IPTABLES, DNAT, multiroute"  +/
Сообщение от ALex_hha (ok) on 24-Мрт-10, 12:04 
Я имел ввиду эту реализацию

Два шлюза в Интернет и NAT

http://www.xgu.ru/wiki/%D0%94%D0%B2%...

            GW1   GW2
             *     *
             |     |
         IP1 |     | IP2
      [eth3] |     | [eth4]
            +-------+
            |       |
            |  gw   |
            |       |
            +-------+
    10.0.3.250  |  10.0.3.254
        [eth1]  |  [eth2]
                |
                |
    10.0.3.249  |  10.0.3.253
      [eth1.1]  |  [eth2.1]
            +-------+
            |       |
            |  pgw  |
            |       |
            +-------+
                | 10.0.3.6
                | [eth0]
                |

Вот только вопрос, можно ли в таком случае gw и pgw размещать на одной физической машине?

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

5. "IPTABLES, DNAT, multiroute"  +/
Сообщение от PavelR (??) on 24-Мрт-10, 15:08 
>Я имел ввиду эту реализацию
>
>Два шлюза в Интернет и NAT
>
>http://www.xgu.ru/wiki/%D0%94%D0%B2%...
>
>Вот только вопрос, можно ли в таком случае gw и pgw размещать
>на одной физической машине?

мм, сходу не понятно, какие порты с каких адресов куда (на какой адрес) пробрасываются.

As for me, можно пробросить с маршрутизатора с тремя интерфейсами (два внешних и один внутренний) во внутреннюю сетку без проблем, с использованием маркировки соединений на этом самом маршрутизаторе и без использования дополнительных маршрутизаторов, о чем можно почитать в заметке по ссылке в моем сообщении выше.

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

6. "IPTABLES, DNAT, multiroute"  +/
Сообщение от InventoRs email(ok) on 24-Мрт-10, 22:20 
Что-то у меня так и не получается сделать желаемое.
Задача пробросить порт внутрь локальной сети и ответ вернуть по тому же каналу с которого пришел
Делаю так:

iptables -t nat -A PREROUTING -i eth1 -p tcp -j CONNMARK --set-mark 0x1
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 1005 -j DNAT --to-destination 192.168.0.50:1010
iptables -t nat -A PREROUTING -i eth2 -p tcp -j CONNMARK --set-mark 0x2
iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 1005 -j DNAT --to-destination 192.168.0.50:1010
iptables -t nat -A PREROUTING -i eth3 -p tcp -j CONNMARK --set-mark 0x3
iptables -t nat -A PREROUTING -i eth3 -p tcp --dport 1005 -j DNAT --to-destination 192.168.0.50:1010

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth3 -j MASQUERADE

iptables -t nat -A POSTROUTING -d 192.168.0.50 -j SNAT --to-source 192.168.0.20

iptables -t mangle -A OUTPUT -s 192.168.0.8 -j CONNMARK --restore-mark

ip rule add fwmark 0x1 table prov1
ip rule add fwmark 0x2 table prov2
ip rule add fwmark 0x3 table prov3

ip route add default via 194.185.159.55 table prov1
ip route add default via 125.124.141.35 table prov2
ip route add default via 133.135.131.151 table prov3

Все равно пакеты идут только там где default route

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

7. "IPTABLES, DNAT, multiroute"  +/
Сообщение от ALex_hha (ok) on 25-Мрт-10, 00:19 
# ip route flush cache

выполнял?

> iptables -t nat -A POSTROUTING -d 192.168.0.50 -j SNAT --to-source 192.168.0.20\

а зачем это правило?

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

8. "IPTABLES, DNAT, multiroute"  +/
Сообщение от PavelR (??) on 25-Мрт-10, 09:27 
>[оверквотинг удален]
>Делаю так:
>ip rule add fwmark 0x1 table prov1
>ip rule add fwmark 0x2 table prov2
>ip rule add fwmark 0x3 table prov3
>
>ip route add default via 194.185.159.55 table prov1
>ip route add default via 125.124.141.35 table prov2
>ip route add default via 133.135.131.151 table prov3
>
>Все равно пакеты идут только там где default route

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

Статью вы так и не осилили прочитать.

А там много раз было приведено - "ip ru sh".

Читайте еще раз.

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

9. "IPTABLES, DNAT, multiroute"  +/
Сообщение от InventoRs email(ok) on 25-Мрт-10, 22:43 
Уже несколько раз перечитать статью, и много других.
Уже пошел другим способом.
Все по минимуму.

iptables -t nat -A PREROUTING -p tcp  --dport 1005 -d $my_inet_ip -j CONNMARK --set-mark 2
iptables -t nat -A PREROUTING -p tcp -d my_inet_ip --dport 1005 -j DNAT --to-destination 192.168.0.60:1010

from all fwmark 0x2 lookup T1
ip route add default via $prov_gate table T1

iptables -t nat -A POSTROUTING -o $inet_interface -j MASQUERADE

И все равно в упор коннект из вне на порт 1005 никчему не приводит.

Еще и руководство сверху давит когда закончу.
Помогите плиз, разжуйте неуку.

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

10. "IPTABLES, DNAT, multiroute"  +/
Сообщение от Ермаков Александр email on 05-Май-11, 14:53 
Всё у вас правильно, ошибочна только эта строчка
> iptables -t mangle -A OUTPUT -s 192.168.0.8 -j CONNMARK --restore-mark

Правильно будет

iptables -t mangle -A PREROUTING -s 192.168.0.8 -j CONNMARK --restore-mark

потому что метка соединения должна быть восстановлена до совершения роутинга.

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

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

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




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

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