LINUX.ORG.RU
ФорумAdmin

CentOS бридж куда-то девает пакеты


0

1

Есть CentOS 6, выступает в виде бриджа (br0) между Ethernet-сетью (eth1) и OpenVPN tap интерфейсом (tap0):

eth1  Link encap:Ethernet  HWaddr 00:1B:21:59:E4:71  
      inet6 addr: fe80::21b:21ff:fe59:e471/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:563085853 errors:10 dropped:0 overruns:0 frame:6
      TX packets:656104975 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:3819880386 (3.5 GiB)  TX bytes:3113574154 (2.8 GiB)

tap0  Link encap:Ethernet  HWaddr CE:F8:E9:6E:FF:D5  
      inet6 addr: fe80::ccf8:e9ff:fe6e:ffd5/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:13216440 errors:0 dropped:0 overruns:0 frame:0
      TX packets:15569575 errors:0 dropped:241 overruns:0 carrier:0
      collisions:0 txqueuelen:100 
      RX bytes:2272515086 (2.1 GiB)  TX bytes:1919848167 (1.7 GiB)

br0   Link encap:Ethernet  HWaddr 00:1B:21:59:E4:71  
      inet addr:192.168.133.1  Bcast:192.168.133.255  Mask:255.255.255.0
      inet6 addr: fe80::21b:21ff:fe59:e471/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:574275330 errors:0 dropped:0 overruns:0 frame:0
      TX packets:418958268 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:1236428850 (1.1 GiB)  TX bytes:1242378686 (1.1 GiB)

[root@router stigger]# brctl show
bridge name bridge id       STP enabled interfaces
br0     8000.001b2159e471   no          eth1
                                        tap0

В этой сбридженной сети есть MySQL сервер (взят для примера, проблема проявляется и с любыми другими сервисами) 192.168.133.30 (находится за tap0) и клиент (192.168.133.145, доступен через eth1) который пытается подсоединиться к MySQL серверу через бридж. Когда я пытаюсь телнетом подключиться с 192.168.133.145 на 192.168.133.30:3306, TCP-соединение устанавливается, но приветствие MySQL отсутствует. Если то же самое проделываю напрямую с бриджа — всё нормально.

Я попытался сдампить трафик tcpdump'ом и выяснил что пакет с приветствием MySQL приходит через tap0, попадает в br0, но не уходит через eth1! Как такое возможно? Как починить?

Дампы со всех трёх интерфейсов: http://dl.stigger.psihaven.com/files/dumps.zip

Дополнительная информация:

[root@router stigger]# brctl showmacs br0
port no mac addr        is local?   ageing timer
  2 00:ff:04:e1:10:e9   no         0.01
  1 3c:07:54:0b:a6:38   no         0.00

[root@router stigger]# arp -a
? (192.168.133.30) at 00:ff:04:e1:10:e9 [ether] on br0
? (192.168.133.145) at 3c:07:54:0b:a6:38 [ether] on br0

[root@router stigger]# ebtables -L
Bridge table: filter

Bridge chain: INPUT, entries: 0, policy: ACCEPT

Bridge chain: FORWARD, entries: 0, policy: ACCEPT

Bridge chain: OUTPUT, entries: 0, policy: ACCEPT


У вас почему-то в дампе tap0 пакетов от клиента к серверу (192.168.133.145.54002 > 192.168.133.30.3306) на один больше, чем в дампе на eth1. Может у вас включена фильтрация пакетов через iptables, и там стоит REJECT или ещё какое запрещающее правило. Что в файлах /proc/sys/net/bridge/ ?

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

в /proc/sys/net/bridge/ всё по нулям, в iptables для данного маршрута всё разрешено, пробовал даже явно первым правилом ACCEPT на всё втыкать — не помогло.

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

Что в arp-таблицах MySQL-сервера и клиентской машины?

Я не совсем уверен, но как-то странно, что в дампе tap0 интерфейса от клиента к серверу идёт пакет с mac-адресами 3c:07:54:0b:a6:38 > 00:ff:04:e1:10:e9

а в обратную сторону:

00:ff:04:e1:10:e9 > 00:1b:21:59:e4:71

то есть на MAC-адрес br0. И rst пакет идёт с этого mac-адреса. Может попробовать на MySQL сервере руками вбить arp-запись для клинета и посмотреть что это даст...

mky ★★★★★
()

Покажи

iptables-save

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

iptables:

[root@router stigger]# iptables-save 
# Generated by iptables-save v1.4.7 on Tue Feb 21 03:53:49 2012
*filter
:INPUT DROP [1856530:132491100]
:FORWARD ACCEPT [61015517:42252672269]
:OUTPUT ACCEPT [284576079:381934004319]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p gre -j ACCEPT 
-A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT 
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT 
-A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT 
-A INPUT -p udp -m udp --dport 1194 -j ACCEPT 
-A INPUT -p udp -m udp --dport 1195 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 5060 -j ACCEPT 
-A INPUT -p udp -m udp --dport 5060 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 2301 -j ACCEPT 
-A INPUT -i br0 -j ACCEPT 
-A INPUT -i tun0 -p udp -m udp --dport 53 -j ACCEPT 
-A INPUT -i tun0 -p tcp -m tcp --dport 53 -j ACCEPT 
-A INPUT -i tun0 -p tcp -m tcp --dport 82 -j ACCEPT 
-A INPUT -i tun0 -p tcp -m tcp --dport 3306 -j ACCEPT 
-A INPUT -i tun0 -p tcp -m tcp --dport 61613 -j ACCEPT 
-A INPUT -i tun0 -p tcp -m tcp --dport 61616 -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 32400 -j ACCEPT 
-A FORWARD -s 192.168.134.0/24 -d 192.168.133.0/24 -j DROP 
-A FORWARD -s 192.168.133.0/24 -d 192.168.134.0/24 -j DROP 
COMMIT
# Completed on Tue Feb 21 03:53:49 2012
# Generated by iptables-save v1.4.7 on Tue Feb 21 03:53:49 2012
*nat
:PREROUTING ACCEPT [23223522:1560326913]
:POSTROUTING ACCEPT [6877226:436185976]
:OUTPUT ACCEPT [6383900:427224900]
-A PREROUTING -p tcp -m tcp --dport 8010 -j DNAT --to-destination 192.168.133.145 
-A PREROUTING -p tcp -m tcp --dport 2303 -j DNAT --to-destination 192.168.133.97:2303 
-A PREROUTING -p tcp -m tcp --dport 6881 -j DNAT --to-destination 192.168.133.97:6881 
-A PREROUTING -p tcp -m tcp --dport 8011 -j DNAT --to-destination 192.168.133.96 
-A PREROUTING -p tcp -m tcp --dport 16000 -j DNAT --to-destination 192.168.133.97 
-A PREROUTING -d 192.168.133.1/32 -i br0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.133.1:81 
-A PREROUTING -d 192.168.133.1/32 -i tun0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.133.1:82 
-A POSTROUTING -s 192.168.133.0/24 -j MASQUERADE 
-A POSTROUTING -s 192.168.134.0/24 -j MASQUERADE 
COMMIT
# Completed on Tue Feb 21 03:53:49 2012

/sys/class/net/br0/bridge/*:

/sys/class/net/br0/bridge/ageing_time:
29995
/sys/class/net/br0/bridge/bridge_id:
8000.001b2159e471
/sys/class/net/br0/bridge/flush:
cat: ./flush: Permission denied
/sys/class/net/br0/bridge/forward_delay:
1499
/sys/class/net/br0/bridge/gc_timer:
707
/sys/class/net/br0/bridge/group_addr:
1:80:c2:0:0:0
/sys/class/net/br0/bridge/hash_elasticity:
4
/sys/class/net/br0/bridge/hash_max:
512
/sys/class/net/br0/bridge/hello_time:
199
/sys/class/net/br0/bridge/hello_timer:
105
/sys/class/net/br0/bridge/max_age:
1999
/sys/class/net/br0/bridge/multicast_last_member_count:
2
/sys/class/net/br0/bridge/multicast_last_member_interval:
99
/sys/class/net/br0/bridge/multicast_membership_interval:
25996
/sys/class/net/br0/bridge/multicast_querier_interval:
25496
/sys/class/net/br0/bridge/multicast_query_interval:
12498
/sys/class/net/br0/bridge/multicast_query_response_interval:
999
/sys/class/net/br0/bridge/multicast_router:
1
/sys/class/net/br0/bridge/multicast_snooping:
1
/sys/class/net/br0/bridge/multicast_startup_query_count:
2
/sys/class/net/br0/bridge/multicast_startup_query_interval:
3124
/sys/class/net/br0/bridge/priority:
32768
/sys/class/net/br0/bridge/root_id:
8000.001b2159e471
/sys/class/net/br0/bridge/root_path_cost:
0
/sys/class/net/br0/bridge/root_port:
0
/sys/class/net/br0/bridge/stp_state:
0
/sys/class/net/br0/bridge/tcn_timer:
0
/sys/class/net/br0/bridge/topology_change:
0
/sys/class/net/br0/bridge/topology_change_detected:
0
/sys/class/net/br0/bridge/topology_change_timer:
0
stigger
() автор топика
Ответ на: комментарий от mky

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

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