2 сетевых интерфейса в контейнере. [message #41159] |
Tue, 07 December 2010 09:08 |
coredump
Messages: 1 Registered: December 2010
|
Junior Member |
|
|
Приветствую коллеги!
Что имеем:
Машина, с 2 сетевыми интерфейсами, соответственно на них внутренний и внешний адрес:
eth0 Link encap:Ethernet HWaddr d8:d3:85:e4:68:ca
inet6 addr: fe80::dad3:85ff:fee4:68ca/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4774597 errors:0 dropped:0 overruns:0 frame:0
TX packets:1994558 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:708316119 (675.5 MiB) TX bytes:492256032 (469.4 MiB)
Memory:fbe60000-fbe80000
eth1 Link encap:Ethernet HWaddr d8:d3:85:e4:68:cb
inet6 addr: fe80::dad3:85ff:fee4:68cb/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:21173721 errors:0 dropped:0 overruns:0 frame:0
TX packets:7632 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3259130319 (3.0 GiB) TX bytes:486239 (474.8 KiB)
Memory:fbee0000-fbf00000
Оба интерфейса в режиме бриджа:
vmbr0 Link encap:Ethernet HWaddr d8:d3:85:e4:68:ca
inet addr:9X.XXX.XXX.88 Bcast:9X.XXX.XXX.127 Mask:255.255.255.192
inet6 addr: fe80::dad3:85ff:fee4:68ca/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3912035 errors:0 dropped:0 overruns:0 frame:0
TX packets:1972026 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:400882360 (382.3 MiB) TX bytes:490778730 (468.0 MiB)
vmbr1 Link encap:Ethernet HWaddr d8:d3:85:e4:68:cb
inet addr:192.168.X.XXX Bcast:192.168.X.255 Mask:255.255.255.0
inet6 addr: fe80::dad3:85ff:fee4:68cb/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4864541 errors:0 dropped:0 overruns:0 frame:0
TX packets:7615 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:234290408 (223.4 MiB) TX bytes:485177 (473.8 KiB)
Когда я создаю контейнер, я указываю ip адрес или из внутренней или из внешней сети, тут все работает.
А как сделать так, что бы одновременно внутри контейнера могли располагаться адреса и из внешней и из внутренней сети.
Подскажите, как это можно сделать?
Спасибо за ответы!
|
|
|
Re: 2 сетевых интерфейса в контейнере. [message #41257 is a reply to message #41159] |
Fri, 17 December 2010 21:08 |
SuSt
Messages: 8 Registered: December 2010 Location: Russia
|
Junior Member |
|
|
Давайте сперва определимся, Вам внутри контейнера нужен veth или venet? Все дальнейшие рассуждения будут зависеть от ответа на этот вопрос.
Но в любом случае, такая постановка задачи, на мой взгляд, несколько странная. Давайте вспомним, что на любой multihome-системе при отправке IP-пакета приложением возникают две независимые задачи: выбор маршрута и выбор SRC IP. Мне вот интересно, каким образом Вы предполагаете решать эти задачи в случае, когда контейнеру у Вас будет присвоено несколько разных IP-адресов? Там сразу возникает куча проблем, которые не всегда очевидно как решать.
Другими словами, зачем вам нужно внутри контейнера несколько IP? Если хотите таким образом осуществлять маршрутизацию между внешней и внутренней сетью, то лучше сразу бросьте эту затею.
|
|
|
Re: 2 сетевых интерфейса в контейнере. [message #41447 is a reply to message #41159] |
Sat, 22 January 2011 16:58 |
|
sa10
Messages: 103 Registered: May 2007 Location: Minsk
|
Senior Member |
|
|
Вы можете использовать policy routing.
Это позволит использовать несколько таблиц маршрутизации.
Каждая таблица может иметь свой шлюз по умолчанию и особый набор маршрутов.
Выбор таблицы маршрутов возможен по любым признакам которые имеются в пакете или пакет можно маркировать с помощью iptables по любым возможным признакам и по маркеру направлять его в нужную таблицу.
Короче вам придется углубиться в изучение iproute2.
--------------------
|
|
|