The OpenNET Project / Index page

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



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

"Раздел полезных советов: Использование нескольких сетевых ст..."  +1 +/
Сообщение от auto_tips (??) on 18-Апр-12, 10:29 
В linux относительно давно появилась такая замечательная вещь, как неймспейсы (namespaces). Основное применение данной технологии - контейнерная виртуализация, но и на маршрутзаторе можно придумать много разных применений, так как среди неймспейсов есть "network namespaces".

Network namespaces позволяют в рамках одной машины в каждом неймспейсе иметь:

** свой набор таблиц маршрутизации (а их 2^31-1 шт)
** свою arp-таблицу
** свои правила iptables
** свои устройства (а значит и qdisc + class'ы tc)

NB: для выполнения нижеследующих примеров крайне желательно иметь свежий iproute2 и ядро.

Создаются неймспейсы достаточно скучно и просто:

   ip netns add VROUTER
   ip netns add KUKYSEVRACI

Создадим "виртуальны шнурок":

   ip link add name ve0a type veth peer name ve0b

Добавим интерфейсы внутрь VROUTER:
  
   ip link set dev eth0 netns VROUTER
   ip link set dev ve0b netns VROUTER

Выполнить команду в контексте определённого неймспейса можно так:

   ip netns exec VROUTER ip link show

Настроим адреса:

   ip netns exec VROUTER ip a a 192.168.1.1/24 dev ve0b
   ip a a 192.168.1.2/24 dev ve0a
   ip netns exec VROUTER ip a a 10.140.48.16/24 dev eth0

Поднимем интерфейсы:

   ip link set dev ve0a up
   ip netns exec VROUTER ip link set dev eth0 up
   ip netns exec VROUTER ip link set dev ve0b up

Шлюз по умолчанию:

   ip netns exec VROUTER ip r a default via 10.140.48.1

Посмотрим, что получилось:

   root@laptus:~# ip netns exec VROUTER ip r s
   default via 10.140.48.1 dev eth0
   10.140.48.0/24 dev eth0  proto kernel  scope link  src  10.140.48.16
   192.168.1.0/24 dev ve0b  proto kernel  scope link  src 192.168.1.1

Добавим NAT:

   ip netns exec VROUTER iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 10.140.48.16

Сделаем пару трейсов:

   root@laptus:~# ip netns exec VROUTER traceroute -q 1 -I opennet.ru
   traceroute to opennet.ru (77.234.201.242), 30 hops max, 60 byte packets
    1  10.140.48.1 (10.140.48.1)  0.148 ms
    2  10.140.0.1 (10.140.0.1)  0.245 ms
    3  border.yournet.ru (91.204.148.17)  0.436 ms
    4  alisa.yournet.ru (91.204.151.2)  0.521 ms
    5  sev-gw.yournet.ru (91.204.148.2)  8.975 ms
    6  bl16-1-gw.spb.runnet.ru (194.190.255.25)  1.321 ms
    7  bl16-1-gw.spb.runnet.ru (194.85.40.170)  1.785 ms
    8  s14-1-gw.spb.runnet.ru (194.85.40.81)  1.456 ms
    9  vuztc.spb.runnet.ru (194.190.255.170)  1.987 ms
    10  opennet.ru (77.234.201.242)  2.395 ms

   root@laptus:~# traceroute -q 1 -I opennet.ru
   traceroute to opennet.ru (77.234.201.242), 30 hops max, 60 byte packets
    1  192.168.1.1 (192.168.1.1)  0.094 ms
    2  10.140.48.1 (10.140.48.1)  0.751 ms
    3  10.140.0.1 (10.140.0.1)  1.277 ms
    4  border.yournet.ru (91.204.148.17)  2.061 ms
    5  alisa.yournet.ru (91.204.151.2)  2.911 ms
    6  sev-gw.yournet.ru (91.204.148.2)  6.770 ms
    7  bl16-1-gw.spb.runnet.ru (194.190.255.25)  3.622 ms
    8  bl16-1-gw.spb.runnet.ru (194.85.40.170)  5.262 ms
    9  s14-1-gw.spb.runnet.ru (194.85.40.81)  4.135 ms
   10  vuztc.spb.runnet.ru (194.190.255.170)  4.710 ms
   11  opennet.ru (77.234.201.242)  7.220 ms

URL:
Обсуждается: http://www.opennet.me/tips/info/2683.shtml

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

Оглавление

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

1. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от Аноним (??) on 18-Апр-12, 10:29 
вот спасибо!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от Сергей (??) on 18-Апр-12, 19:36 
а какая практическая польза?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от archy (??) on 18-Апр-12, 20:10 
что-то типа VRF?
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от Аноним (??) on 19-Апр-12, 01:08 
Привязывать netns-ы к контейнерам и создавать сети из виртуалок при практически нулевом оверхеде.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от ragus (ok) on 19-Апр-12, 01:36 
контейнеры и используют netns'ы. но иногда достаточно просто сетевых неймспейсов, без изоляции процессов.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Использование нескольких сетевых стэков в Linux"  –2 +/
Сообщение от ABATAPA email(ok) on 19-Апр-12, 07:39 
СтЭков?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от ABATAPA email(ok) on 19-Апр-12, 07:43 
root@localhost:/tmp# ip netns
Object "netns" is unknown, try "ip help".
root@localhost:/tmp# ip -V
ip utility, iproute2-ss110317
root@localhost:/tmp# uname -a
Linux localhost 3.0.0-17-generic #30-Ubuntu SMP Thu Mar 8 20:45:39 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от Andrey Mitrofanov on 19-Апр-12, 10:25 
> root@localhost:/tmp# ip netns
> Object "netns" is unknown, try "ip help".
> root@localhost:/tmp# ip -V
> ip utility, iproute2-ss110317

Спрашивайте в магазинах города... PPA?

$ ip -V
ip utility, iproute2-ss100519
$ ip netns
Object "netns" is unknown, try "ip help".
$ ip -V
ip utility, iproute2-ss120319
$ ip netns
$ _

Я просто пересобрал pbuilder-ом из unstable в stable [--Debian]. И нет, совет выше не проверял, только собрал-установил.

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

9. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от ABATAPA email(ok) on 19-Апр-12, 10:38 
> Спрашивайте в магазинах города... PPA?

Автором не поддерживается.

Собрать я, конечно, собрал, но... Суть не в этом: быстро пробежавшись по всем своим Linux-устройствам, я нигде не нашел версии iproute2 с netns. Не отрицая того, что это здорово, и нужно, всё же стоит иметь в виду, что не везде это будет "из коробки", и не везде это вообще будет работать (linux-роутеры на старых версиях ядра, и т.д.).

PS: Вот как вернуть в "основной" namespace физическое устройство после
ip link set dev eth0 netns VROUTER
ip netns delete VROUTER
- я не понял.

Пока netns VROUTER не удалён, в нём можно сделать:
ip netns exec VROUTER bash
ip link set dev DEV netns 1

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

10. "Использование нескольких сетевых стэков в Linux"  –1 +/
Сообщение от Аноним (??) on 19-Апр-12, 14:25 
не прошло и 19 (девятнадцати) лет....
http://plan9.bell-labs.com/sys/doc/names.html
http://man.cat-v.org/plan_9/4/namespace

lo0nix is SO slow....

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

11. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от Аноним (??) on 19-Апр-12, 14:29 
http://man.cat-v.org/plan_9/6/namespace же!
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от Andrey Mitrofanov on 19-Апр-12, 15:32 
> не прошло и 19 (девятнадцати) лет....

Пускай секундомер -- через сколько оно в винде будет!?

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

13. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от ss (??) on 19-Апр-12, 20:48 
через сколько лет появится drdb в plan?
анон фигню не пори
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

15. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от Супер Аноним on 20-Апр-12, 10:37 
Вопрос немножко не в тему, но пересекается.
Можно ли виртуальные консоли vcsX засунуть в пространства имён и привязать к различным физическим устройствам (видеокартам, клавам) ?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Использование нескольких сетевых стэков в Linux"  +1 +/
Сообщение от Аноним (??) on 21-Апр-12, 02:49 
> lo0nix is SO slow....

plan9 is s0o al1v3 and s00o uzzaabl3ee....

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

17. "Использование нескольких сетевых стэков в Linux"  +2 +/
Сообщение от Аноним (??) on 21-Апр-12, 02:52 
> http://man.cat-v.org/plan_9/6/namespace же!

Надеюсь что вы такие умные хотя-бы юзаете этот ваш план9 :)

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

18. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от Аноним (??) on 21-Апр-12, 20:58 
> а какая практическая польза?

Виртуальные роутеры в виртуальной инфраструктуре - самое оно если полнял пачку виртуалок в LXC, а тут как раз и сетку между ними можно нарулить.

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

19. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от Michael Shigorin email(ok) on 25-Апр-12, 03:49 
> Вопрос немножко не в тему, но пересекается.
> Можно ли виртуальные консоли vcsX засунуть в пространства имён и привязать к
> различным физическим устройствам (видеокартам, клавам) ?

Возможно, google://терминал+горыныч поможет.

Ещё не в тему, но с другой стороны: для инфраструктуры с VM на нескольких хостах может пригодиться http://openvswitch.org.

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

23. "Использование нескольких сетевых стэков в Linux"  –1 +/
Сообщение от kbyer on 25-Апр-12, 10:52 
>не везде это будет "из коробки", и не везде это вообще будет работать

так это ж линукс, тут это как бы фича.

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

24. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от Andrey Mitrofanov on 25-Апр-12, 11:14 
>> Можно ли виртуальные консоли vcsX засунуть в пространства имён и привязать к
>> различным физическим устройствам (видеокартам, клавам) ?

Наверное, уже (почти?!!) можно. Вот запилит кто-нибудь...............
В принципе, пустить getty/login на tty$N вообще не проблема. Вот привязать к этому tty$N комплект vga$M + kbd$X + mouse$Y... в т.ч. решить, какие из нескольких $M/$X/$Y/... по-парно/по-$n-но объединять, да ещё, кста, выяснить (и допилить), работает ли ядро с таким "мейнфреймом" внутри ПЦ. (Datalink, или как их там?, изящно объединяли наборы K+V+M путём подвешивания _всех трёх (vga в т.ч.!) на _один USB хаб -- и ловлей их на одной "ветке" дерева устройств). Но народ же B)требует +1usb-kbd+1usb-мышь на вон тот _свободный (второй, третий...) выход набортного/внутреннего/втрого-PCI-ного/... VGA! .  .  .  .  . [Ждём ебил^Wгероев!]

> Возможно, google://терминал+горыныч поможет.

+G://multiseat+site:opennet.ru

Кстати, аноним дело говорит. Неймспейсы в применении к мультиситу -- новое слово-таки. К сожалению, _могло _бы _быть. Насколько мне причудилось, там есть две (минимум?) проблемы: uid нейспейсов (разделения пользователей, в т.ч. root-ов) не случилось, н.с. их авторами числятся как "ни-ни, не дай $deity, не механизм безопасности ни разу"... То есть поломка хоста недружелюмным обитателем контейнера -- реальная угроза безопасноти. Видимо? ... Хотя с другой стороны, если не упираться рогом в полное разделение, и делать одного root-а и базу/спейс uid-ов, то, наверное, мульти-сит, подпёртый неймспейсами (только, видимо, не сетевыми, а "консольные" нужны; впрочем, сетевые н.с. могут сыграть роль "персонального файервола"), ничем не хуже какого-нибудь удалённого X- или ssh-подключения... Однако, при чём же здесь неймспейсы? Ведь tty$N уже некое объёдинение K+V+M и некий "спейс".

___Да-да, знаю, "Остапа понесло". +++И, правда, о чём это я?!

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

25. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от mahoro (ok) on 28-Апр-12, 15:23 
http://cryptanalysis.ru/hash-flash/
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

26. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от Andrey Mitrofanov on 02-Май-12, 11:26 
>>> Можно ли виртуальные консоли vcsX засунуть в пространства имён и привязать к
>>> различным физическим устройствам (видеокартам, клавам) ?

...патчат udisks вот, Л.П. говорит, чтоб каждый сииит только "свои" флэши "видел"...

> Наверное, уже (почти?!!) можно. Вот запилит кто-нибудь...............
> (Datalink, или как их там?, изящно объединяли наборы K+V+M путём подвешивания _всех
> трёх (vga в т.ч.!) на _один USB хаб -- и ловлей их на одной "ветке" дерева устройств).

Plugable. (Видео - DisplayLink.)

В Fedora 17 г-н Потеринг обещает полную поддержку воткнул-и-работай мультисита с железом Plugable.

http://0pointer.de/blog/projects/multi-seat.html
http://www.phoronix.com/scan.php?page=article&item=plugable_... (на стр.3, последнее видео с LPC -- рекомендую для ознакомления, если ещё есть вопрос "что это")
http://www.kickstarter.com/projects/1666707630/plugable-thin...

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

27. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от ABATAPA email(ok) on 04-Май-12, 11:14 
> http://cryptanalysis.ru/hash-flash/

Не авторитет.
http://gramota.ru/slovari/dic/?lop=x&bts=x&zar=x&ag=x&ab=x&s...

И не надо теперь всё в кучу валить.

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

28. "Использование нескольких сетевых стэков в Linux"  +1 +/
Сообщение от XoRe (ok) on 07-Май-12, 21:52 
> не прошло и 19 (девятнадцати) лет....
> http://plan9.bell-labs.com/sys/doc/names.html
> http://man.cat-v.org/plan_9/4/namespace
> lo0nix is SO slow....

На скольки серверах он у вас установлен?

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

29. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от Аноним (??) on 10-Май-12, 00:49 
Работа с одним компом с нескольких физических терминалов? Ай-яй-яй, опять этот Поттеринг тащит виндовс-вей в наш любимый UNIX :-P
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

30. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от Аноним2 on 24-Май-12, 13:24 
Мой маленький любитель русского языка, не надо пытаться казаться умнее, чем ты есть на самом деле. Со стороны выглядит довольно пафосно и глупо.

В предложенном тебе документе каждый тезис снабжен ссылкой на один из общепризнанных словарей русского языка, в частности на то же gramota.ru, который ты так любишь. Глупо обвинять оппонента в неавторитетности источника, если ты сам на него ссылаешься.

Кроме того, документ рассматривает контекст явления, разбирает и обобщает правила использования, т.е. документ является методологическим. Ты же, видимо, кроме ЕГЭ ничего не видел, поэтому для решения проблемы предлагаешь использовать фактологию заместо методологии.

Эффект предсказуем: в следующий раз ты опять пойдешь искать на gramota.ru как же пишется другое слово, через "е" или через "э". Другие же, зная правило, просто напишут слово правильно. А то, что ты по недомыслию называешь "кучей", является правилом русского языка.

Так что не авторитет тут - это ты сам.

С приветом, твой КО.

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

31. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от Аноним2 on 24-Май-12, 13:31 
В соответствии с идеологией, как минимум на трех виртуальных: cpu, file-backed и консоль. ;)
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

32. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от Michael Shigorin email(ok) on 24-Май-12, 14:12 
Мальчики, не ссорьтесь (ц) -- с заимствованиями и так сложней, чем кажется.

PS: пишу "стек", точную причину указать затрудняюсь.

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

33. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от pavlinux (ok) on 31-Май-12, 01:43 
> Работа с одним компом с нескольких физических терминалов?

Где-то я это уже видел... А, точно, VAX/VMS, аж 1975  году.

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

34. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от ABATAPA email(ok) on 08-Июн-12, 13:21 
Анонист два, сразу видно, что ты-то как раз и не знаешь.
Мой русский "вдолблен" учителями СССР, огромным количеством книг, которые читаю и до сих пор.
А "маленьким" я могу быть разве что рядом с твоим дедом...
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

35. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от AlexAT (ok) on 04-Сен-12, 14:03 
FAAS, нэ?
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

37. "Использование нескольких сетевых стеков в Linux"  +/
Сообщение от Алексей email(??) on 18-Май-16, 18:13 
А можно запустить вместе с chroot
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

38. "Использование нескольких сетевых стэков в Linux"  +/
Сообщение от Аноним (??) on 23-Апр-18, 15:20 
юморист.
Лучше засеките время, когда в винде нормально vlan'ами можно будет рулить.
Подозреваю что никогда, а если и можно будет, это технологически будет уже не винда :)
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору


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

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




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

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