The OpenNET Project / Index page

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

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

"Тематический каталог: Linux маршрутизатор с несколькими внеш..."  +/
Сообщение от auto_topic (??) on 11-Мрт-08, 16:27 
Обсуждение статьи тематического каталога: Linux маршрутизатор с несколькими внешними интерфейсами. (debian ubuntu linux route iproute iptables nat)

Ссылка на текст статьи: http://www.opennet.dev/base/net/debian_multilink.txt.html

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

Оглавление

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


1. "Linux маршрутизатор с несколькими внешними интерфейсами. (de..."  +/
Сообщение от demon (??) on 11-Мрт-08, 16:27 
В очередной раз повторюсь, что использование SNAT в данном случае лучше чем MASQUERADE.
Использование MASQUERADE вообще оправданно только в случае динамического IP на внешнем интерфейсе.

Не очень понимаю зачем нужно маркировать пакеты, если прямо в POSTROUTING можно задавать условие -d



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

2. "Linux маршрутизатор с несколькими внешними интерфейсами. (de..."  +/
Сообщение от ieroglif email on 12-Мрт-08, 12:17 
еще раз -
1. изучение iptables - полностью на вашей совести. пусть люди сами изучают
2. если понять фишку с маркировкой пакетов, то потом можно ее использовать при создании других правил как маршрутизации, так и фильтрации. считаю, что этот момент полезен и не столь очевиден при самостоятельном изучении как SNAT и MASQUERADE
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

5. "Linux маршрутизатор с несколькими внешними интерфейсами. (de..."  +/
Сообщение от AnatolZ (ok) on 14-Июл-08, 23:21 
>В очередной раз повторюсь, что использование SNAT в данном случае лучше чем
>MASQUERADE.
>Использование MASQUERADE вообще оправданно только в случае динамического IP на внешнем интерфейсе.
>
>
>Не очень понимаю зачем нужно маркировать пакеты, если прямо в POSTROUTING можно
>задавать условие -d

Уважаемый demon не могли бы вы привести кусок примера ?? просто получилось у меня только с использованием меток.. но он мешают при написании скрипта с шейпеньем...
кстати неукого не завалялся скриптик :) Т.З. дано два канала 1)eth1-унлим 2)eth2-обычный ну и мега сеть 10.x.x.x с внутренней маршрутизацией OSPF(L3 коммутаторы) где дефолтный гетвей наш линукс сервер... билинг создает правило 10.1.1.1 на первый интерфейси ограничиваем его 128к, а на второй интерфейс  10.1.1.2 и на скорость наплевать...
сделал пока только первое... а вот с двумя интерфейсами уже нет так как метка уже стоит...

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

3. "Linux маршрутизатор с несколькими внешними интерфейсами. (de..."  +/
Сообщение от rusya email(ok) on 22-Апр-08, 16:40 
а какой айпишник указать в качестве гейта во второй локальной подсети?
Или поднимать виртуальный интерфейс? Или что?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Linux маршрутизатор с несколькими внешними интерфейсами. (de..."  +/
Сообщение от Аноним (??) on 30-Апр-08, 09:23 
"-A POTROUTING" ?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Linux маршрутизатор с несколькими внешними интерфейсами. (de..."  +/
Сообщение от skyer email(ok) on 31-Июл-08, 09:56 
Странный пример в статье. На мой взгляд SNAT превосходит по производительности MASQUERADE, метки тоже не очень оправданы в принципи. Любую маршрутизацию которую надо сделать можно загнать в соответсвующие таблицы и не напрягать ядро левой работой с разбором меток. год назад делал объединение 5 каналов из одной подсети. К стати если случайно забанится один ипшник, то часть конектов будет попадать в мертвое соединение.

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

7. "Linux маршрутизатор с несколькими внешними интерфейсами. (de..."  +/
Сообщение от oleg email(??) on 22-Авг-08, 12:45 
$IPT -t nat -A POTROUTING -s $NET_SUB1 -o NET_INET1 -j SNAT 1.1.1.0/24
$IPT -t nat -A POTROUTING -s $NET_SUB2 -o NET_INET2 -j SNAT 2.2.2.0/24

И ненадо меток и уж тем более утилиты ip, достаточно трансляции адресов

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

8. "Linux маршрутизатор с несколькими внешними интерфейсами. (de..."  +/
Сообщение от oleg email(??) on 22-Авг-08, 12:47 
POSTROUTING естественно)). копипаста чтоб ее
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Linux маршрутизатор с несколькими внешними интерфейсами. (de..."  +/
Сообщение от DeMarco email on 14-Май-09, 11:47 
хм! а если надо одну и туже сеть например 192.168.0.0/24 пускать в инет по разному например 80 8080 и т.д. порты через одного прова а фтп почту и т.д. через другого как быть? и как интересно резолвится днс в данном случае если дефолтный маршрут только один у него и днс свой соответственно а второго прова свой днс который уже не резолвится если есть основной маршрут
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Linux маршрутизатор с несколькими внешними интерфейсами. (de..."  +/
Сообщение от agg on 28-Май-09, 15:06 
сразу после строки ip route add $NET_INET1 dev $IF_INET1 src $IP_INET1 table T1
пишет:
RTNETLINK answers: Invalid argument
и
Error: an inet adress is expected rather than "table"
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Linux маршрутизатор с несколькими внешними интерфейсами. (de..."  +/
Сообщение от spoilt21 email(ok) on 13-Июн-09, 00:35 
>agg

у меня такая же проблема

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

12. "Linux маршрутизатор с несколькими внешними интерфейсами. (de..."  +/
Сообщение от spoilt21 email(ok) on 13-Июн-09, 00:37 
забыл уточнить, у меня 2 ипа от 1 провайдера и все одинаково кроме ip
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Linux маршрутизатор с несколькими внешними интерфейсами. (de..."  +/
Сообщение от spoilt21 email(ok) on 14-Июн-09, 19:44 
Разобрался с проблемами, у вас есть ошибки:


#все пакеты, которые попали в цепочку POSTROUTING таблицы nat обрабатываем по двум правилам:
$IPT -t nat -A POTROUTING -m mark --mark 10 -j MASQUERADE # натим все пакеты которые имеют метку 10
$IPT -t nat -A POTROUTING -m mark --mark 11 -j MASQUERADE # натим все пакеты которые имеют метку 11


POTROUTING заменить на POsTROUTING


далее в файле роутинг
GW1="1.1.1.1" # гейт первого провайдера.
GW2="2.2.2.1" # гейт второго провайдера.


заменить GW на GW_INET


кажется по мелочевке всё, это глупые ошибки, остальные ошибки можно увидеть тут сравнив ваш оригинал с моей рабочей версией:
http://www.opennet.dev/openforum/vsluhforumID6/19056.html#0


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

14. "Linux маршрутизатор с несколькими внешними интерфейсами. (de..."  +/
Сообщение от дурак on 11-Мрт-12, 13:54 
объясните дураку как сделать доступным сервер в локалке по 2 провайдерам? я уже с ума сошел
данным способом описанном здесь, да и вариантом попроще, доступен только сервер для 2 провайдеров, но не сервер в локальной сети

ip route add $INET_GATE dev $INET_IF src $INET_IP table T1
ip route add default via $INET_GATE table T1
ip route add $INET_GATE dev $INET_IF src $INET_IP

ip route add 127.0.0.0/8 dev lo table T1


ip route add $INET_GATEE dev $INET_IFF src $INET_IPP table T2
ip route add default via $INET_GATEE table T2
ip route add $INET_GATEE dev $INET_IFF src $INET_IPP

ip route add 127.0.0.0/8 dev lo table T2

ip route add $INET_GATE dev $INET_IF src $INET_IP
ip route add $INET_GATEE dev $INET_IFF src $INET_IPP

ip route add default via $INET_GATE

ip rule add fwmark 101 table T1
ip rule add fwmark 102 table T2


iptables -t nat -A PREROUTING -d $INET_IP  -p tcp -m multiport --dports 80 -j MARK --set-mark 101
iptables -t nat -A PREROUTING -d $INET_IPP -p tcp -m multiport --dports 80 -j MARK --set-mark 102

ниже 2 правила судя по логам отрабатывают
iptables -A PREROUTING -t nat -d $INET_IP -p tcp -m multiport --dports 80 -j DNAT --to-destination 192.168.0.2
iptables -A PREROUTING -t nat -d $INET_IPP -p tcp -m multiport --dports 80 -j DNAT --to-destination 192.168.0.10

робит:
iptables -t filter -A FORWARD -i $INET_IF -o $LAN_IF -d 192.168.0.2 -j ACCEPT
а это уже нет:
iptables -t filter -A FORWARD -i $INET_IFF -o $LAN_IF -d 192.168.0.10 -j ACCEPT

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

15. "Linux маршрутизатор с несколькими внешними интерфейсами. (de..."  +/
Сообщение от skyer (??) on 11-Мрт-12, 14:47 
> объясните дураку как сделать доступным сервер в локалке по 2 провайдерам?

Третий набор для сети сделай. Тут описано два, тебе надо 3. Сделай по аналогии для внутренней сети.

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

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

16. "Linux маршрутизатор с несколькими внешними интерфейсами. (de..."  +/
Сообщение от zatorax email on 31-Май-12, 12:26 
хм.. навороченное решение, наверное есть какие то плюсы, я решил ту же проблему несколько иначе, возможно кому то пригодится.
сначала все как в примере, добавляем таблицы в /etc/iproute2/rt_tables
100 vlan2 (или ваши имена)
200 vlan2
300 vlan2
#vlan2 - подсеть 1
#vlan3 - подсеть 2
#vlan4 - подсеть 3
ip rule add from 192.168.0.0/26 table vlan2 #добавляем подсети в таблицы
ip rule add from 192.168.0.64/26 table vlan3
ip rule add from 192.168.0.128/26 table vlan4
ip route add from 192.168.0.0/26 default via 192.168.2.186 dev br0 table vlan2 #добавляем роутер по умолчанию для этих подсеток
ip route add from 192.168.0.64/26 default via 192.168.2.6 dev br0 table vlan3
ip route add from 192.168.0.128/26 default via 192.168.2.6 dev br0 table vlan4

ip route flush cache

iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE #включаем маршрутизацию

в общем то все, interface настраивается по вкусу, в примере адреса выглядят так:
# loopback
auto lo
iface lo inet loopback

# ethernet

auto eth0
allow-hotplug eth0
iface eth0 inet manual

# bridge-local
auto br0
iface br0 inet static
        address 192.168.2.70
        network 192.168.2.0
        netmask 255.255.255.0
        broadcast 192.168.2.255
        bridge_ports eth0

auto vlan2
iface vlan2 inet static
         vlan-raw-device br0
         address 192.168.0.1
         netmask 255.255.255.192
         broadcast 192.168.0.63

auto vlan3
iface vlan3 inet static
         vlan-raw-device br0
         address 192.168.0.65
         netmask 255.255.255.192
         broadcast 192.168.0.127

auto vlan4
iface vlan4 inet static
         vlan-raw-device br0
         address 192.168.0.129
         netmask 255.255.255.192
         broadcast 192.168.0.191

Удачи!

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

17. "Linux маршрутизатор с несколькими внешними интерфейсами. (de..."  +/
Сообщение от nikman email(??) on 13-Фев-14, 23:26 
Огромное спасибо автору, именно благодаря меткам я сделал невозможное возможным.
Два провайдера + OpenVPN тунель

Раздал так:

Диапазон 192.168.4.2-200 клиенты имеют бесперебойный инет
Диапазон 192.168.4.200-240 клиенты имеют бесперебойную сеть вывернутую через OpenVpn
Еще раз спасибо ,просто супер :)

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

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

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




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

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