Статья "Виртуальный свитч"
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- LMik
- капитан
- Сообщения: 1852
- Зарегистрирован: 2007-07-17 9:14:39
- Откуда: МО
- Контактная информация:
Re: Статья "Виртуальный свитч"
На первой машине arp 192.168.0.2 сделайте во время пинга.
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!
Виpус детям не игpушка, не товаpищ и не дpуг!
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- рядовой
- Сообщения: 18
- Зарегистрирован: 2008-01-21 22:27:41
Re: Статья "Виртуальный свитч"
Код: Выделить всё
balancer# uname -a
FreeBSD balancer.xxx.biz 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Sat Sep 10 04:22:28 MSD 2011 freonx@balancer.xxx.biz:/usr/obj/usr/src/sys/BALANCER i386
balancer# arp 192.168.0.2
? (192.168.0.2) at 00:13:d5:67:22:a0 on em1 expires in 349 seconds [ethernet]
- LMik
- капитан
- Сообщения: 1852
- Зарегистрирован: 2007-07-17 9:14:39
- Откуда: МО
- Контактная информация:
Re: Статья "Виртуальный свитч"
А теперь включив тисипидамп попробуйте пинговать какую-нибудь живую машину в удаленной сети. Мож чего увидим :/.
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!
Виpус детям не игpушка, не товаpищ и не дpуг!
-
- рядовой
- Сообщения: 18
- Зарегистрирован: 2008-01-21 22:27:41
Re: Статья "Виртуальный свитч"
В общем ситуация такая:
Пингуем 1:
машина в 1 сети -> "свой" шлюз (tcpdump видит только запрос) -> "чужой" шлюз (tcpdump видит только запрос) -> конечная машина 2й сети (tcpdump видит запрос и ответ)
При этом конечная машина не отвечает на пинг машины из 1й сети, но успешно пингуется с "своего" шлюза.
Пингуем 2:
машина в 1 сети -> "чужой" шлюз = пинг проходит
Пингуем 3:
машина в 2 сети -> "чужой" шлюз = пинг не проходит
Пингуем 4:
машина в 2 сети -> "свой" шлюз = пинг проходит
Пингуем 5:
Шлюз 2 сети -> комп "чужой", 1й сети = пинг проходит
второй конфиг
Пингуем 1:
машина в 1 сети -> "свой" шлюз (tcpdump видит только запрос) -> "чужой" шлюз (tcpdump видит только запрос) -> конечная машина 2й сети (tcpdump видит запрос и ответ)
При этом конечная машина не отвечает на пинг машины из 1й сети, но успешно пингуется с "своего" шлюза.
Пингуем 2:
машина в 1 сети -> "чужой" шлюз = пинг проходит
Пингуем 3:
машина в 2 сети -> "чужой" шлюз = пинг не проходит
Пингуем 4:
машина в 2 сети -> "свой" шлюз = пинг проходит
Пингуем 5:
Шлюз 2 сети -> комп "чужой", 1й сети = пинг проходит
Код: Выделить всё
#!/bin/sh
#тут указываем наш белый адрес
self=80.246.xx.xx
peer=46.4.xx.xx
#тут порт по которому будет бегать трафик
port=1234
#интерфейс который включаем в свитч
if=vr0
case "$1" in
start)
echo "Starting netgraph switch."
ngctl mkpeer ${if}: bridge lower link0
ngctl name ${if}:lower switch
ngctl mkpeer switch: ksocket link1 inet/dgram/udp
ngctl msg switch:link1 bind inet/${self}:${port}
ngctl msg switch:link1 connect inet/${peer}:${port}
ngctl connect switch: ${if}: link2 upper
ngctl msg ${if}: setpromisc 1
ngctl msg ${if}: setautosrc 0
echo "Ok."
exit 0
;;
stop)
echo "Stopping netgraph switch."
/usr/sbin/ngctl shutdown ${if}:
/usr/sbin/ngctl shutdown switch:
echo "Ok."
exit 0
;;
restart)
sh $0 stop
sh $0 start
;;
*)
echo "Usage: `basename $0` { start | stop | restart }"
exit 64
;;
esac
Код: Выделить всё
#!/bin/sh
#тут указываем наш белый адрес
self=46.4.xx.xx
peer=80.246.xx.xx
#тут порт по которому будет бегать трафик
port=1234
#интерфейс который включаем в свитч
if=em1
case "$1" in
start)
echo "Starting netgraph switch."
ngctl mkpeer ${if}: bridge lower link0
ngctl name ${if}:lower switch
ngctl mkpeer switch: ksocket link1 inet/dgram/udp
ngctl msg switch:link1 bind inet/${self}:${port}
ngctl msg switch:link1 connect inet/${peer}:${port}
ngctl connect switch: ${if}: link2 upper
ngctl msg ${if}: setpromisc 1
ngctl msg ${if}: setautosrc 0
echo "Ok."
exit 0
;;
stop)
echo "Stopping netgraph switch."
/usr/sbin/ngctl shutdown ${if}:
/usr/sbin/ngctl shutdown switch:
echo "Ok."
exit 0
;;
restart)
sh $0 stop
sh $0 start
;;
*)
echo "Usage: `basename $0` { start | stop | restart }"
exit 64
;;
esac
- LMik
- капитан
- Сообщения: 1852
- Зарегистрирован: 2007-07-17 9:14:39
- Откуда: МО
- Контактная информация:
Re: Статья "Виртуальный свитч"
Ерунда какая-то у вас. Если вы винду пингуете, убедитесь что там разрешены пинги. У вас похоже все работает на самом деле. И отрубите ipfw совсем на обоих шлюзах для верности.
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!
Виpус детям не игpушка, не товаpищ и не дpуг!
-
- рядовой
- Сообщения: 18
- Зарегистрирован: 2008-01-21 22:27:41
Re: Статья "Виртуальный свитч"
Да я сам уже нихрена не понимаю Все 4 машины - FreeBSD с вырубленными ipfw. 2 из них виртуальны в VmWare ESXi, 2 другие - "железная", 2я часть сетки.
Также есть IP телефон от Линксиса, он пингуется ровно также, как и FreeBSD. Есть и виндовые машины, там аналогично.
Также есть IP телефон от Линксиса, он пингуется ровно также, как и FreeBSD. Есть и виндовые машины, там аналогично.
- LMik
- капитан
- Сообщения: 1852
- Зарегистрирован: 2007-07-17 9:14:39
- Откуда: МО
- Контактная информация:
Re: Статья "Виртуальный свитч"
Ну так значит все же работает чтоль?FreonX писал(а):Да я сам уже нихрена не понимаю Все 4 машины - FreeBSD с вырубленными ipfw. 2 из них виртуальны в VmWare ESXi, 2 другие - "железная", 2я часть сетки.
Также есть IP телефон от Линксиса, он пингуется ровно также, как и FreeBSD. Есть и виндовые машины, там аналогично.
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!
Виpус детям не игpушка, не товаpищ и не дpуг!
-
- рядовой
- Сообщения: 18
- Зарегистрирован: 2008-01-21 22:27:41
Re: Статья "Виртуальный свитч"
Раньше в качестве 1й сети выступала виртализированная среда внутри VmWare ESXi (шлюз + 2 виртуалки) = не работало.
Заменил ее на "реальные" машины - завелось без проблем. (конфиги один в один с виртуальными)
Начал копать, наткнулся на статью на Хабре - http://habrahabr.ru/blogs/virtualization/124317/
vShare Client - Configuration - Networking - выбираем виртуальный свитч - properties - там в настройках (как vSwitch, так и интерфейсов) Security - Promiscuous Mode - Accept
И все работает
Заменил ее на "реальные" машины - завелось без проблем. (конфиги один в один с виртуальными)
Начал копать, наткнулся на статью на Хабре - http://habrahabr.ru/blogs/virtualization/124317/
Итак, решение:В отличие от физических коммутаторов, vSS не нужно заучивать MAC адреса всех устройств находящихся в том же broadcast домене. Поскольку всем виртуальным машинам MAC адреса назначаются самим ESXi, то vSS уже знает все адреса по умолчанию. Другой отличительной особенностью является то, что vSS совершенно четко делит порты на два типа — внутренние порты и аплинки, и применяет к ним разные правила коммутации.
vShare Client - Configuration - Networking - выбираем виртуальный свитч - properties - там в настройках (как vSwitch, так и интерфейсов) Security - Promiscuous Mode - Accept
И все работает
-
- проходил мимо
- Сообщения: 1
- Зарегистрирован: 2013-01-01 23:56:09
Re: Статья "Виртуальный свитч"
Попробовал поднять соединение, завелось, разве только в стартовом скрипте пришлось дописать секцию "faststart" для автозапуска из rc.d. Теперь вопрос к с специалистам: Как пробросить на удаленную машину несколько vlan из основной сети посредством netgraph свича? т.е. собрать ну допустим 3 vlan завернуть в свич и развернуть на удаленной машине.
-
- проходил мимо
- Сообщения: 1
- Зарегистрирован: 2013-01-15 21:56:05
- Откуда: Тула
Re: Статья "Виртуальный свитч"
День добрый всем. Подскажите, пожалуйста что написать в скрипте, чтобы можно было с 2-х мест к одному серверу подключаться. Подключение с одного места прокатывает на ура, а вот на 2 не получается.
-
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
Статья "Виртуальный свитч"
Делаю виртуальный свич.
Т.е. я сделал коммутатор, и подключил к нему 2 интерфейса.
Но после этого линк на втором интерфейсе не поднялся.
Я что-то сделал не так или линк поднимается иначе?
Код: Выделить всё
ngctl mkpeer igb0: bridge lower link0
ngctl name igb0:lower switch
ngctl connect switch: igb0: link1 upper
ngctl connect switch: igb1: link2 lower
ngctl connect switch: igb1: link3 upper
Но после этого линк на втором интерфейсе не поднялся.
Я что-то сделал не так или линк поднимается иначе?
- dekloper
- ст. лейтенант
- Сообщения: 1331
- Зарегистрирован: 2008-02-24 15:43:19
- Откуда: давно здесь сидим..
- Контактная информация:
Статья "Виртуальный свитч"
ТОВАгИЩИ! БгАТЬЯ И СЕСТгЫ! ДОЛОЙ гАВНОДУШИЕ!
-
- проходил мимо
Статья "Виртуальный свитч"
https://it-club.kz/article/18 тут патч для создания на netgraph фильтруемого транка!