The OpenNET Project / Index page

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

Использование нескольких сетевых стеков в Linux
В 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
  •  
    18.04.2012 , Автор: Roman Timofeev ( ^rage^ )
    Ключи: linux, namespace, gateway, virtual, route, iproute / Лицензия: CC-BY
    Раздел:    Корень / Администратору / Сетевая подсистема, маршрутизация / Туннелинг, VPN, VLAN

    Обсуждение [ Линейный режим | Показать все | RSS ]
     
  • 1.1, Аноним, 10:29, 18/04/2012 [ответить] [смотреть все]
  • +/
    вот спасибо!
     
  • 1.2, Сергей, 19:36, 18/04/2012 [ответить] [смотреть все]
  • +/
    а какая практическая польза?
     
     
  • 2.3, archy, 20:10, 18/04/2012 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    что-то типа VRF?
     
  • 2.4, Аноним, 01:08, 19/04/2012 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    Привязывать netns-ы к контейнерам и создавать сети из виртуалок при практически ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.5, ragus, 01:36, 19/04/2012 [^] [ответить] [смотреть все]  
  • +/
    контейнеры и используют netns ы но иногда достаточно просто сетевых неймспейсов... весь текст скрыт [показать]
     
  • 2.18, Аноним, 20:58, 21/04/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Виртуальные роутеры в виртуальной инфраструктуре - самое оно если полнял пачку в... весь текст скрыт [показать] [показать ветку]
     
  • 2.35, AlexAT, 14:03, 04/09/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    FAAS, нэ?
     
  • 1.6, ABATAPA, 07:39, 19/04/2012 [ответить] [смотреть все]  
  • –2 +/
    СтЭков?
     
     
  • 2.25, mahoro, 15:23, 28/04/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    http://cryptanalysis.ru/hash-flash/
     
     
  • 3.27, ABATAPA, 11:14, 04/05/2012 [^] [ответить] [смотреть все]  
  • +/
    Не авторитет http gramota ru slovari dic lop x bts x zar x ag x ab x sin x l... весь текст скрыт [показать]
     
     
  • 4.30, Аноним2, 13:24, 24/05/2012 [^] [ответить] [смотреть все]  
  • +/
    Мой маленький любитель русского языка, не надо пытаться казаться умнее, чем ты е... весь текст скрыт [показать]
     
     
  • 5.32, Michael Shigorin, 14:12, 24/05/2012 [^] [ответить] [смотреть все]  
  • +/
    Мальчики, не ссорьтесь ц -- с заимствованиями и так сложней, чем кажется PS ... весь текст скрыт [показать]
     
  • 5.34, ABATAPA, 13:21, 08/06/2012 [^] [ответить] [смотреть все]  
  • +/
    Анонист два, сразу видно, что ты-то как раз и не знаешь Мой русский вдолблен ... весь текст скрыт [показать]
     
  • 1.7, ABATAPA, 07:43, 19/04/2012 [ответить] [смотреть все]  
  • +/
    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
     
     
  • 2.8, Andrey Mitrofanov, 10:25, 19/04/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Спрашивайте в магазинах города PPA ip -V ip utility, iproute2-ss100519 i... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.9, ABATAPA, 10:38, 19/04/2012 [^] [ответить] [смотреть все]  
  • +/
    Автором не поддерживается Собрать я, конечно, собрал, но Суть не в этом быс... весь текст скрыт [показать]
     
     
  • 4.23, kbyer, 10:52, 25/04/2012 [^] [ответить] [смотреть все]  
  • –1 +/
    так это ж линукс, тут это как бы фича ... весь текст скрыт [показать]
     
  • 1.10, Аноним, 14:25, 19/04/2012 [ответить] [смотреть все]  
  • –1 +/
    не прошло и 19 девятнадцати лет http plan9 bell-labs com sys doc names h... весь текст скрыт [показать]
     
     
  • 2.11, Аноним, 14:29, 19/04/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    http://man.cat-v.org/plan_9/6/namespace же!
     
     
  • 3.17, Аноним, 02:52, 21/04/2012 [^] [ответить] [смотреть все]  
  • +2 +/
    Надеюсь что вы такие умные хотя-бы юзаете этот ваш план9 ... весь текст скрыт [показать]
     
  • 2.12, Andrey Mitrofanov, 15:32, 19/04/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Пускай секундомер -- через сколько оно в винде будет ... весь текст скрыт [показать] [показать ветку]
     
  • 2.13, ss, 20:48, 19/04/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    через сколько лет появится drdb в plan?
    анон фигню не пори
     
  • 2.16, Аноним, 02:49, 21/04/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    > lo0nix is SO slow....

    plan9 is s0o al1v3 and s00o uzzaabl3ee....

     
  • 2.28, XoRe, 21:52, 07/05/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    На скольки серверах он у вас установлен ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.31, Аноним2, 13:31, 24/05/2012 [^] [ответить] [смотреть все]  
  • +/
    В соответствии с идеологией, как минимум на трех виртуальных cpu, file-backed и... весь текст скрыт [показать]
     
  • 1.15, Супер Аноним, 10:37, 20/04/2012 [ответить] [смотреть все]  
  • +/
    Вопрос немножко не в тему, но пересекается.
    Можно ли виртуальные консоли vcsX засунуть в пространства имён и привязать к различным физическим устройствам (видеокартам, клавам) ?
     
     
  • 2.19, Michael Shigorin, 03:49, 25/04/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    > Вопрос немножко не в тему, но пересекается.
    > Можно ли виртуальные консоли vcsX засунуть в пространства имён и привязать к
    > различным физическим устройствам (видеокартам, клавам) ?

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

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

     
     
  • 3.24, Andrey Mitrofanov, 11:14, 25/04/2012 [^] [ответить] [смотреть все]  
  • +/
    Наверное, уже почти можно Вот запилит кто-нибудь В принципе... весь текст скрыт [показать]
     
     
  • 4.26, Andrey Mitrofanov, 11:26, 02/05/2012 [^] [ответить] [смотреть все]  
  • +/
    >>> Можно ли виртуальные консоли 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_multiseat_kick (на стр.3, последнее видео с LPC -- рекомендую для ознакомления, если ещё есть вопрос "что это")
    http://www.kickstarter.com/projects/1666707630/plugable-thin-client-the-50-co

     
     
  • 5.29, Аноним, 00:49, 10/05/2012 [^] [ответить] [смотреть все]  
  • +/
    Работа с одним компом с нескольких физических терминалов Ай-яй-яй, опять этот П... весь текст скрыт [показать]
     
     
  • 6.33, pavlinux, 01:43, 31/05/2012 [^] [ответить] [смотреть все]  
  • +/
    > Работа с одним компом с нескольких физических терминалов?

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

     
  • 1.37, Алексей, 18:13, 18/05/2016 [ответить] [смотреть все]  
  • +/
    А можно запустить вместе с chroot
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:




      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor