MBA не може підключитися до точки доступу


1

У мене дивна проблема з моєю MBA (модель 2011) після оновлення до Mavericks. Є певний набір точкових точок, до яких я більше не можу підключитися. Я не впевнений, які саме, але їх декілька. Добре працює на телефоні та планшеті (обидва Android).

У мене таке відчуття, що це має щось спільне з IP-налаштуваннями, які я отримую - хтось бачив подібну поведінку і знайшов рішення?

Зараз я знайшов додаткову інформацію про нього, і, здається, маршрут якимось чином перероблений:

У неробочому з'єднанні моя таблиця маршрутизації:

Shu:~ blitz$ netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
169.254            link#4             UCS             0        0     en0
#somehow, the next line is duplicated
192.168.182        link#4             UC              0        0     en0
192.168.182        link#4             UCSI            2        0     en0
192.168.182.1      20:4e:7f:8b:36:81  UHLWIir         1      208     en0    992
192.168.182.240    127.0.0.1          UHS             0        0     lo0
192.168.182.255    ff:ff:ff:ff:ff:ff  UHLWbI          0        1     en0

На робочому з'єднанні таблиця така:

shu:~ blitz$ netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.1.1        UGSc           33        5     en0
169.254            link#4             UCS             0        0     en0
192.168.1          link#4             UCS             2        0     en0
192.168.1.1        84:7a:88:66:c5:79  UHLWIir        34       66     en0   1170
192.168.1.150      127.0.0.1          UHS             1       25     lo0
192.168.1.255      ff:ff:ff:ff:ff:ff  UHLWbI          0       16     en0

Будь-яка підказка, де потрапив дублюваний рядок і як я можу його позбутися? І по суті, що це взагалі робить?

[EDIT] Деякі налагодження: інформація про BOOTP як надрукована з dhclient

  IME: 2014-02-20 19:38:48.818
  IP: 192.168.182.1 (20:4e:7f:8b:36:81) > 192.168.182.245 (10:40:f3:81:df:32)
  OP: 2 (BOOTPREPLY)
  HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
 XID: c9ab89bc
SECS: 0
FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 192.168.182.245
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 10:40:f3:81:df:32:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION:  53 (  1) DHCP message type         5 (DHCPACK)
OPTION:   1 (  4) Subnet mask               255.255.255.0
OPTION:   3 (  4) Routers                   192.168.182.1
OPTION:   6 (  8) DNS server                192.168.182.1,83.169.184.225
OPTION:  15 ( 19) Domainname                frederix-hotspot.de
OPTION:  51 (  4) IP address leasetime      600 (10m)
OPTION:  26 (  2) Interface MTU             1500
OPTION:  54 (  4) Server identifier         192.168.182.1

Файл оренди порівняно між робочим та непрацюючим - з однаковою точкою доступу:

10c10
<   <date>2014-02-23T16:23:13Z</date>
---
>   <date>2014-02-23T16:17:40Z</date>
13c13
<   AgEGACHWzY0AAAAAAAAAAMCotokAAAAAAAAAABBA84HfMgAAAAAAAAAAAAAAAAAAAAAA
---
>   AgEGAMmrigAAAAAAAAAAAMCotokAAAAAAAAAABBA84HfMgAAAAAAAAAAAAAAAAAAAAAA

Однак ще кілька спостережень, які я зробив: - помилка з'являється лише в дуже специфічних оточеннях. Це відбувається лише після того, як я використовую Mac протягом певного часу, як правило, після робочого дня (час, мабуть, не так , але, можливо, програми, які я використовував для роботи) - Перезавантаження виправляє речі - тому це сильно вказує на те, що моя машина є винуватцем!


Ви кажете, що не можете підключитися, але ви підключаєтесь, якщо отримуєте DHCP-оренду. Ви можете пінг 192.168.182.1? Як виглядає таблиця ARP, коли вона не працює? Як виглядає таблиця маршрутизації безпосередньо перед підключенням, порівняно з після?
miken32

Не могли б ви уточнити? Ви маєте на увазі, що ви використовуєте свій Mac і раптом втрачається підключення до мережі або що ви взагалі не можете підключитися до цих точок доступу? Якщо застосовується перше, чи можете ви запустити dhcpdumpу фоновому режимі та розмістити обмінені пакети, коли ваше з'єднання втрачено? Я поглянув frederix-hotspot.deі, frederix.deздається, це послуга гарячої точки з оплатою за користування. Чи доводилося вам купувати кредит на час, щоб отримати код доступу? Якщо ви цього не зробили, чи може бути, що безкоштовне використання обмежене в часі? Навіть якщо ви заплатили, чи може бути, що існує не лише обмеження часу, але й обмеження на завантаження?
jaume

Чи можете ви опублікувати вміст файлу оренди, який знаходиться, /private/var/db/dhcpclient/leases/коли з'єднання не працює? Оренда слідує цій конвенції про іменування: <interface>,<count>-<MAC address>наприклад en1-1,e0:f8:49:27:4e:22. У вашій редакції я бачу, що час оренди IP-адреси становить 10 хвилин, це порівняно низьке значення, яке змушує ваш Mac часто поновлювати оренду. Може під час оновлення щось піде не так, і ваш Mac перестане використовувати надану йому IP-адресу?
jaume

Дозвольте спробувати уточнити. У цих конкретних місцях мій Mac не матиме ніякого підключення (він має з'єднання) - якщо я не перезавантажуюсь. З першої секунди я приєднуюся до цієї мережі. Я спробую розмістити вихід.
LordT

Відповіді:


1

Хтось бачив подібну поведінку і знайшов рішення?

Ні, ніколи цього не бачив, але я помітив, що маршрут маршруту за замовчуванням відсутній у таблиці маршрутизації непрацюючого з'єднання.

Маршрут за замовчуванням потрібен, щоб пакети для пунктів призначення, які не вказані в таблиці маршрутизації, могли бути правильно маршрутизовані та доставлені.

Ви можете виправити це, додавши такий маршрут:

sudo route add default <IP address of router>

У вашому випадку:

sudo route add default 192.168.182.1

Це лікує симптоми, а не хворобу. Щоб дізнатися, що неправильно завантажуйте dhcpdumpз http://www.mavetju.org/unix/general.php , скомпілюйте його в Terminal:

cd ~/Downloads/
tar xzf dhcpdump-1.8.tar.gz
cd dhcpdump-1.8
make

і запустіть його:

sudo ./dhcpdump -i en0

Ви отримаєте результат, подібний до цього:

  TIME: 2014-02-18 10:04:03.832
    IP: 0.0.0.0 (e0:f8:49:27:4e:22) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
    OP: 1 (BOOTPREQUEST)
 HTYPE: 1 (Ethernet)
(...)
OPTION:  53 (  1) DHCP message type         3 (DHCPREQUEST)
OPTION:  55 (  9) Parameter Request List      
    1 (Subnet mask) 3 (Routers) 6 (DNS server) 15 (Domainname) 
    119 (Domain Search) 95 (LDAP) 252 (MSFT - WinSock Proxy Auto Detect) 
    44 (NetBIOS name server) 46 (NetBIOS node type)

OPTION:  57 (  2) Maximum DHCP message size 1500
OPTION:  61 (  7) Client-identifier         01:e0:f8:49:27:4e:22
OPTION:  50 (  4) Request IP address        10.0.0.31
OPTION:  51 (  4) IP address leasetime      7776000 (12w6d)
OPTION:  12 (  8) Host name                 avallone
---------------------------------------------------------------------------

  TIME: 2014-02-18 10:04:03.934
    IP: 10.0.0.1 (c4:3d:c7:a6:a3:98) > 10.0.0.31 (e0:f8:49:27:4e:22)
    OP: 2 (BOOTPREPLY)
 HTYPE: 1 (Ethernet)
(...)
OPTION:  53 (  1) DHCP message type         5 (DHCPACK)
OPTION:  54 (  4) Server identifier         10.0.0.1
OPTION:  51 (  4) IP address leasetime      86400 (24h)
OPTION:   1 (  4) Subnet mask               255.255.255.0
OPTION:   3 (  4) Routers                   10.0.0.1
OPTION:   6 (  4) DNS server                10.0.0.1

Важливою частиною для нас є варіант 3 в пакеті BOOTREPLY:

OPTION:   3 (  4) Routers                   10.0.0.1

Чи немає у відповіді, яку отримує ваш Mac, чи є інші варіанти, наприклад, статичні маршрути ( варіант 33 ), які можуть заплутати мережевий стек BSD?

(Ви також можете використовувати sudo tcpdump -i en0 -s 1500 -XX port bootps or port bootpcдля аналізу пакетів DHCP, але dhcpdumpпропонує набагато більш читабельний вихід.)

Яке значення RouterIPAddressв, /private/var/db/dhcpclient/leases/<interface>,<count>-<MAC address>коли з'єднання не працює? Як приклад, це мій файл оренди DHCP:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>IPAddress</key>
    <string>10.0.0.31</string>
    <key>LeaseLength</key>
    <integer>86400</integer>
    <key>LeaseStartDate</key>
    <date>2014-02-21T07:04:53Z</date>
    <key>PacketData</key>
    <data>
    (...)
    </data>
    <key>RouterHardwareAddress</key>
    <data>
    (...)
    </data>
    <key>RouterIPAddress</key>
    <string>10.0.0.1</string>
    <key>SSID</key>
    <string>hotspot</string>
</dict>
</plist>

Будь-яка підказка, де потрапив дублюваний рядок і як я можу його позбутися? І по суті, що це взагалі робить?

Схоже, ваш Mac не може належним чином обробити відповідь DHCP від ​​маршрутизатора. Ви можете видалити дублюваний рядок за допомогою:

sudo route delete -ifscope en0 -net 192.168.182 -link 'link#4'

Оскільки дублюються маршрути мають однакове призначення та шлюз, я не думаю, що вони будуть перешкоджати функціонуванню мережі, як ви бачите, використовується лише один з них, той, який Refsперевищує 0:

192.168.182        link#4             UC              0        0     en0
192.168.182        link#4             UCSI            2        0     en0

Це правда, не усвідомлював цього, але ця проблема не допоможе мені, якщо я отримаю DUP, чи не так? У будь-якому випадку я спробую це
LordT

Я не впевнений, що думати про дублюваний запис, обидва маршрути вказують на один інтерфейс, я не думаю, що це має бути проблемою. У будь-якому випадку ви можете видалити його за допомогою sudo route delete -ifscope en0 -net 192.168.182 -link 'link#4'.
jaume

чудове пояснення - але помилка криється десь в іншому місці. відповідь на завантаження чиста і виглядає нормально - і, як я вже сказав, вона працює після перезавантаження - так, здається, це щось інше!
LordT

Ви спробували вирішити, sudo route add default 192.168.182.1як пояснено у моїй відповіді?
jaume

Так, нічого сумного не змінилося :(
LordT

0

Тимчасове - просте для користувачів - виправлення полягає в тому, щоб перейти до мережевих налаштувань і створити нове місце та ввімкнути це. Наче за магією таблиця маршрутизації отримує шану.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.