LINUX.ORG.RU
ФорумAdmin

Не работает маршрутизация для VLANов

 ,


1

1

Подключил 2 айпи на 2 физические сетевых: eth0,eth1 - настроил маршрутизацию:

routring rules

#!/bin/sh

TABLE1=eth0
IF1=eth0
M1=100
IP1=37.110.102.225
GATE1=37.110.96.1

TABLE2=eth1
IF2=eth1
M2=102
IP2=178.140.184.204
GATE2=178.140.184.1

ip route flush table $TABLE1
ip route add default via $GATE1 dev $IF1 table $TABLE1
ip route del default via $GATE1 dev $IF1
ip route add default via $GATE1 dev $IF1 metric $M1
ip rule del table $TABLE1
ip rule add from $IP1 table $TABLE1

ip route flush table $TABLE2
ip route add default via $GATE2 dev $IF2 table $TABLE2
ip route del default via $GATE2 dev $IF2
ip route add default via $GATE2 dev $IF2 metric $M2
ip rule del table $TABLE2
ip rule add from $IP2 table $TABLE2

ip rule

0: from all lookup local
32760: from 178.140.184.204 lookup eth1
32761: from 37.110.102.225 lookup eth0
32766: from all lookup main
32767: from all lookup default

ip route list table main

default via 37.110.102.225 dev eth0 metric 100
default via 178.140.184.204 dev eth1 metric 101
37.110.96.0/20 dev eth0 proto kernel scope link src 37.110.102.225
178.140.184.0/21 dev eth1 proto kernel scope link src 178.140.184.204

ip route list table eth0

default via 37.110.102.225 dev eth0

ip route list table eth1

default via 178.140.184.204 dev eth1

Так работает, оба айпи (с 2 физических сетевых) видно снаружи, изнутри можно с них выходить в интернет через свой интерфейс (т.е. eth0 выходит в инет через eth0, eth1 через eth1)

Отключаю eth1, в eth0 вместо шнурка от провайдера вставляю шнурок от свича с VLANами (где другие шнурки от провайдера воткнуты), перенастраиваю интерфейсы, поднимаю эту же маршрутизацию (изменив айпи, гейтвеи и т.п.)

Но не работает, с одного из eth0.X все нормально в инет выходит, с остальных идет потеря пакетов 90-99%, лишь изредка проходит icmp reply. Извне пингуются все айпи, которые выдаются на эти eth0.X Если одновременно начать пинговать с 2 интерфейсов - оба начинают жутко лагать и терять пакеты

Что я упустил?

изнутри можно с них выходить в интернет через свой интерфейс (т.е. eth0 выходит в инет через eth0

Я не совсем понял эту фразу, но если подразумевается:

ping -I eth0 ya.ru

то это тоже самое, что и

ping -I 37.110.102.225 ya.ru

так что попробуйте пинговать с указанием ip-адресов, а не eth0.X интерфейсов.

И хорошо бы, чтобы вы показали и сами посмотрели адреса, маршруты, правила для неработающего случая с VLAN, может у вас в таблицах остаются адреса/правила для случая eth0+eth1, которые и мешают. Ну, и конечно, есть ещё вариант, что виноват свич.

mky ★★★★★
()

с остальных идет потеря пакетов 90-99%, лишь изредка проходит icmp reply

Свитч точно целиком жив?

вставляю шнурок от свича с VLANами (где другие шнурки от провайдера воткнуты), перенастраиваю интерфейсы

а зачем перенастраивать интерфейсы, если это l2-свитч?

Видимо, я что-то не понимаю, возможно, схема топологии с пояснениями помогла бы.

pianolender ★★★
()
Ответ на: комментарий от pianolender

схема топологии с пояснениями помогла бы.

Чердкак, оттуда из свича провайдера идет 10 клиенстких шнурков с интернетом -> Они вставляются в свич у меня дома, для каждого настроен VLAN (чтобы не было конфликтов мак-адресов у провайдера). Через 1 tagged порт из свича идет шнурок в компьютер, где и требуется все это настроить с возможность выхода в интернет через каждый из «шнурков»

так что попробуйте пинговать с указанием ip-адресов, а не eth0.X интерфейсов. - без разницы

Если я подниму через бридж на виртуалбоксе 4 сетевых (на разные вланы ) -все работает, по этому гдето проблемы с конфигурацией маршрутов на хосте

outside
() автор топика
Ответ на: комментарий от outside

по этому гдето проблемы с конфигурацией маршрутов на хосте

Ну дак покажите конфигурацию маршрутов и правил в проблемном случае.

И ещё, посмотрите пакеты с помощью tcpdump. Причём лучше все на всех интерфейсах, возможно, что проблема в arp-запросах и ответах.

для каждого настроен VLAN (чтобы не было конфликтов мак-адресов у провайдера)

Вот этой части я не понял, ваш компьютер ведь в каждом VLAN будет иметь один и тот же MAC-адрес, совпадающий с MAC-адресом на eth0. VLAN решает проблему закольцовки, но если у провайдера защита от одинаковых MAC-адресов на разных портах, VLAN не поможет.

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.