Boot aleatoriamente deixa eth1 incapaz de enviar, mas pode receber

1

No meu servidor Ubuntu 14.04 com dual NICS, a NIC conectada ao roteador, eth1 , irá, logo após a inicialização, estar aleatoriamente em um estado em que possa ouvir, mas não enviar. Eu uso o Wireshark para monitorar a interface. O roteador está funcionando.

A placa é uma PCI Express, conexão de rede Intel PRO / 1000 . Eu não notei nenhuma diferença na saída DMESG - sempre informa que eth1 está ativo. A saída ifconfig eth1 também parece normal, exceto que a contagem de pacotes de transmissão é sempre baixa.

Outra anomalia é que o DMESG relata que o IPv6 está envolvido em ambas as interfaces, mas eu não uso e não utilizarei o IPv6.

O eth0 funciona muito bem - é uma conexão direta com um dispositivo.

Eu vejo que tenho avisos de que a ACPI tem recursos 'conflitos' mas nenhum outro aviso de inicialização. O computador é essencialmente uma área de trabalho (personalizada), não um notebook.

Como faço para solucionar isso? Existem outros logs que devo examinar ou solucionar problemas de comandos? De alguma forma, instalar um driver diferente?

Sou apenas um usuário LINUX tentando aprender o suficiente para que uma máquina funcione corretamente.

EDITAR

Não há diferença entre as saídas de " route -n " nem " ip route ", exceto que a ordem das duas últimas linhas geradas pela rota-n pode ser revertida. Não tenho dados suficientes para saber se estão sempre invertidos. 169.254.19.63 é o dispositivo conectado diretamente e 192.168.11.0 é o roteador.

SUCCESS
ip route
default via 192.168.11.1 dev eth1 
169.254.19.63 dev eth0  scope link 
192.168.11.0/24 dev eth1  proto kernel  scope link  src 192.168.11.219 
192.168.11.0/24 dev eth0  proto kernel  scope link  src 192.168.11.211 
route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.11.1    0.0.0.0         UG    0      0        0 eth1
169.254.19.63   0.0.0.0         255.255.255.255 UH    0      0        0 eth0
192.168.11.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.11.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

FAILURE
ip route
default via 192.168.11.1 dev eth1 
169.254.19.63 dev eth0  scope link 
192.168.11.0/24 dev eth0  proto kernel  scope link  src 192.168.11.211 
192.168.11.0/24 dev eth1  proto kernel  scope link  src 192.168.11.219 
route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.11.1    0.0.0.0         UG    0      0        0 eth1
169.254.19.63   0.0.0.0         255.255.255.255 UH    0      0        0 eth0
192.168.11.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.11.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1

EDITAR

Alterou o endereço IP de eth0 para 169.254.19.211, o mesmo domínio do dispositivo. A eth1 ainda falha frequentemente. Abaixo está a saída para route -n e ip route . Eu tentei conexões ssh e http de um notebook para o computador durante o estado "falhou" desta vez eles trabalharam! O Wireshark mostra que nada é emitido da eth1 se eu tentar fazer um ping ou carregar uma página da web na eth1, mas mostrar o tráfego de páginas ssh e web de entrada.

Idêntico para eth1 trabalhando e não.

ip route
default via 192.168.11.1 dev eth1 
169.254.0.0/16 dev eth0  proto kernel  scope link  src 169.254.19.211 
169.254.19.63 dev eth0  scope link 
192.168.11.0/24 dev eth1  proto kernel  scope link  src 192.168.11.219 
route -n
Kernel IP routing table
Destination    Gateway        Genmask         Flags Metric Ref    Use Iface
0.0.0.0        192.168.11.1   0.0.0.0         UG    0      0        0 eth1
169.254.0.0    0.0.0.0        255.255.0.0     U     0      0        0 eth0
169.254.19.63  0.0.0.0        255.255.255.255 UH    0      0        0 eth0
192.168.11.0   0.0.0.0        255.255.255.0   U     0      0        0 eth1

EDIT O ... / interfaces e ... / 70-persistent-net.rules estão abaixo. Você está sugerindo que seria melhor trocar a eth0 pela eth1 e vice-versa?

Não tenho ideia de como definir o percurso manualmente.

/ etc / network / interfaces (atualizado em 26 de janeiro)

# The loopback network interface
auto lo
iface lo inet loopback

# primary network interface left port 
auto eth0
iface eth0 inet static
address 192.168.11.219
netmask 255.255.255.0
gateway 192.168.11.1
dns-nameservers 99.99.99.53 8.8.8.8 8.8.4.4

# The camera interface right port
auto eth1
iface eth0 inet static
address 169.254.19.211
pointtopoint 169.254.19.63

############# assign camera to eth0  #############
post-up route add 169.254.19.63 eth0
post-up route add default gw 192.168.11.1 eth1

/etc/udev/rules.d/70-persistent-net.rules (atualizado em 26 de janeiro)

# PCI device 0x8086:0x1533 (igb)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:01:05:19:7d:59",    ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"


# PCI device 0x8086:0x153a (e1000e)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:01:05:19:7d:58", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

EDITAR

uname -a
Linux fireimager 3.13.0-44-generic #73-Ubuntu SMP Tue Dec 16 00:22:43 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

sudo lspci -v | awk '/Eth/' rs=
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I217-LM (rev 04)
02:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)

iptables

~$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere             ctstate     RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:4960
ACCEPT     tcp  --  anywhere             anywhere             tcp dpts:4955:4956
ACCEPT     udp  --  anywhere             anywhere             udp dpt:4958
ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain
ACCEPT     icmp --  anywhere             anywhere             icmp fragmentation-needed
ACCEPT     icmp --  anywhere             anywhere             limit: avg 10/sec burst 5
DROP       all  --  anywhere             anywhere            

Chain FORWARD (policy DROP)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain LOGNDROP (0 references)
target     prot opt source               destination         
LOG        tcp  --  anywhere             anywhere             limit: avg 5/min  burst 5 LOG level debug prefix "Denied TCP: "
LOG        udp  --  anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "Denied UDP: "
LOG        icmp --  anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "Denied ICMP: "
DROP       all  --  anywhere             anywhere            

EDIT - é o eth0 com o driver igb que está se comportando mal.

~ $ sudo lspci -v | awk '/ Eth /' RS =

00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I218-LM (rev 04)
    Subsystem: Intel Corporation Device 0000
    Flags: bus master, fast devsel, latency 0, IRQ 44
    Memory at f7c00000 (32-bit, non-prefetchable) [size=128K]
    Memory at f7c3d000 (32-bit, non-prefetchable) [size=4K]
    I/O ports at f080 [size=32]
    Capabilities: [c8] Power Management version 2
    Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
    Capabilities: [e0] PCI Advanced Features
    Kernel driver in use: e1000e
02:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
    Subsystem: Intel Corporation Device 0000
    Flags: bus master, fast devsel, latency 0, IRQ 19
    Memory at f7b00000 (32-bit, non-prefetchable) [size=128K]
    I/O ports at e000 [size=32]
    Memory at f7b20000 (32-bit, non-prefetchable) [size=16K]
    Capabilities: [40] Power Management version 3
    Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
    Capabilities: [70] MSI-X: Enable+ Count=5 Masked-
    Capabilities: [a0] Express Endpoint, MSI 00
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [140] Device Serial Number 00-01-05-ff-ff-19-7d-59
    Capabilities: [1a0] Transaction Processing Hints
    Kernel driver in use: igb

~ $ ifconfig | awk '/ eth /' RS =

eth0      Link encap:Ethernet  HWaddr 00:01:05:19:7d:59  
          inet addr:192.168.11.219  Bcast:192.168.11.255  Mask:255.255.255.0
          inet6 addr: fe80::201:5ff:fe19:7d59/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:73 errors:0 dropped:0 overruns:0 frame:0
          TX packets:57 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:15740 (15.7 KB)  TX bytes:7496 (7.4 KB)
          Memory:f7b00000-f7b20000 
eth1      Link encap:Ethernet  HWaddr 00:01:05:19:7d:58  
          inet addr:169.254.19.211  Bcast:169.254.255.255  Mask:255.255.0.0
          inet6 addr: fe80::201:5ff:fe19:7d58/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:6505 (6.5 KB)
          Interrupt:20 Memory:f7c00000-f7c20000 
    
por Nate Lockwood 22.01.2015 / 19:03

1 resposta

0

Em busca de comentários, parede de texto, desculpe =)

Teve outra olhada em seu ifconfig, e veja eth1 ou seu nic com mac terminando em 58 não está recebendo nenhum pacote. Eu li que ifconfig será estatísticas de nível de interface, antes do firewall. Qualquer razão em particular para usar a opção pointtopoint in interfaces config? Tente removê-lo e use a máscara de rede 255.255.255.0 ou 255.255.0.0. Se isso também falhar. Eu diria com o kernel do rc que não é um problema de driver. E eu voltaria a suspeitar de hardware defeituoso, cabo. Para o cabo, você está usando um "cabo crossover Ethernet" para a conexão direta? pode ser que apenas uma de suas nics seja capaz de detectar e alternar rx \ tx automaticamente. Não deve ter nada a dizer, mas você também pode tentar limpar seu firewall; sudo iptables -F

Velho, tente o seguinte;

Faça o download e instale:

Kernel headers part1

Kernel headers part2

Imagem do kernel

Use sudo dpkg -i filename.deb para instalar.

    
por Anders F. U. Kiær 26.01.2015 / 18:42