LINUX.ORG.RU

Два eth на один порт.


0

2

Имеется плата GENE5315 с Realtek RTL8139DL, 10/100Base-TX, RJ-45 x 2, то есть мы имеем два физических порта RJ-45. Ubuntu server видит эти два интерфейса и определяет их как eth1 и eth2. В файле /etc/network/interfaces были прописаны адреса для каждого интерфейса, статические. Оба порта подключаются к концентратору. Оба порта моргают и пингуются. Проблема в следующем, при отключении первого кабеля от порта RJ-45 оба интерфейса продолжают пинговаться, и по обеим адресам можно подключить ssh. Подключаем первый кабель на место и отключаем второй. Оба адреса перестают пинговаться и подлкючить ssh не представляется возможным. почему система ассоциирует eth1 и eth2 с одним физическим портом, и как это можно исправить?


Ответ на: комментарий от adriano32

ifconfig -a

eth1 Link encap:Ethernet HWaddr 00:07:32:11:e9:a2
inet addr:192.168.150.166 Bcast:192.168.150.255 Mask:255.255.255.0
inet6 addr: fe80::207:32ff:fe11:e9a2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:23698 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2874747 (2.8 MB) TX bytes:468 (468.0 B)
Interrupt:10 Base address:0x2000

eth2 Link encap:Ethernet HWaddr 00:07:32:11:e9:a1
inet addr:192.168.150.168 Bcast:192.168.150.255 Mask:255.255.255.0
inet6 addr: fe80::207:32ff:fe11:e9a1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:23779 errors:0 dropped:0 overruns:0 frame:0
TX packets:91 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2885882 (2.8 MB) TX bytes:13309 (13.3 KB)
Interrupt:11 Base address:0x6000

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:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

sit0 Link encap:IPv6-in-IPv4
NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)


route -n

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.150.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
192.168.150.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 192.168.150.1 0.0.0.0 UG 100 0 0 eth1
0.0.0.0 192.168.150.1 0.0.0.0 UG 100 0 0 eth2


/etc/networks/interfaces

iface eth1 inet static
address 192.168.150.166
netmask 255.255.255.0
gateway 192.168.150.1
auto eth1

iface eth2 inet static
address 192.168.150.168
netmask 255.255.255.0
gateway 192.168.150.1
auto eth2

iptables -L


Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination



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

>Оба адреса перестают пинговаться

Посмотри tcpdump-ом, пинги скорей всего до машины доходят, но отвечать она пытается по отключенному интерфейсу, т.к. статический маршрут сохраняется. Можно настроить таблицы маршрутизации, чтобы он всегда отвечал по тому же интерфейсу, с которого пришло. Но что-то мне подсказывает, что тебе хотелось бы поднять bond-интерфейс.

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

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

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

Зачем такой изврат, если они у тебя в одной подсети? Настрой bond, будет работать при отвале любого линка, а в нормальной ситуации будет балансировка.

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

Это они сейчас в одной подсети. А в реальной ситуации они могут находиться как в одной подсети так и в разных. А как настроить bond для случая одной подсети?

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

>А в реальной ситуации они могут находиться как в одной подсети так и в разных.

Если в разных продсетях, то и озвученных проблем не будет.

А как настроить bond для случая одной подсети?


http://tinyurl.com/6bayj2p

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

Благодарю! Настроил bond, работает хорошо.

Чтобы не плодить темы спрошу еще один вопрос тут-же:

даю команду reboot или shutdown now экран гаснет, а система продолжает работать подрубаюсь по ssh и смотрю как чудесно shutdown висит в процессах. в чем может быть причниа не выключаемости системы.

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

Bond работает следующим образом. Если посылать пинги С машины, то можно отключать любой из проводов и пинги не прекращаются.Если посылать пинги НА машину, то при отключении любого из проводов, пинги останавливаются секунд на 5-7, затем возобновляются. Волнует тот факт что почему-то модуль bonding висит не используемый. То есть по команде lsmod получем нолик напротив модуля bonding.

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

Появился еще один вопрос. Необходимо чтобы одна из программ могла посылать и принимать данные по сети, но работать она умеет исключительно с определенным ethernet интерфейсом. То есть указать ей на bond0 не получается. Возможно ли что бы bond0 представлялся как,например, eth5?

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