Вы здесь

gentoo не работает с vlan

У меня есть четкое ощущение, что gentoo не работает с vlan.

в конфиге /etc/conf.d/net:

slaves_bond0="eth0 eth1"
config_bond0=( "null" )
vlans_bond0="12 34"
vconfig_bond0=( "set_name_type VLAN_PLUS_VID_NO_PAD" )
config_vlan12=( "10.1.12.1 netmask 255.255.255.0" )
routes_vlan12=( "default via 10.1.12.254" )
config_vlan34=( "10.1.34.1 netmask 255.255.255.0" )
routes_vlan34=( "default via 10.1.34.254" )

интерфейсы поднимаются:

# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP qlen 1000
    link/ether 00:22:64:03:3d:d8 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP qlen 1000
    link/ether 00:22:64:03:3d:d8 brd ff:ff:ff:ff:ff:ff
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 00:22:64:03:3d:d8 brd ff:ff:ff:ff:ff:ff
5: vlan12@bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 00:22:64:03:3d:d8 brd ff:ff:ff:ff:ff:ff
6: vlan34@bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 00:22:64:03:3d:d8 brd ff:ff:ff:ff:ff:ff

роуты есть:

# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.1.12.0       *               255.255.255.0   U     0      0        0 vlan12
10.1.34.0       *               255.255.255.0   U     0      0        0 vlan34
loopback        *               255.0.0.0       U     0      0        0 lo
default         10.1.34.254    0.0.0.0          UG    0      0        0 vlan34
default         10.1.12.254    0.0.0.0          UG    1      0        0 vlan12

В итоге с любого хоста я пингую только первый указанный в списке влан, сколько бы их ни было.
На первом:

12:32:59.181558 IP 192.168.1.3 > 10.1.12.1: ICMP echo request, id 25245, seq 1, length 64
12:32:59.181571 IP 10.1.12.1 > 192.168.1.3: ICMP echo reply, id 25245, seq 1, length 64

На второй и последующий интерфейс те же пинги приходят (tcpdump:
12:19:56.459879 IP 192.168.1.3 > 10.1.34.1: ICMP echo request, id 24426, seq 785, length 64) но ответа нет.

Есть идеи?

без bound тоже не работает ?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

без bond смысла нет.
могу попробовать на одном eth но мне принципиальна работа поверх bond.

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

заменил:

config_eth0=( "null" )
vlans_eth0="12 34"
vconfig_eth0=( "set_name_type VLAN_PLUS_VID_NO_PAD" )
config_vlan12=( "10.1.12.1 netmask 255.255.255.0" )
routes_vlan12=( "default via 10.1.12.254" )
config_vlan34=( "10.1.34.1 netmask 255.255.255.0" )
routes_vlan34=( "default via 10.1.34.254" )

все то же самое.
причем, если развернуть
vlans_eth0="34 12", то будет работать "34", и не будут все остальные.

при этом с обоих vlan пингуется def.gw, с def.gw (cisco) пингуются оба ip.
но с любых других подсетей работает только первый.

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

А файервол? Там ничего нет?

Нащяльника, мая сервира паставиль, фрибизьдя инсталя сделаль, апачи сабраль, пыхапе патключиль, сапускаю, а ано - ажамбех пашамбе эшельбе шайтанама!

фаирвола вообще еще нет.

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

как по мне)) - то слишком громкое заявление для топика.. в gentoo вланы работают не хуже чем в других дистрибутивах и работа в режиме bonding не исключение)) тот факт что система не отвечает правильно на пинги еще не говарят о неправильной работе, а скорее всего о неправильной настройке.. у вас два default шлюза..
попробуйте в роутах добавить src адрес своих сетевух,
например вот так: routes_vlan34=( "default via 10.1.34.254 src 10.1.34.1" )
да и как то не понятно зачем несколько default шлюзов..

Цитата:
как по мне)) - то слишком громкое заявление для топика..

за то есть реакция. прошлый топик про вланы фактически был проигнорен, а тут кучка реплаев..

Цитата:
в gentoo вланы работают не хуже чем в других дистрибутивах

мне не удалось настроить по-вланное поднимание интерфейсов.
лично для меня - это заметно хуже (по удобству), чем в том же rh/sles.

Цитата:
тот факт что система не отвечает правильно на пинги еще не говарят о неправильной работе, а скорее всего о неправильной настройке

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

Цитата:
например вот так: routes_vlan34=( "default via 10.1.34.254 src 10.1.34.1" )

попробовал.
ничего не изменилось.

Цитата:
да и как то не понятно зачем несколько default шлюзов

появилось в процессе.
попробовал оставить второй влан без шлюза - то же самое.

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

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

slaves_bond0="eth8 eth9"
config_bond0=( "172.16.1.254/24" )

vlans_bond0="22 49 .."
vconfig_bond0=( "set_name_type DEV_PLUS_VID_NO_PAD" )
vconfig_bond0_22=( "set_flag 1" "set_egress_map 2 6" )
vconfig_bond0_49=( "set_flag 1" "set_egress_map 2 6" )
config_bond0_22=( "null" )
config_bond0_49=( "null" )
..

src адреса на интерфейсы вланов вешает zebra, за маршрутами динамически следит ospfd (пакет quaqqа)

кстати попробуйте вот так:
slaves_bond0="eth0 eth1"
config_bond0=( "null" )
vlans_bond0="12 34"
vconfig_bond0=( "set_name_type DEV_PLUS_VID_NO_PAD" )
vconfig_bond0_12=( "set_flag 1" "set_egress_map 2 6" )
vconfig_bond0_34=( "set_flag 1" "set_egress_map 2 6" )
config_bond0_12=( "10.1.12.1 netmask 255.255.255.0" )
config_bond0_34=( "10.1.34.1 netmask 255.255.255.0" )

я попробовал вариант с "set_name_type DEV_PLUS_VID_NO_PAD"
ничего не изменилось.

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

у меня всё работает в том виде в котором я вам написал..
я что то делаю не так?

из какого-нибудь третьего влана пингуются все ip вланов на машине?

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

с пингом в вланах проблемм нет.. и трафик летит исправно..
вот только шлюзов по умолчанию нет (трафик в пределах сетей /24)

ха, так в пределах /24 и у меня все работает. с обоих гейты пингуются и с гейта оба пингуются.

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

тогда я не понимаю почему вы грешите на неправильную работу вланов, когда у вас проблеммы с настройкой маршрутизации.. трафик у вас между интерфейсами форвардится? без проблемм ходит по lo? как с ping -I vlan12 10.1.34.1 ??

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

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

easy_john написал:
потому, что до генты пинг-пакет доходит. через всю маршрутизацию. а реплая на него гента не делает.

Она его делает - только через default шлюз, т.е. через другой ифейс - посмотрите :)

Посмотрите http://www.n-ix.com/ipesin/translations/howto/lartc/lartc.html#ROUTINGFORMULTIPLEUPLINKSPROVIDERS

если я делаю два дефолтных шлюза - ничего не меняется.

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

Если не ошибаюсь, с двумя дефолтными шлюзами так не будет - у них разная метрика и используется один на самом деле.
Я был прав про ответ на пинги через другой интерфейс?
Думаю, надо делать, как по ссылке выше

не понял, что про ответ на пинги?

в итоге не работает ни с одним гейтом ни с двумя.

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

У вас есть два интерфеса: vlan12 и vlan34.
Vlan34 пингуется, влан 12 - нет.

Делаете извне пинг IP на влане 12 и слушаете: tcpdump -i vlan12 icmp и tcpdump -i vlan34 icmp
Думаю, на vlan12 будете слышать реквесты, а на 34 - реплаи.

нет, пинг приходит, а реплаев нет, т.к. линукс не знает куда ему ответить.
в итоге реплаев нет нигде.

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

Так не бывает.
Когда линукс не знает куда ему ответить, он отвечает на default

бывает.
вот пример:

$ ping 10.1.192.5
PING 10.1.192.5 (10.1.192.5) 56(84) bytes of data.
--- 10.1.192.5 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 3999ms

вот дамп нижележащего сетевого интерфейса:

# tcpdump -nei eth0 icmp
tcpdump: WARNING: eth0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
11:31:40.980760 00:1e:f7:a4:cb:c7 > 00:22:64:03:3d:d8, ethertype 802.1Q (0x8100), length 102: vlan 192, p 0, ethertype IPv4, 192.168.1.3 > 10.1.192.5: ICMP echo request, id 28129, seq 1, length 64
11:31:41.980320 00:1e:f7:a4:cb:c7 > 00:22:64:03:3d:d8, ethertype 802.1Q (0x8100), length 102: vlan 192, p 0, ethertype IPv4, 192.168.1.3 > 10.1.192.5: ICMP echo request, id 28129, seq 2, length 64
11:31:42.980260 00:1e:f7:a4:cb:c7 > 00:22:64:03:3d:d8, ethertype 802.1Q (0x8100), length 102: vlan 192, p 0, ethertype IPv4, 192.168.1.3 > 10.1.192.5: ICMP echo request, id 28129, seq 3, length 64

пинги приходят, но ответа нет ни по одному интерфейсу. ip_forward включен.

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

Покажите ip ro li, ifconfig , iptables-save
А также cat /proc/sys/net/ipv4/ip_forward и ip ru li

UPD: и ,да, прибейте какойто ip на eth0 для проверки. вроде у меня были какие-то глюки с вланами если на parent_if не было ip.

отвечу ниже, на след. странице, а то невозможно читать.

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

easy_john написал:
потому, что до генты пинг-пакет доходит. через всю маршрутизацию. а реплая на него гента не делает.
сейчас для сравнения поставлю sles какой-нибудь, проверю на этой же циске как он себя ведет.

етим сравнением вы лишь выявите отличия в первичных снастройках маршрутизации.. незнаю как там в sles, но в gentoo по-умолчанию ети возможности ограничены.. в ссылке которую вам дали информации более чем достаточно..
для начала можно сделать
iptables -I INPUT 1 -i lo -j ACCEPT
iptables -I OUTPUT 1 -o lo -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
и посматреть пойдет ли ping -I vlan12 10.1.34.1 (пинг шлюза друго влана, видимо он тоже не работет как доказательство что проблемма не в циске и не в вланах)

форвардинг включил, разницы никакой нет.
пинг не ходит.

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

andrr написал:
у меня всё работает в том виде в котором я вам написал..
я что то делаю не так?

А у вас тоже Сиска к Линуксу подключена?

edge-core ES4548D (LACP, Trunk Load Balance Mode - Src-Dst-Ip ) <-> gentoo (options bond0 mode=4 miimon=1000 lacp_rate=fast xmit_hash_policy=1)
претензий к работе не имею..

И причем здесь Генту?!
У меня под Генту на серверах/рутерах VLAN'ы уже сколько лет висят по 5-10 штук на NIC'e.
Дайте конфиг кернеля, что ли... и еще не ваш конфиг (как вы думаете), а то, что система видит

ip a

и

ip r

Цитата:
И причем здесь Генту?!

аналогичная настройка на rh/sles работает.

Цитата:
Дайте конфиг кернеля, что ли... и еще не ваш конфиг (как вы думаете), а то, что система видит

да запросто.

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP qlen 1000
    link/ether 00:22:64:03:3d:d8 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP qlen 1000
    link/ether 00:22:64:03:3d:d8 brd ff:ff:ff:ff:ff:ff
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 00:22:64:03:3d:d8 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::222:64ff:fe03:3dd8/64 scope link 
       valid_lft forever preferred_lft forever
5: vlan34@bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 00:22:64:03:3d:d8 brd ff:ff:ff:ff:ff:ff
    inet 10.1.34.1/24 brd 10.1.34.255 scope global vlan34
    inet6 fe80::222:64ff:fe03:3dd8/64 scope link 
       valid_lft forever preferred_lft forever
6: vlan12@bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 00:22:64:03:3d:d8 brd ff:ff:ff:ff:ff:ff
    inet 10.1.12.1/24 brd 10.1.12.255 scope global vlan12
    inet6 fe80::222:64ff:fe03:3dd8/64 scope link 
       valid_lft forever preferred_lft forever

# ip r
10.1.12.0/24 dev vlan12  proto kernel  scope link  src 10.1.12.1 
10.1.34.0/24 dev vlan34  proto kernel  scope link  src 10.1.34.1 
127.0.0.0/8 dev lo  scope link 
default via 10.1.34.254 dev vlan34 
default via 10.1.12.254 dev vlan12  metric 1 

Симптомы прежние - первый в списке влан работает(в данном случае это "34"), второй (и остальные, если их указать) - нет.
Не ходят пинги из других подсетей, нельзя подключиться к сервисам (да тот же ssh).

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

даю ссылочку http://coredidan.blogspot.com/

написано:
Почему-то с конструкцией "NULL" в виде адреса интерфейса не создавались вланы, поэтому прописал фейковые адреса.

может туда вам надобно?

с "null" работает) - приводил пример выше, правда с EC ES4548D, но ето не принципиально..
автор статьи тоже видимо не понял что значит "set_name_type DEV_PLUS_VID_NO_PAD"
и как описывать при етом вланы..

Да уж, интересная проблемка получается...

1. Дайте топологию сети (например, откуда приходит 192.168.1.3?).
2. Как снимался tcpdump (полностью команда).
3. iptables -nvL и iptables -nvL -t nat
4. Используется ли ebtables?
5. Что стоит за eth0 и eth1?
6. У вас неправильный MTU на VLAN'ах - должно быть 1496!

1. топология
клиент [192.168.1.3] ---> [с2960] --vlan1_untag--> [с3560] --vlans 12,34,56_tag--> [gentoo server]

на 3560 роутинг между вланами, для теста без acl и т.п.
вланы прописаны идентично.

2. tcpdump -i vlan12
3. iptables не запускался (все цепочки accept по обоим командам)
4. нет.
5. непосредственно в c3560. для примера выше я вешал без bond, только на eth0 - то же самое.
6. пинг все равно должен ходить.

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

О, если у вас Сиска, то действительно могут быть нюансы... У меня недавно были похожие VLAN проблемы с с3570 - удалось пока что только найти workaround, а нормального решения пока нет...

я проверял это на 6509 и на 3560, в обоих варианта гента ведет себя так.

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

Так я и говорю - Сиска глючит. С Прокурвой или другими Линукс-боксами проблем нет.

ок, а причина глюков ясна?
какие обходные маневры?

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

bridge с другим интерфейсом (я сделал на dummy интерфейс, поскольку он мне был не нужен) и, конечно, правильный MTU :)

не понял про бридж. как что сделано?

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

PS развернул тестовый sles с гарантированно рабочим конфигом, получил тот же эффект. в итоге проблема не в генту а в циске.

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

Tak вам сразу говорили, что Генту непричем! :)

А что непонятно с мостом?!
Просто 2 интерфейса об'единены мостом средствами Линукса.

Пашет без каких либо проблем и никаких ошибок на интерфейсах уже около месяца.

циска то же не при чем вроде. вот тут http://community.livejournal.com/cisco_ru/312097.html выяснили, что она судя по всему ведет себя адекватно, а вот линукс так работать не должен.

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

кстати да, рабочий вариант у меня был на прокурвах.
может циску однаковые маки на вланных сетевухах смущают?

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

нет, так и должно быть - как же вы иначе посадите ВЛАН'ы :)

а напишите ка ей no spaning-tree что то изменится?

на ходу - не могу. а при чем тут stp?

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

Я чото не понял. А конкретно.
1) как понял , есть фейс с несколькими таггед вланами. не понял, что хотим получить в результате.
2) пинги туда, пинги сюда - тоц не понял. Влан в данной реализации тупо теггирует пакет, и что куда зачем и как - глубоко пофик. Естественно, что во влан пакет с другим тегом не лезет. В очередной раз не понял, что надо получить в результате и что хотел сделать топикстратер ?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Если Вы не поняли, то читайте, думайте, и НИЧЕГО НЕ ПИШИТЕ пока не поймете...
А этот топик не для того, чтобы ВАМ объяснять, чего хочет ТС.
Кроме того, модератору надо бы владеть НОРМАЛЬНЫМ русским языком...

человек видимо желает собрать роутер на gentoo и у человека есть железка, которая поддерживает lacp.. совсем не странно, что он желает распределить нагрузку и объединить интерфейсы в bonding, навесить вланы, и растегировать их уже гдето на выходе с железки (или еще дальше)..
но вот пока что чуть не выходит прописать вланы..

просто сервер, где каждый сервис (в зависимости от нужд) висит в своем влане, т.к. в продакшене между вланами жесткие правила фаирвола.
lacp - постольку, поскольку могу. если бы без него работало - меня устроило бы. но не работает.
сейчас для теста - роутинг на 3560, без acl, все вланы должны работать насквозь.
для примера sles10 в такой конфигурации работал.

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

Должны.
На 3560 дебаг что говорит ?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

а при чем тут дебаг 3560 (дебаг что именно?), если пинг приходит во второй влан на сервере, его видно дампом, а реплая нет.
на 3560 мы увидим то же самое, пинг мимо проскочил а обратно не вернулся.

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

Может фаервол .

фаирвола нет вообще, ни на линуксе, ни на циске.

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

Цитата:
Покажите ip ro li,

# ip ro li
10.1.128.0/24 dev vlan128 proto kernel scope link src 10.1.128.2
10.1.210.0/24 dev vlan210 proto kernel scope link src 10.1.210.1
10.1.192.0/24 dev vlan192 proto kernel scope link src 10.1.192.5
127.0.0.0/8 dev lo scope link
default via 10.1.210.254 dev vlan210

Цитата:
ifconfig ,

# ifconfig
bond0 Link encap:Ethernet HWaddr 00:22:64:03:3d:d8
inet6 addr: fe80::222:64ff:fe03:3dd8/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:1737302 errors:0 dropped:0 overruns:0 frame:0
TX packets:47615 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:180212874 (171.8 MiB) TX bytes:24804205 (23.6 MiB)

eth0 Link encap:Ethernet HWaddr 00:22:64:03:3d:d8
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:879747 errors:0 dropped:0 overruns:0 frame:0
TX packets:44800 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:100789811 (96.1 MiB) TX bytes:24624045 (23.4 MiB)
Interrupt:16 Memory:f6000000-f6012800

eth1 Link encap:Ethernet HWaddr 00:22:64:03:3d:d8
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:857555 errors:0 dropped:0 overruns:0 frame:0
TX packets:2815 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:79423063 (75.7 MiB) TX bytes:180160 (175.9 KiB)
Interrupt:16 Memory:fa000000-fa012800

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:12038 errors:0 dropped:0 overruns:0 frame:0
TX packets:12038 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:249769 (243.9 KiB) TX bytes:249769 (243.9 KiB)

vlan128 Link encap:Ethernet HWaddr 00:22:64:03:3d:d8
inet addr:10.1.128.2 Bcast:10.1.128.255 Mask:255.255.255.0
inet6 addr: fe80::222:64ff:fe03:3dd8/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:506891 errors:0 dropped:0 overruns:0 frame:0
TX packets:2849 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:35988065 (34.3 MiB) TX bytes:92116 (89.9 KiB)

vlan192 Link encap:Ethernet HWaddr 00:22:64:03:3d:d8
inet addr:10.1.192.5 Bcast:10.1.192.255 Mask:255.255.255.0
inet6 addr: fe80::222:64ff:fe03:3dd8/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:342868 errors:0 dropped:0 overruns:0 frame:0
TX packets:2960 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:24227989 (23.1 MiB) TX bytes:102741 (100.3 KiB)

vlan210 Link encap:Ethernet HWaddr 00:22:64:03:3d:d8
inet addr:10.1.210.1 Bcast:10.1.210.255 Mask:255.255.255.0
inet6 addr: fe80::222:64ff:fe03:3dd8/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:29970 errors:0 dropped:0 overruns:0 frame:0
TX packets:27872 errors:0 dropped:5 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:21217678 (20.2 MiB) TX bytes:23187934 (22.1 MiB)

Цитата:
iptables-save

# iptables-save
# Generated by iptables-save v1.4.6 on Wed Oct 6 15:51:50 2010
*nat
:PREROUTING ACCEPT [594:44180]
:OUTPUT ACCEPT [355:23179]
:POSTROUTING ACCEPT [355:23179]
COMMIT
# Completed on Wed Oct 6 15:51:50 2010
# Generated by iptables-save v1.4.6 on Wed Oct 6 15:51:50 2010
*filter
:INPUT ACCEPT [31606:21370958]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [26390:23119743]
COMMIT
# Completed on Wed Oct 6 15:51:50 2010

Цитата:
А также cat /proc/sys/net/ipv4/ip_forward и

# cat /proc/sys/net/ipv4/ip_forward
1

Цитата:
ip ru li

# ip ru li
RTNETLINK answers: Operation not supported
Dump terminated

Цитата:
UPD: и ,да, прибейте какойто ip на eth0 для проверки. вроде у меня были какие-то глюки с вланами если на parent_if не было ip.

ээ.. пока не буду.

весь вопрос в том, что я сам сейчас не понимаю, почему это работало раньше.
ведь если пакет пришел из другой подсети скажем в vlan192, то куда ответить линуксу - совершенно не ясно, у него нет роута на деф.гейт в этом влане.

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

Если пинг внутри сети каждого влана ходит, а пинг из другой сети ходит только на тот интерфейс, через который есть default (с наименьшей метрикой), то проблема не в вланах, а в маршрутизации. Попробуйте удалить все дефолты, а потом добавить один через другой влан - пинг должен пойти на этот IP, а в остальных пропасть.
Если это так, способ сделать чтоб работало так, как вы хотите, написано по ссылке выше (Linux advanced Routing).
А вот почему нет реплаев не знаю, по логике они должны быть..

Цитата:
куда ответить линуксу - совершенно не ясно, у него нет роута на деф.гейт в этом влане.

Если у вас включен ip_forward, то это как раз ясно - он должен отвечать на default.

> Попробуйте удалить все дефолты, а потом добавить один через другой влан - пинг должен пойти на этот IP, а в остальных пропасть.

так и есть.

> Если у вас включен ip_forward, то это как раз ясно - он должен отвечать на default.

не отвечает. по дампу пакет приходит, но ответа на него во всех вланах, кроме того, где есть def.gw нет.

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

> написано по ссылке выше (Linux advanced Routing).

ip rule у меня не хочет срабатывать. RTNETLINK answers: Operation not supported

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

В ядре надо что-то включить.
Вроде CONFIG_IP_ADVANCED_ROUTER=y

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

Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]

easy_john написал:
из какого-нибудь третьего влана пингуются все ip вланов на машине?

easy_john написал:
потому, что до генты пинг-пакет доходит. через всю маршрутизацию. а реплая на него гента не делает.
сейчас для сравнения поставлю sles какой-нибудь, проверю на этой же циске как он себя ведет.

easy_john написал:
нет, пинг приходит, а реплаев нет, т.к. линукс не знает куда ему ответить.
в итоге реплаев нет нигде.

дело в том, что, скорее всего, в sles значения по умолчанию такие:
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.all.rp_filter=0

а в gentoo в /etc/sysctl.conf по умолчанию написано:
# Enables source route verification
net.ipv4.conf.default.rp_filter = 1
# Enable reverse path
net.ipv4.conf.all.rp_filter = 1