The OpenNET Project / Index page

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

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

"Forwarding без адреса"  +/
Сообщение от pavlinux (ok) on 26-Апр-13, 00:20 
Мужики, банальный вопрос :)

Как правильно пропихнуть БЕЛЫЙ IP в QEMU/KVM работающий на хосте с БЕЛЫМ IP ?

Есть бридж, один tap, один езернет.

br0 - 1.2.3.210/26
tap0 - 0.0.0.0
eth0 - 0.0.0.0

адрес в виртуалке  1.2.3.241/26

В общем все работает, но в определённый момент настаёт затык,
и кроме ARP запросов в виртуалку ничего не пролетает.
Зато все прекрасно пролетает с хостовой машины.

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

Оглавление

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


1. "Forwarding без адреса"  +/
Сообщение от PavelR (ok) on 26-Апр-13, 07:36 
>[оверквотинг удален]
> Как правильно пропихнуть БЕЛЫЙ IP в QEMU/KVM работающий на хосте с БЕЛЫМ
> IP ?
> Есть бридж, один tap, один езернет.
> br0 - 1.2.3.210/26
> tap0 - 0.0.0.0
> eth0 - 0.0.0.0
> адрес в виртуалке  1.2.3.241/26
> В общем все работает, но в определённый момент настаёт затык,
> и кроме ARP запросов в виртуалку ничего не пролетает.
> Зато все прекрасно пролетает с хостовой машины.

sysctl -a |grep bridge-nf
sysctl -a |grep proxy_arp

??

PS: Первое это вопрос, второе - это предложение.

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

2. "Forwarding без адреса"  +/
Сообщение от pavlinux (ok) on 26-Апр-13, 16:55 
> sysctl -a |grep bridge-nf

и 0 ставил,  и 1

> sysctl -a |grep proxy_arp

та же фигня.

Такое ощущение, что после большого таймаута, когда никто не обращается
к серваку в виртуалке, оно раскачаться не может...

форвардинг всякий включен, с iptables и без.
Я б сделал проброс портов, но на хостовой тоже крутятся 80/443 порты.  

Единственное что пока приходит на ум, проброс адреса:порта с маскарадом.
а реальный IP присвоить как алиас  eth0:1

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

3. "Forwarding без адреса"  +/
Сообщение от PavelR (??) on 26-Апр-13, 17:05 
>> sysctl -a |grep bridge-nf
> и 0 ставил,  и 1
>> sysctl -a |grep proxy_arp
> та же фигня.

не-не-не. прокси-арпинг подразумевает маршрутизацию трафика а не бриджинг, соответственно имеешь "точка-точка" между виртуальной машиной и хостом, маршрут к реальному айпи в виртуальную машину, и включенные proxy_arp на соответствующих интерфейсах. всё это без бриджей.

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

4. "Forwarding без адреса"  +/
Сообщение от PavelR (??) on 26-Апр-13, 17:09 
>>> sysctl -a |grep bridge-nf
>> и 0 ставил,  и 1
>>> sysctl -a |grep proxy_arp
>> та же фигня.
> не-не-не. прокси-арпинг подразумевает маршрутизацию трафика а не бриджинг, соответственно
> имеешь "точка-точка" между виртуальной машиной и хостом, маршрут к реальному айпи
> в виртуальную машину, и включенные proxy_arp на соответствующих интерфейсах. всё это
> без бриджей.

ifconfig eth0 inet 1.2.3.210/26

ifconfig tap0 inet 192.168.250.1/32
ip ro add 1.2.3.241 dev tap0

sysctl tap0.proxy_arp=1
sysctl eth0.proxy_arp=1


inside VM:

ifconfig virtual.eth0 inet 1.2.3.241/26
route add default 1.2.3.210

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

5. "Forwarding без адреса"  +/
Сообщение от pavlinux (ok) on 27-Апр-13, 03:28 
>[оверквотинг удален]
>> в виртуальную машину, и включенные proxy_arp на соответствующих интерфейсах. всё это
>> без бриджей.
> ifconfig eth0 inet 1.2.3.210/26
> ifconfig tap0 inet 192.168.250.1/32
> ip ro add 1.2.3.241 dev tap0
> sysctl tap0.proxy_arp=1
> sysctl eth0.proxy_arp=1
> inside VM:
> ifconfig virtual.eth0 inet 1.2.3.241/26
> route add default 1.2.3.210

Во чё нарыл

parprouted - Proxy ARP IP bridging daemon

# apt-get update
# apt-get install parprouted
# parprouted br0 tap0;

В общем, мерси за наводку на прокси-арп.

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

6. "Forwarding без адреса"  +1 +/
Сообщение от izyk on 28-Апр-13, 02:37 
Работать должно, без лишних телодвижений, но:
1. всегда - "mac address 1.2.3.210/26" != "mac address 1.2.3.241/26".
2. tap0, eth0 - интерфейсы одного моста br0.

У вас, видимо, что-то, идет не так, на выходе в сеть.
Я бы, посмотрел "tcpdump" на eth0, особенно, значение "mac addresses".

P.S. Proxy arp - поможет, но это не решает проблемы. IMHO.

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

7. "Forwarding без адреса"  +/
Сообщение от Слоупок (ok) on 28-Апр-13, 08:15 
> Работать должно, без лишних телодвижений, но:
> 1. всегда - "mac address 1.2.3.210/26" != "mac address 1.2.3.241/26".
> 2. tap0, eth0 - интерфейсы одного моста br0.
> У вас, видимо, что-то, идет не так, на выходе в сеть.
> Я бы, посмотрел "tcpdump" на eth0, особенно, значение "mac addresses".
> P.S. Proxy arp - поможет, но это не решает проблемы. IMHO.

+1 parprouted здесь не нужен.

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

8. "Forwarding без адреса"  +/
Сообщение от izyk on 28-Апр-13, 12:39 
Немного уточню:
Должно быть три уникальных "mac address" -
eth0, tap0(br0 ip - 1.2.3.210) и ethX(или что там у вас внутри VM ip - 1.2.3.241) виртуальной машины.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

9. "Forwarding без адреса"  +/
Сообщение от pavlinux (ok) on 29-Апр-13, 12:48 
> Работать должно, без лишних телодвижений, но:
> 1. всегда - "mac address 1.2.3.210/26" != "mac address 1.2.3.241/26".
> 2. tap0, eth0 - интерфейсы одного моста br0.


0.0.0.0/0    - 40:61:83:7e:a3:14  (eth0 на хосте)
0.0.0.0/0    - 2a:33:07:10:a4:fb  (tap0)
1.2.3.210/26 - 2a:33:07:10:a4:fb  (br0)
1.2.3.241/26 - 52:54:11:11:11:11  (eth0 в виртулке)

# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.2a330710a4fb       no              eth0
                                                        tap0


> У вас, видимо, что-то, идет не так, на выходе в сеть.

Я и не сомневаюсь :)

> Я бы, посмотрел "tcpdump" на eth0, особенно, значение "mac addresses".
> P.S. Proxy arp - поможет, но это не решает проблемы. IMHO.

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

10. "Forwarding без адреса"  +/
Сообщение от izyk on 29-Апр-13, 14:46 
Крайнее предположение, но у меня так бывало:
Некоторые провайдеры делают привязку к mac адресу на каждый порт,
тогда ваша конфигурация работать не будет, в Cisco это "security ..", что то там,
так вот, если выход в интернет идет, только по "52:54:11:11:11:11" все работает,
но как только пытается выйти host(br0 "2a:33:07:10:a4:fb"), начинаются траблы.
Все, других предположений нет.
Если вы, конечно, не намудрили c "ebtables", или кривая сборка ядра, KVM.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Forwarding без адреса"  +/
Сообщение от pavlinux (ok) on 30-Апр-13, 04:11 
> Некоторые провайдеры делают привязку к mac адресу на каждый порт,
> тогда ваша конфигурация работать не будет, в Cisco это "security ..", что
> то там,

Кстати..., чёй-то я даже не подумал об этом... Надо будет узнать у хостера...

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

12. "Forwarding без адреса"  +/
Сообщение от me (??) on 30-Апр-13, 18:02 
>> Некоторые провайдеры делают привязку к mac адресу на каждый порт,
>> тогда ваша конфигурация работать не будет, в Cisco это "security ..", что
>> то там,
> Кстати..., чёй-то я даже не подумал об этом... Надо будет узнать у
> хостера...

вряд-ли, если сложить это,
> В общем все работает, но в определённый момент настаёт затык,

и это
> Такое ощущение, что после большого таймаута, когда никто не обращается

к серваку в виртуалке, оно раскачаться не может...

некоторое время это работает и перестает только когда у свитча arp cache протухает. по идее, если из коробки двинуть любой пакет наружу мы опять поднимемся.

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

13. "Forwarding без адреса"  +/
Сообщение от PavelR (ok) on 01-Май-13, 10:18 
>[оверквотинг удален]
>> Кстати..., чёй-то я даже не подумал об этом... Надо будет узнать у
>> хостера...
> вряд-ли, если сложить это,
>> В общем все работает, но в определённый момент настаёт затык,
> и это
>> Такое ощущение, что после большого таймаута, когда никто не обращается
> к серваку в виртуалке, оно раскачаться не может...
>  некоторое время это работает и перестает только когда у свитча arp
> cache протухает. по идее, если из коробки двинуть любой пакет наружу
> мы опять поднимемся.

на линуксовом бридже отключается режим learning, а на коммутаторе хостера прописано четкое соответствие IP-MAC. Соответственно, широковещательный ARP-запрос WHO-HAS не отправляется. Когда на линуксовом бридже протухает запись привязки MAC-порт, связь теряется. Если из ВМ сделать отправку пакета, то он снова вспоминает эту запись и всё работает. по-моему это так происходит (что-то подобное было у меня когда-то).

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

14. "Forwarding без адреса"  +/
Сообщение от me (??) on 01-Май-13, 13:02 
а на коммутаторе хостера прописано четкое
> соответствие IP-MAC.

тогда-б он совсем не заработал, у парня два белых IP, как я понял.
и речь вроде шла о switchport port-security i.e port-mac, не ip-mac

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

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

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




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

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