Am o mașină PetaLinux (Linux încorporat pe un dispozitiv Xilinx Zynq, debian furk, kernel 4.19). Dacă cele două NIC-uri sunt pornite diferit subrețele, apoi pot deconecta o NIC, iar cealaltă va continua să funcționeze. Dar dacă sunt pe la fel subrețea, apoi deconectarea eth0 le va face pe ambele inaccesibile. (Deconectarea eth1 este în regulă.) De asemenea, dacă adresele sunt achiziționate de DHCP, atunci deconectarea mufei pentru eth0 este, de asemenea, în regulă.
Acum, înțeleg că în mod implicit, Linux are o politică slabă pentru alegerea unei NIC prin care să răspundă la orice mesaj, iar asta este ceva cu care m-am ocupat acum câțiva ani, în alt articol.
Din păcate, această soluție nu pare să funcționeze la versiunea de Linux pe care o avem aici. Avem ceva nou de-a face cu nucleele mai recente?
Mulțumesc anticipat.
Actualizați
„ip route” în timp ce ambele cabluri sunt conectate:
implicit prin 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.195
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.196
„ip route” când eth0 este deconectat (caz de eșec):
implicit prin 192.168.1.1 dev eth0 linkdown
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.195 linkdown
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.196
„ruta ip” când eth1 este deconectat (funcționează bine):
implicit prin 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.195
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.196 linkdown
Pentru a reitera, nu putem da ping la 192.168.1.196 când NIC-ul pentru 192.168.1.195 este deconectat.