NetworkNamespaces: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 9: Строка 9:
 
* виртуальные устройства или реальные со своими шейперами.
 
* виртуальные устройства или реальные со своими шейперами.
   
  +
==Простой пример==
  +
Вот простой роутрер (ноут), один линк через WiFi
 
<PRE>
 
<PRE>
 
ip link show
 
ip link show
  +
</PRE>
ip netns show
 
   
  +
</PRE>
  +
ip link show
  +
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
  +
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  +
2: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
  +
link/ether 00:1d:72:d2:2e:41 brd ff:ff:ff:ff:ff:ff
  +
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
  +
link/ether 00:21:5d:40:2d:7a brd ff:ff:ff:ff:ff:ff
  +
4: lxcbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
  +
link/ether 5a:c4:11:2e:48:99 brd ff:ff:ff:ff:ff:ff
  +
</PRE>
  +
(lxcbr0) - бридж для LXC, никак не мешает.
  +
Проверить наличие неймспейсов:
  +
<PRE>
 
ip netns show
  +
</PRE>
  +
... ничего нет.<BR>
  +
Добавляем 2 неймспейса
  +
<PRE>
 
ip netns add R0
 
ip netns add R0
 
ip netns add R1
 
ip netns add R1
  +
</PRE>
 
ip netns list
 
ip netns list
 
ip link add name ve0a type veth peer name ve0b
 
ip link add name ve0a type veth peer name ve0b

Версия 18:31, 11 мая 2013

Network NameSpaces

Network NameSpaces это способ виртуализации сетевого стека в Linux

В пределах одной физической ноды можно получить:

  • отдельную таблицу маршрутизации
  • отдельную arp-таблицу
  • iptables
  • виртуальные устройства или реальные со своими шейперами.

Простой пример

Вот простой роутрер (ноут), один линк через WiFi

ip link show

ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN

   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000

   link/ether 00:1d:72:d2:2e:41 brd ff:ff:ff:ff:ff:ff

3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000

   link/ether 00:21:5d:40:2d:7a brd ff:ff:ff:ff:ff:ff

4: lxcbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN

   link/ether 5a:c4:11:2e:48:99 brd ff:ff:ff:ff:ff:ff

(lxcbr0) - бридж для LXC, никак не мешает. Проверить наличие неймспейсов:

ip netns show

... ничего нет.
Добавляем 2 неймспейса

ip netns add R0
ip netns add R1

ip netns list ip link add name ve0a type veth peer name ve0b ip link add name ve1a type veth peer name ve1b ip link show ip link set dev ve0b netns R0 ip link show ip link set dev ve1b netns R1 ip netns exec R0 ip link show ip netns exec R1 ip link show ip netns exec R0 ip addr add 172.19.0.1/24 dev ve0b ip netns exec R1 ip addr add 172.20.0.1/24 dev ve1b

ip netns exec R0 ip link set up dev ve0b ip netns exec R1 ip link set up dev ve1b

ip netns exec R0 ifconfig ip netns exec R1 ifconfig


<PRE>
ip addr add 172.19.0.2/24 dev ve0a
ip addr add 172.20.0.2/24 dev ve1a
ip link set up dev ve0a
ip link set up dev ve1a

Связанные темы

http://wiki.sirmax.noname.com.ua/index.php/LXC

Ссылки