LINUX.ORG.RU
ФорумAdmin

Пропадает wifi при отключении LAN

 ,


0

1

Приветствую. Есть железка на centos5.10 с двумя интерфейсами eth0 статика 192.168.55.55 wlan0 dhcp 192.168.55.54 (резервируется роутером)

все это дело подключено кабелем к роутеру. Когда кабель подключен, комп подключен кабелем, пинг идет на оба адреса, но при отключении кабеля пинг пропадает на обоих интерфейсах. networkManeger'а и прочего лишнего не установлено, сеть настроена через network, wifi поднимается скриптом через iwconfig

Куда копать?



Последнее исправление: goscotch (всего исправлений: 1)

Адреса из одной подсети? А что тогда с маршрутами?

То, что пинг идёт на оба адреса, не всегда означает, что пакеты ходят по разным интерфейсам, допустим, линукс по умолчанию отвечает на всех интерфейсах на arp-запросы любого его ip-адреса.

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

адреса из одной сети. если выдернуть wifi свисток(usb), то пинг по адресу 192.168.55.54 не идет.

netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface

192.168.55.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.55.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.55.15 0.0.0.0 UG 0 0 0 wlan0

goscotch
() автор топика

У тебя маршрут на сеть 192.168.55.0/24 ставится через проводную сеть и при падении линка исчезает. В общем, не надо так делать.

Либо дай им разные подсети, либо сделай из них бридж. Про второй вариант для центоса расписано тут http://antizlo.blogspot.ru/2011/09/bridge-centos-6.html

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

но при отключении кабеля

если выдернуть wifi свисток(usb)

Вобще это разные вещи. При отключении сетевого кабеля интерфейс eth0 остаётся, и маршрут через него тоже должен оставаться. А при отключении usb интерфейс wlan0 должен пропадать и маршрут через него тоже должен пропадать. Да и адрес 192.168.55.54 тоже должен пропасть с выдернутым usb-wifi.

Дать адреса из разных подсетей вам уже посоветовали. Но, если у вас точка доступа выдаёт одинаковый диапазон адресов на wifi и eth интерфейсы, то нужно arp_ignore=1 (параметр в /proc) и police based routing для 192.168.55.54 (ip rule, ip route ... table).

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

я понимаю, что пропадание линка и извлечение интерфейса это разные вещи.

Диапазон адресов wifi и eth один.

то нужно arp_ignore=1 (параметр в /proc) и police based routing для 192.168.55.54 (ip rule, ip route ... table).

Можно по подробнее, и поэтапно? Я не силен в иксах((

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

Я не силен в иксах((

Каких иксах? Это касается работы IP в сетях ethernet (ARP-протокол), вот конкретные команды, Задать системе чужой IP-адрес (комментарий) , вместо ifname там нужно подставлять eth0 и wlan0. В поиске ЛОРа можно ещё поискать про arp_ignore.

Вот что касается маршрутизации: два интерфейса в одной подсети . Как «скрестить» dhcp и ″ip rule″ это отдельный вопрос, сначала нужно, чтобы заработало так, с вводом команд с командной строки. Там же приводится вариант с включением arp_ignore на всех интерфейсах net.ipv4.conf.all.arp_ignore=1. И ещё там приводятся команды tcpdump, с помощью которых можно смотреть через какой интерфейс ходят пакеты.

Добейтесь, чтобы ″ping 192.168.55.55″ ходил через eth0, а ″ping 192.168.55.54″ через wlan0 (смотреть через tcpdump), а уже потом смотрите, что происходит при выдёргивании кабеля.

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