прямая связь двух машин + подключение через коммутатор
436
Bjørn Bouet Smith
Последние пару дней я пытался заставить работать настройку, подобную приведенной ниже.
У меня есть сервер Ubuntu 16.04 с двумя сетевыми картами, 1 1 Гбит, 1 10 Гбит, а Windows Machine Windows 10 с двумя сетевыми картами, 1 1 Гбит, 1 10 Гбит
Я могу пропинговать от машины Windows к адресам серверов 192.168.1.200, но не к 192.168.0.200. Машина Windows также может получить доступ к Интернету просто отлично.
с сервера я могу пинговать машину windows, т.е. 192.168.1.49. Я также могу пропинговать некоторые хосты в сети 192.168.0.0/24, но не шлюз по умолчанию. Сервер также не имеет подключения к Интернету.
Итак, мой вопрос: как мне заставить это работать, это кажется довольно простым - я хочу, чтобы две машины передавали весь трафик 192.168.1.0/24 напрямую через быструю ссылку 10Gbs, а все остальное должно проходить через шлюз по умолчанию.
Сети 10 Гбит - это новое дополнение, до того как все было добавлено, все было замечательно - я добавил сетевые карты 10 Гбит, чтобы получить быстрое соединение с сервером, чтобы я мог подключить iscsi к быстрому соединению с низкой задержкой.
# The loopback network interface auto lo iface lo inet loopback auto ens192 iface ens192 inet static address 192.168.0.200 netmask 255.255.255.0 gateway 192.168.0.1 dns-nameservers 192.168.0.201 dns-domain smith.local dns-domain cloud.local auto ens161 iface ens161 inet static address 192.168.1.200 netmask 255.255.255.0 # fast interface route post-up ip route add 192.168.1.0/24 dev ens161 src 192.168.1.200 table rt2 post-up ip route add default 192.168.1.49 dev ens161 table rt2 post-up ip rule add from 192.168.1.200/32 table rt2 post-up ip rule add to 192.168.1.200/32 table rt2
маршрут -n
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 ens192 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 ens192 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ens161
IP правило шоу
0: from all lookup local 32764: from all to 192.168.1.200 lookup rt2 32765: from 192.168.1.200 lookup rt2 32766: from all lookup main 32767: from all lookup default
таблица списка маршрутов ip rt2
192.168.1.0/24 dev ens161 scope link src 192.168.1.200
Таблица списка маршрутов IP
default via 192.168.0.1 dev ens192 onlink 192.168.0.0/24 dev ens192 proto kernel scope link src 192.168.0.200 192.168.1.0/24 dev ens161 proto kernel scope link src 192.168.1.200
Вам не нужна _any_ маршрутизация для прямого соединения / локальной подсети - маршрутизация только для выхода из подсети.
Attie 5 лет назад
2
Если вы физически отключаете старую сеть 192.168.0.0/24, можете ли вы общаться через новое прямое соединение 192.168.1.0/24? В Linux реализовано «[_weak host model_] (https://en.wikipedia.org/wiki/Host_model)», означающее, что вы можете получить ответ от его интерфейса 192.168.1.200 через физический интерфейс 102.168.0.200 ...
Attie 5 лет назад
1
Обе машины уже могут обмениваться данными по сети 192.168.1.0/24, но не по старой сети, что является моей настоящей проблемой. Если я отсоединяю кабель от Windows PC, то есть от старой сети (192.168.0.0/24) - тогда я также могу общаться в новой сети
Bjørn Bouet Smith 5 лет назад
0
Я использовал аналогичную настройку (хотя только с GigE) и не было проблем. Вам не нужен шлюз по умолчанию на любом из сетевых адаптеров, которые подключены напрямую, только на том, который подключен к маршрутизатору / коммутатору. Все, что находится в одной из подсетей 192.168.xx, должно автоматически использовать соответствующий NIC, а все остальное должно идти к шлюзу по умолчанию через NIC, который находится в той же подсети, что и он.
3D1T0R 5 лет назад
0
Если вы отключите кабель, который идет напрямую от одного компьютера к другому, все ли работает, как раньше?
3D1T0R 5 лет назад
0
Да. У меня есть два окна ping на моей машине, в то время как я пробую разные настройки на сервере Ubuntu. Когда я отключаю 10-гигабайтную ссылку, сеть 192.168.0.0/24 начинает отвечать, а другая, естественно, отключается. и наоборот, как только я подключаю его обратно, он перестает отвечать
Bjørn Bouet Smith 5 лет назад
0
Я не уверен, если это имеет какое-либо значение. Сервер Ubuntu - это виртуальная машина на другом физическом компьютере (esxi) - обе сетевые карты подключены к одному виртуальному коммутатору на esxi (так как я не мог понять, как настроить сетевую карту для использования другого виртуального коммутатора)
Bjørn Bouet Smith 5 лет назад
0
Это работает :-) Оказывается, я просто тупица :-) Мне удалось сделать еще один виртуальный коммутатор в esxi, поместить туда карту 10 ГБ и переместить виртуальную сетевую карту в этот коммутатор, и когда я снова запустил сервер, все просто заработало , Пусть это будет уроком для всех, разные физические сети должны быть на разных виртуальных коммутаторах в esxi.
Bjørn Bouet Smith 5 лет назад
0
"_Сервер Ubuntu - это виртуальная машина_" / "_ обе сетевые карты подключены к тому же виртуальному коммутатору на esxi_" - да, это важно! попробуй описать проблему полностью :-)
Attie 5 лет назад
0
1 ответ на вопрос
0
Bjørn Bouet Smith
Я больше поинтересовался, почему я не смог создать еще один виртуальный коммутатор, и обнаружил, что вы должны это сделать, поэтому мне удалось создать еще один виртуальный коммутатор в esxi, положить туда карту 10 ГБ и переместить виртуальную сетевую карту в этот коммутатор и когда я снова запустил сервер, все просто заработало.
Пусть это будет уроком для всех, разные физические сети должны быть на разных виртуальных коммутаторах в esxi.
Так что в действительности проблем не было вообще, это была проблема esxi, а не проблема linux. Linux отправлял пакеты правильно, но, по всей видимости, esxi их отбрасывал.